@progress/kendo-vue-grid 8.1.0-develop.2 → 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
package/cells/GridCell.mjs
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as
|
|
9
|
-
import { getNestedValue as
|
|
10
|
-
import { provideIntlService as
|
|
11
|
-
import { noop as
|
|
12
|
-
import { KEYBOARD_NAV_DATA_ID as
|
|
13
|
-
const I = /* @__PURE__ */
|
|
8
|
+
import { defineComponent as c, createVNode as d, h as g, inject as h } from "vue";
|
|
9
|
+
import { getNestedValue as m, parsers as u } from "../utils/main.mjs";
|
|
10
|
+
import { provideIntlService as $ } from "@progress/kendo-vue-intl";
|
|
11
|
+
import { noop as f, getTemplate as S } from "@progress/kendo-vue-common";
|
|
12
|
+
import { KEYBOARD_NAV_DATA_ID as l, KEYBOARD_NAV_DATA_LEVEL as p } from "@progress/kendo-vue-data-tools";
|
|
13
|
+
const I = /* @__PURE__ */ c({
|
|
14
14
|
name: "GridCell",
|
|
15
15
|
inheritAttrs: !1,
|
|
16
16
|
emits: {
|
|
@@ -52,7 +52,7 @@ const I = /* @__PURE__ */ a({
|
|
|
52
52
|
default: null
|
|
53
53
|
},
|
|
54
54
|
getKeyboardNavigationAttributes: {
|
|
55
|
-
default:
|
|
55
|
+
default: f
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
58
|
methods: {
|
|
@@ -86,45 +86,51 @@ const I = /* @__PURE__ */ a({
|
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
88
|
created() {
|
|
89
|
-
this._intl =
|
|
89
|
+
this._intl = $(this);
|
|
90
90
|
},
|
|
91
91
|
computed: {
|
|
92
92
|
tdClass() {
|
|
93
93
|
const {
|
|
94
94
|
className: e,
|
|
95
95
|
isSelected: t,
|
|
96
|
-
isHighlighted:
|
|
96
|
+
isHighlighted: i
|
|
97
97
|
} = this.$props;
|
|
98
98
|
return {
|
|
99
99
|
"k-table-td": !0,
|
|
100
100
|
"k-selected": t,
|
|
101
|
-
"k-highlighted":
|
|
101
|
+
"k-highlighted": i,
|
|
102
102
|
[e]: e
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
setup() {
|
|
107
107
|
return {
|
|
108
|
-
kendoIntlService:
|
|
108
|
+
kendoIntlService: h("kendoIntlService", {})
|
|
109
109
|
};
|
|
110
110
|
},
|
|
111
111
|
render() {
|
|
112
|
-
var
|
|
112
|
+
var n, o, s;
|
|
113
113
|
let e = null;
|
|
114
114
|
const t = this.getKeyboardNavigationAttributes(this.$props.id);
|
|
115
|
-
|
|
115
|
+
let i = {};
|
|
116
|
+
if (((n = this.$props.rowSpan) == null ? void 0 : n.count) === null)
|
|
116
117
|
return null;
|
|
117
118
|
if (this.$props.rowType === "groupFooter")
|
|
118
|
-
|
|
119
|
-
class: this.tdClass
|
|
120
|
-
|
|
119
|
+
i = {
|
|
120
|
+
class: this.tdClass,
|
|
121
|
+
onKeydown: this.triggerKeydown,
|
|
122
|
+
onClick: this.triggerClick,
|
|
123
|
+
tabindex: t.tabIndex,
|
|
124
|
+
"data-keyboardnavlevel": t[p],
|
|
125
|
+
"data-keyboardnavid": t[l]
|
|
126
|
+
}, e = d("td", i, null);
|
|
121
127
|
else if (this.$props.field !== void 0 && this.$props.rowType !== "groupHeader") {
|
|
122
|
-
const
|
|
123
|
-
let
|
|
124
|
-
|
|
128
|
+
const r = m(this.$props.field, this.$props.dataItem);
|
|
129
|
+
let a = "";
|
|
130
|
+
r != null && (a = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, u[this.$props.type](r, this._intl, this.$props.readFormat)) : this._intl.format(this.$props.format, r) : r.toString()), i = {
|
|
125
131
|
style: this.$attrs.style,
|
|
126
132
|
colspan: this.$props.colSpan,
|
|
127
|
-
rowspan: (
|
|
133
|
+
rowspan: (s = (o = this.$props.rowSpan) == null ? void 0 : o.count) != null ? s : void 0,
|
|
128
134
|
class: this.tdClass,
|
|
129
135
|
onKeydown: this.triggerKeydown,
|
|
130
136
|
onClick: this.triggerClick,
|
|
@@ -133,15 +139,18 @@ const I = /* @__PURE__ */ a({
|
|
|
133
139
|
"aria-selected": this.$props.isSelected,
|
|
134
140
|
"data-grid-col-index": this.$props.columnIndex,
|
|
135
141
|
tabindex: t.tabIndex,
|
|
136
|
-
"data-keyboardnavlevel": t[
|
|
137
|
-
"data-keyboardnavid": t[
|
|
138
|
-
}, [
|
|
142
|
+
"data-keyboardnavlevel": t[p],
|
|
143
|
+
"data-keyboardnavid": t[l]
|
|
144
|
+
}, e = d("td", i, [a]);
|
|
139
145
|
}
|
|
140
|
-
return
|
|
141
|
-
h:
|
|
146
|
+
return S.call(this, {
|
|
147
|
+
h: g,
|
|
142
148
|
template: this.$props.render,
|
|
143
149
|
defaultRendering: e,
|
|
144
|
-
additionalProps:
|
|
150
|
+
additionalProps: {
|
|
151
|
+
...this.$props,
|
|
152
|
+
tdProps: i
|
|
153
|
+
},
|
|
145
154
|
additionalListeners: {
|
|
146
155
|
click: this.triggerClick,
|
|
147
156
|
keydown: this.triggerKeydown,
|
package/cells/GridGroupCell.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ declare const GridGroupCell: import('vue').DefineComponent<import('vue').Extract
|
|
|
21
21
|
columnsCount: PropType<number>;
|
|
22
22
|
rowType: PropType<string>;
|
|
23
23
|
level: PropType<number>;
|
|
24
|
+
locked: PropType<boolean>;
|
|
24
25
|
expanded: PropType<boolean>;
|
|
25
26
|
editor: PropType<string>;
|
|
26
27
|
dataIndex: PropType<number>;
|
|
@@ -33,6 +34,14 @@ declare const GridGroupCell: import('vue').DefineComponent<import('vue').Extract
|
|
|
33
34
|
tdClass(): {
|
|
34
35
|
[x: number]: any;
|
|
35
36
|
'k-table-td': boolean;
|
|
37
|
+
'k-grid-content-sticky': any;
|
|
38
|
+
};
|
|
39
|
+
tdStyle(): any;
|
|
40
|
+
groupTdClass(): {
|
|
41
|
+
[x: number]: any;
|
|
42
|
+
'k-table-td': boolean;
|
|
43
|
+
'k-group-cell': boolean;
|
|
44
|
+
'k-grid-content-sticky': any;
|
|
36
45
|
};
|
|
37
46
|
}, {
|
|
38
47
|
triggerStateChange(): void;
|
|
@@ -53,6 +62,7 @@ declare const GridGroupCell: import('vue').DefineComponent<import('vue').Extract
|
|
|
53
62
|
columnsCount: PropType<number>;
|
|
54
63
|
rowType: PropType<string>;
|
|
55
64
|
level: PropType<number>;
|
|
65
|
+
locked: PropType<boolean>;
|
|
56
66
|
expanded: PropType<boolean>;
|
|
57
67
|
editor: PropType<string>;
|
|
58
68
|
dataIndex: PropType<number>;
|
package/cells/GridGroupCell.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 a=require("vue"),i=require("@progress/kendo-vue-common"),g=require("@progress/kendo-vue-data-tools"),n=require("../messages/main.js"),y=require("@progress/kendo-vue-intl"),h=require("@progress/kendo-svg-icons"),v=a.defineComponent({name:"KendoGridGroupCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,colSpan:Number,className:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,locked:Boolean,expanded:Boolean,editor:String,dataIndex:Number,isSelected:Boolean,isRtl:Boolean,ariaColumnIndex:Number,group:Object,render:[String,Function,Object]},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},computed:{tdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-grid-content-sticky":t,[e]:e}},tdStyle(){const{locked:e}=this.$props,t=e?{position:"sticky",zIndex:2}:{};return{...this.$attrs.style,...t}},groupTdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-group-cell":!0,"k-grid-content-sticky":t,[e]:e}}},methods:{triggerStateChange(){var t;const e=this.kendo;(t=e==null?void 0:e.dispatchGroupExpand)==null||t.call(e,{type:g.GROUP_EXPAND_ACTION.TOGGLE,group:this.$props.group})},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,field:this.$props.field,expanded:this.$props.expanded}),!e.defaultPrevented&&e.keyCode===i.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!t}),this.triggerStateChange())},clickHandler(e,t,l){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!l}),this.triggerStateChange()}},render(){let e=null;const{columnIndex:t,level:l,columnsCount:d,rowType:I,dataItem:o,field:s,expanded:r,render:S,locked:c}=this.$props,p=this.getKeyboardNavigationAttributes(this.$props.id),m=y.provideLocalizationService(this).toLanguageString(n.groupCaretAriaLabelCollapse,n.messages[n.groupCaretAriaLabelCollapse]),k=y.provideLocalizationService(this).toLanguageString(n.groupCaretAriaLabelExpand,n.messages[n.groupCaretAriaLabelExpand]);if(t===void 0||l===void 0||t<l||d===void 0||I!=="groupHeader"||o[s]===void 0)e=a.createVNode("td",{style:this.$attrs.style,key:"g"+t,class:this.groupTdClass},null);else if(t<=l){const f=a.createVNode("td",{style:this.tdStyle,onKeydown:u=>{this.triggerKeydown(u,r)},key:"g-colspan",class:c?"k-table-td":this.tdClass,colspan:c?0:d-t,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":r,"data-grid-col-index":this.$props.columnIndex,tabindex:p.tabIndex,"data-keyboardnavlevel":p[g.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":p[g.KEYBOARD_NAV_DATA_ID]},[a.createVNode("p",{class:"k-reset"},[a.createVNode("a",{onClick:u=>{this.clickHandler(u,o,r)},href:"#",tabindex:-1,title:r?m:k,"aria-label":r?m:k},[a.createVNode(i.Icon,{name:r?"caret-alt-down":this.isRtl?"caret-alt-left":"caret-alt-right",icon:r?h.caretAltDownIcon:this.isRtl?h.caretAltLeftIcon:h.caretAltRightIcon},null)]),o[s]?o[s].toString():""])]),C={className:"k-table-td",role:"gridcell",colSpan:d-t,style:{borderLeftWidth:0,borderRightWidth:0}},b=c?a.createVNode("td",C,null):null;e=b?[f,b]:f}return i.getTemplate.call(this,{h:a.h,template:S,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}});exports.GridGroupCell=v;
|
package/cells/GridGroupCell.mjs
CHANGED
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as
|
|
9
|
-
import { noop as
|
|
10
|
-
import { KEYBOARD_NAV_DATA_ID as
|
|
11
|
-
import { groupCaretAriaLabelCollapse as
|
|
12
|
-
import { provideLocalizationService as
|
|
13
|
-
import { caretAltDownIcon as
|
|
14
|
-
const
|
|
8
|
+
import { defineComponent as S, createVNode as l, h as $ } from "vue";
|
|
9
|
+
import { noop as C, Icon as A, getTemplate as v, Keys as N } from "@progress/kendo-vue-common";
|
|
10
|
+
import { KEYBOARD_NAV_DATA_ID as L, KEYBOARD_NAV_DATA_LEVEL as w, GROUP_EXPAND_ACTION as K } from "@progress/kendo-vue-data-tools";
|
|
11
|
+
import { groupCaretAriaLabelCollapse as m, messages as f, groupCaretAriaLabelExpand as k } from "../messages/main.mjs";
|
|
12
|
+
import { provideLocalizationService as y } from "@progress/kendo-vue-intl";
|
|
13
|
+
import { caretAltDownIcon as R, caretAltRightIcon as D, caretAltLeftIcon as E } from "@progress/kendo-svg-icons";
|
|
14
|
+
const P = /* @__PURE__ */ S({
|
|
15
15
|
name: "KendoGridGroupCell",
|
|
16
16
|
inheritAttrs: !1,
|
|
17
17
|
props: {
|
|
@@ -26,6 +26,7 @@ const _ = /* @__PURE__ */ b({
|
|
|
26
26
|
columnsCount: Number,
|
|
27
27
|
rowType: String,
|
|
28
28
|
level: Number,
|
|
29
|
+
locked: Boolean,
|
|
29
30
|
expanded: Boolean,
|
|
30
31
|
editor: String,
|
|
31
32
|
dataIndex: Number,
|
|
@@ -50,16 +51,42 @@ const _ = /* @__PURE__ */ b({
|
|
|
50
51
|
default: null
|
|
51
52
|
},
|
|
52
53
|
getKeyboardNavigationAttributes: {
|
|
53
|
-
default:
|
|
54
|
+
default: C
|
|
54
55
|
}
|
|
55
56
|
},
|
|
56
57
|
computed: {
|
|
57
58
|
tdClass() {
|
|
58
59
|
const {
|
|
59
|
-
className: e
|
|
60
|
+
className: e,
|
|
61
|
+
locked: t
|
|
60
62
|
} = this.$props;
|
|
61
63
|
return {
|
|
62
64
|
"k-table-td": !0,
|
|
65
|
+
"k-grid-content-sticky": t,
|
|
66
|
+
[e]: e
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
tdStyle() {
|
|
70
|
+
const {
|
|
71
|
+
locked: e
|
|
72
|
+
} = this.$props, t = e ? {
|
|
73
|
+
position: "sticky",
|
|
74
|
+
zIndex: 2
|
|
75
|
+
} : {};
|
|
76
|
+
return {
|
|
77
|
+
...this.$attrs.style,
|
|
78
|
+
...t
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
groupTdClass() {
|
|
82
|
+
const {
|
|
83
|
+
className: e,
|
|
84
|
+
locked: t
|
|
85
|
+
} = this.$props;
|
|
86
|
+
return {
|
|
87
|
+
"k-table-td": !0,
|
|
88
|
+
"k-group-cell": !0,
|
|
89
|
+
"k-grid-content-sticky": t,
|
|
63
90
|
[e]: e
|
|
64
91
|
};
|
|
65
92
|
}
|
|
@@ -69,7 +96,7 @@ const _ = /* @__PURE__ */ b({
|
|
|
69
96
|
var t;
|
|
70
97
|
const e = this.kendo;
|
|
71
98
|
(t = e == null ? void 0 : e.dispatchGroupExpand) == null || t.call(e, {
|
|
72
|
-
type:
|
|
99
|
+
type: K.TOGGLE,
|
|
73
100
|
group: this.$props.group
|
|
74
101
|
});
|
|
75
102
|
},
|
|
@@ -80,7 +107,7 @@ const _ = /* @__PURE__ */ b({
|
|
|
80
107
|
dataIndex: this.$props.dataIndex,
|
|
81
108
|
field: this.$props.field,
|
|
82
109
|
expanded: this.$props.expanded
|
|
83
|
-
}), !e.defaultPrevented && e.keyCode ===
|
|
110
|
+
}), !e.defaultPrevented && e.keyCode === N.enter && (e.preventDefault(), this.$emit("change", {
|
|
84
111
|
dataItem: this.$props.dataItem,
|
|
85
112
|
dataIndex: this.$props.dataIndex,
|
|
86
113
|
event: e,
|
|
@@ -105,48 +132,63 @@ const _ = /* @__PURE__ */ b({
|
|
|
105
132
|
const {
|
|
106
133
|
columnIndex: t,
|
|
107
134
|
level: r,
|
|
108
|
-
columnsCount:
|
|
109
|
-
rowType:
|
|
110
|
-
dataItem:
|
|
111
|
-
field:
|
|
135
|
+
columnsCount: i,
|
|
136
|
+
rowType: b,
|
|
137
|
+
dataItem: n,
|
|
138
|
+
field: o,
|
|
112
139
|
expanded: a,
|
|
113
|
-
render: I
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
140
|
+
render: I,
|
|
141
|
+
locked: d
|
|
142
|
+
} = this.$props, s = this.getKeyboardNavigationAttributes(this.$props.id), c = y(this).toLanguageString(m, f[m]), u = y(this).toLanguageString(k, f[k]);
|
|
143
|
+
if (t === void 0 || r === void 0 || t < r || i === void 0 || b !== "groupHeader" || n[o] === void 0)
|
|
144
|
+
e = l("td", {
|
|
145
|
+
style: this.$attrs.style,
|
|
146
|
+
key: "g" + t,
|
|
147
|
+
class: this.groupTdClass
|
|
148
|
+
}, null);
|
|
149
|
+
else if (t <= r) {
|
|
150
|
+
const g = l("td", {
|
|
151
|
+
style: this.tdStyle,
|
|
152
|
+
onKeydown: (p) => {
|
|
153
|
+
this.triggerKeydown(p, a);
|
|
154
|
+
},
|
|
155
|
+
key: "g-colspan",
|
|
156
|
+
class: d ? "k-table-td" : this.tdClass,
|
|
157
|
+
colspan: d ? 0 : i - t,
|
|
158
|
+
role: "gridcell",
|
|
159
|
+
"aria-colindex": this.$props.ariaColumnIndex,
|
|
160
|
+
"aria-selected": this.$props.isSelected,
|
|
161
|
+
"aria-expanded": a,
|
|
162
|
+
"data-grid-col-index": this.$props.columnIndex,
|
|
163
|
+
tabindex: s.tabIndex,
|
|
164
|
+
"data-keyboardnavlevel": s[w],
|
|
165
|
+
"data-keyboardnavid": s[L]
|
|
166
|
+
}, [l("p", {
|
|
167
|
+
class: "k-reset"
|
|
168
|
+
}, [l("a", {
|
|
169
|
+
onClick: (p) => {
|
|
170
|
+
this.clickHandler(p, n, a);
|
|
171
|
+
},
|
|
172
|
+
href: "#",
|
|
173
|
+
tabindex: -1,
|
|
174
|
+
title: a ? c : u,
|
|
175
|
+
"aria-label": a ? c : u
|
|
176
|
+
}, [l(A, {
|
|
177
|
+
name: a ? "caret-alt-down" : this.isRtl ? "caret-alt-left" : "caret-alt-right",
|
|
178
|
+
icon: a ? R : this.isRtl ? E : D
|
|
179
|
+
}, null)]), n[o] ? n[o].toString() : ""])]), x = {
|
|
180
|
+
className: "k-table-td",
|
|
181
|
+
role: "gridcell",
|
|
182
|
+
colSpan: i - t,
|
|
183
|
+
style: {
|
|
184
|
+
borderLeftWidth: 0,
|
|
185
|
+
borderRightWidth: 0
|
|
186
|
+
}
|
|
187
|
+
}, h = d ? l("td", x, null) : null;
|
|
188
|
+
e = h ? [g, h] : g;
|
|
189
|
+
}
|
|
190
|
+
return v.call(this, {
|
|
191
|
+
h: $,
|
|
150
192
|
template: I,
|
|
151
193
|
defaultRendering: e,
|
|
152
194
|
additionalProps: this.$props,
|
|
@@ -158,5 +200,5 @@ const _ = /* @__PURE__ */ b({
|
|
|
158
200
|
}
|
|
159
201
|
});
|
|
160
202
|
export {
|
|
161
|
-
|
|
203
|
+
P as GridGroupCell
|
|
162
204
|
};
|
|
@@ -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 i=require("vue"),f=require("@progress/kendo-vue-buttons"),S=require("./GridColumnMenuItem.js"),v=require("./GridColumnMenuItemGroup.js"),b=require("./GridColumnMenuItemContent.js"),m=require("@progress/kendo-vue-inputs"),N=require("@progress/kendo-vue-intl"),s=require("../messages/main.js"),B=require("@progress/kendo-data-query"),d=require("@progress/kendo-vue-common"),g=require("../utils/main.js"),x=require("@progress/kendo-svg-icons");function F(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const q=(e,t)=>e.length!==t.length?!1:e.every((l,r)=>l===t[r]),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),f=require("@progress/kendo-vue-buttons"),S=require("./GridColumnMenuItem.js"),v=require("./GridColumnMenuItemGroup.js"),b=require("./GridColumnMenuItemContent.js"),m=require("@progress/kendo-vue-inputs"),N=require("@progress/kendo-vue-intl"),s=require("../messages/main.js"),B=require("@progress/kendo-data-query"),d=require("@progress/kendo-vue-common"),g=require("../utils/main.js"),x=require("@progress/kendo-svg-icons");function F(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const q=(e,t)=>e.length!==t.length?!1:e.every((l,r)=>l===t[r]),R={name:"KendoGridColumnMenuCheckboxFilter",props:{column:Object,filter:Object,filterable:Boolean,filterOperators:Object,checkAllItem:[String,Object,Function],item:[String,Object,Function],expanded:{type:Boolean,default:void 0},dataItems:Array,searchBox:{type:Boolean,default:!0},uniqueData:{type:Boolean,default:!0}},data(){return{currentExpanded:!1,currentValue:"",dataRef:void 0,dataFromProps:void 0,currentFilter:void 0}},created(){this.compositeFilterIndex=this.getFilterIndex(),this.currentExpanded=this.$props.expanded,this.dataRef=this.parseData(this.$props.dataItems,this.$props.uniqueData)||[],this.dataFromProps=this.parseData(this.$props.dataItems,!1)||[],this.currentFilter=this.defaultFilter()},updated(){const e=this.$props.column.field||"",t=this.$props.dataItems.map(l=>g.getNestedValue(e,l));q(t,this.dataFromProps)||(this.dataRef=t,this.dataFromProps=t)},inject:{kendoLocalizationService:{default:null}},setup(){return{kendoLocalizationService:i.inject("kendoLocalizationService",{})}},render(){let e,t;const{column:l}=this.$props;if(!l||!l.field)return i.createVNode("div",null,null);const r=N.provideLocalizationService(this),a=this.$props.expanded!==void 0?this.$props.expanded:this.currentExpanded,o=[];if(this.currentFilter){const n=[...this.currentFilter.filters];this.compositeFilterIndex=n.findIndex(c=>c.filters&&c.filters.length>0?c.filters[0].field===l.field:!1),this.compositeFilterIndex!==-1&&n[this.compositeFilterIndex].filters.length>0&&n[this.compositeFilterIndex].filters.forEach(c=>{c.field===this.$props.column.field&&o.push(c.value)})}const u=function(){return this.$props.searchBox&&i.createVNode("span",{class:"k-list-filter"},[i.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[i.createVNode(d.Icon,{name:"search",icon:x.searchIcon,class:"k-input-icon"},null),i.createVNode("input",{ref:"searchBox",placeholder:r.toLanguageString(s.searchPlaceholder,s.messages[s.searchPlaceholder]),class:"k-input-inner",value:this.currentValue,onInput:this.handleSearchChange},null)])])},h=o.filter((n,c)=>o.indexOf(n)===c),k=d.templateRendering.call(this,this.$props.item,d.getListeners.call(this)),I=d.templateRendering.call(this,this.$props.checkAllItem,d.getListeners.call(this)),C=i.createVNode("li",{class:"k-item"},[i.createVNode(m.Checkbox,{label:r.toLanguageString(s.filterCheckAll,s.messages[s.filterCheckAll]),onChange:n=>this.handleCheckBoxChange(n,"all"),checked:this.isAllSelected()},null)]),V=d.getTemplate.call(this,{h:i.h,template:I,defaultRendering:C,additionalProps:{checked:this.isAllSelected()},additionalListeners:{change:n=>this.handleCheckBoxChange(n,"all")}});return i.createVNode(v.GridColumnMenuItemGroup,null,{default:()=>[i.createVNode(S.GridColumnMenuItem,{title:r.toLanguageString(s.filterTitle,s.messages[s.filterTitle]),icon:"filter",svgIcon:x.filterIcon,onMenuitemclick:this.onFilterExpand},null),i.createVNode(b.GridColumnMenuItemContent,{show:!!a},{default:()=>[i.createVNode("div",{class:"kendo-grid-filter-menu-container"},[i.createVNode("form",{class:"k-filter-menu k-border-up",onSubmit:this.submit,onReset:this.clear},[i.createVNode("div",{class:"k-filter-menu-container"},[u.call(this),i.createVNode("ul",{class:"k-reset k-multicheck-wrap"},[V,this.dataRef.map(function(n,c){const $=i.createVNode("li",{class:"k-item",key:c},[i.createVNode(m.Checkbox,{label:String(n),onChange:p=>this.handleCheckBoxChange(p,n),checked:h.includes(n)},null)]);return d.getTemplate.call(this,{h:i.h,template:k,defaultRendering:$,additionalProps:{item:n,index:c,checked:h.includes(n)},additionalListeners:{change:p=>this.handleCheckBoxChange(p,n)}})},this)]),i.createVNode("div",{class:"k-columnmenu-actions"},[i.createVNode(f.Button,{themeColor:"primary"},F(e=r.toLanguageString(s.filterSubmitButton,s.messages[s.filterSubmitButton]))?e:{default:()=>[e]}),i.createVNode(f.Button,{type:"reset"},F(t=r.toLanguageString(s.filterClearButton,s.messages[s.filterClearButton]))?t:{default:()=>[t]})])])])])]})]})},methods:{defaultFilter(){return this.$props.filter?d.clone(this.$props.filter):{filters:[],logic:"and"}},parseData(e,t){const l=this.$props.column.field||"",r=e.map(a=>g.getNestedValue(l,a));return t?r.filter((a,o)=>r.indexOf(a)===o):r},getFilterIndex(){const e=this.$props.column.field;return this.defaultFilter().filters.findIndex(r=>r.filters&&r.filters.length>0&&r.filters[0].field===e)},onFilterExpand(){const e=this.$props.expanded!==void 0,t=!(e?this.$props.expanded:this.currentExpanded);this.$emit("expandchange",t),e||(this.currentExpanded=t)},handleSearchChange(e){const t={logic:"and",filters:[{field:this.$props.column.field,operator:"startswith",value:e.target.value,ignoreCase:!0}]};this.currentValue=e.target.value,this.dataRef=this.parseData(B.filterBy(this.$props.dataItems||[],t),this.$props.uniqueData)},clear(e){e.preventDefault();const t=this.currentFilter||null;t!==null&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.$emit("filterchange",t,e)):this.$emit("filterchange",null,e),this.$emit("closemenu")},submit(e){e.preventDefault();const t=this.currentFilter||null;this.$emit("filterchange",t,e),this.$emit("closemenu")},handleCheckBoxChange(e,t){const l=this.$props.column.field||"",r={...this.currentFilter},a=[...this.currentFilter.filters];let o=[];if(this.compositeFilterIndex!==-1&&r.filters[this.compositeFilterIndex].filters&&t!=="all"&&(o=r.filters[this.compositeFilterIndex].filters),e.value&&t==="all")this.dataRef.forEach(u=>{o.push({field:l,operator:"eq",value:u})});else if(e.value)o.push({field:l,operator:"eq",value:t});else if(this.currentFilter){const u=o.findIndex(h=>h.value===t);o.splice(u,1)}r.logic="and",this.compositeFilterIndex!==-1?a[this.compositeFilterIndex]={logic:"or",filters:o}:a.push({logic:"or",filters:o}),(!e.value&&t==="all"||o.length===0)&&a.splice(this.compositeFilterIndex,1),r.filters=a,this.currentFilter=r},isAllSelected(){let e=!1;if(this.currentFilter){const t=[...this.currentFilter.filters];return this.compositeFilterIndex===-1?!1:(e=this.dataRef.every(l=>this.compositeFilterIndex!==-1&&t[this.compositeFilterIndex].filters?t[this.compositeFilterIndex].filters.findIndex(a=>a.value===l)>=0:!1),e)}return e}}};exports.GridColumnMenuCheckboxFilter=R;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { createVNode as r, h as p, inject as j, isVNode as A } from "vue";
|
|
9
9
|
import { Button as f } from "@progress/kendo-vue-buttons";
|
|
10
10
|
import { GridColumnMenuItem as O } from "./GridColumnMenuItem.mjs";
|
|
11
|
-
import { GridColumnMenuItemGroup as
|
|
11
|
+
import { GridColumnMenuItemGroup as D } from "./GridColumnMenuItemGroup.mjs";
|
|
12
12
|
import { GridColumnMenuItemContent as V } from "./GridColumnMenuItemContent.mjs";
|
|
13
13
|
import { Checkbox as m } from "@progress/kendo-vue-inputs";
|
|
14
14
|
import { provideLocalizationService as q } from "@progress/kendo-vue-intl";
|
|
@@ -47,17 +47,17 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
|
|
|
47
47
|
return {
|
|
48
48
|
currentExpanded: !1,
|
|
49
49
|
currentValue: "",
|
|
50
|
-
|
|
50
|
+
dataRef: void 0,
|
|
51
51
|
dataFromProps: void 0,
|
|
52
52
|
currentFilter: void 0
|
|
53
53
|
};
|
|
54
54
|
},
|
|
55
55
|
created() {
|
|
56
|
-
this.compositeFilterIndex = this.getFilterIndex(), this.currentExpanded = this.$props.expanded, this.
|
|
56
|
+
this.compositeFilterIndex = this.getFilterIndex(), this.currentExpanded = this.$props.expanded, this.dataRef = this.parseData(this.$props.dataItems, this.$props.uniqueData) || [], this.dataFromProps = this.parseData(this.$props.dataItems, !1) || [], this.currentFilter = this.defaultFilter();
|
|
57
57
|
},
|
|
58
58
|
updated() {
|
|
59
59
|
const e = this.$props.column.field || "", t = this.$props.dataItems.map((n) => S(e, n));
|
|
60
|
-
T(t, this.dataFromProps) || (this.
|
|
60
|
+
T(t, this.dataFromProps) || (this.dataRef = t, this.dataFromProps = t);
|
|
61
61
|
},
|
|
62
62
|
inject: {
|
|
63
63
|
kendoLocalizationService: {
|
|
@@ -99,7 +99,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
|
|
|
99
99
|
value: this.currentValue,
|
|
100
100
|
onInput: this.handleSearchChange
|
|
101
101
|
}, null)])]);
|
|
102
|
-
}, u = s.filter((l, a) => s.indexOf(l) === a), B = C.call(this, this.$props.item, $.call(this)),
|
|
102
|
+
}, u = s.filter((l, a) => s.indexOf(l) === a), B = C.call(this, this.$props.item, $.call(this)), R = C.call(this, this.$props.checkAllItem, $.call(this)), L = r("li", {
|
|
103
103
|
class: "k-item"
|
|
104
104
|
}, [r(m, {
|
|
105
105
|
label: i.toLanguageString(g, d[g]),
|
|
@@ -107,7 +107,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
|
|
|
107
107
|
checked: this.isAllSelected()
|
|
108
108
|
}, null)]), y = v.call(this, {
|
|
109
109
|
h: p,
|
|
110
|
-
template:
|
|
110
|
+
template: R,
|
|
111
111
|
defaultRendering: L,
|
|
112
112
|
additionalProps: {
|
|
113
113
|
checked: this.isAllSelected()
|
|
@@ -116,7 +116,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
|
|
|
116
116
|
change: (l) => this.handleCheckBoxChange(l, "all")
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
|
-
return r(
|
|
119
|
+
return r(D, null, {
|
|
120
120
|
default: () => [r(O, {
|
|
121
121
|
title: i.toLanguageString(x, d[x]),
|
|
122
122
|
icon: "filter",
|
|
@@ -135,7 +135,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
|
|
|
135
135
|
class: "k-filter-menu-container"
|
|
136
136
|
}, [c.call(this), r("ul", {
|
|
137
137
|
class: "k-reset k-multicheck-wrap"
|
|
138
|
-
}, [y, this.
|
|
138
|
+
}, [y, this.dataRef.map(function(l, a) {
|
|
139
139
|
const E = r("li", {
|
|
140
140
|
class: "k-item",
|
|
141
141
|
key: a
|
|
@@ -200,7 +200,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
|
|
|
200
200
|
ignoreCase: !0
|
|
201
201
|
}]
|
|
202
202
|
};
|
|
203
|
-
this.currentValue = e.target.value, this.
|
|
203
|
+
this.currentValue = e.target.value, this.dataRef = this.parseData(P(this.$props.dataItems || [], t), this.$props.uniqueData);
|
|
204
204
|
},
|
|
205
205
|
clear(e) {
|
|
206
206
|
e.preventDefault();
|
|
@@ -218,7 +218,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
|
|
|
218
218
|
}, o = [...this.currentFilter.filters];
|
|
219
219
|
let s = [];
|
|
220
220
|
if (this.compositeFilterIndex !== -1 && i.filters[this.compositeFilterIndex].filters && t !== "all" && (s = i.filters[this.compositeFilterIndex].filters), e.value && t === "all")
|
|
221
|
-
this.
|
|
221
|
+
this.dataRef.forEach((c) => {
|
|
222
222
|
s.push({
|
|
223
223
|
field: n,
|
|
224
224
|
operator: "eq",
|
|
@@ -247,7 +247,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
|
|
|
247
247
|
let e = !1;
|
|
248
248
|
if (this.currentFilter) {
|
|
249
249
|
const t = [...this.currentFilter.filters];
|
|
250
|
-
return this.compositeFilterIndex === -1 ? !1 : (e = this.
|
|
250
|
+
return this.compositeFilterIndex === -1 ? !1 : (e = this.dataRef.every((n) => this.compositeFilterIndex !== -1 && t[this.compositeFilterIndex].filters ? t[this.compositeFilterIndex].filters.findIndex((o) => o.value === n) >= 0 : !1), e);
|
|
251
251
|
}
|
|
252
252
|
return e;
|
|
253
253
|
}
|
package/common.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ declare const gridProps: {
|
|
|
32
32
|
type: PropType<import('.').GridColumnState[]>;
|
|
33
33
|
default: () => any;
|
|
34
34
|
};
|
|
35
|
+
cells: PropType<import('.').GridCellsSettings>;
|
|
35
36
|
defaultColumnsState: {
|
|
36
37
|
type: PropType<import('.').GridColumnState[]>;
|
|
37
38
|
default: () => any;
|
|
@@ -50,6 +51,7 @@ declare const gridProps: {
|
|
|
50
51
|
default: any;
|
|
51
52
|
};
|
|
52
53
|
loader: PropType<string | Object | Function>;
|
|
54
|
+
lockGroups: PropType<boolean>;
|
|
53
55
|
defaultFilter: PropType<import('@progress/kendo-data-query').CompositeFilterDescriptor>;
|
|
54
56
|
filter: PropType<import('@progress/kendo-data-query').CompositeFilterDescriptor>;
|
|
55
57
|
defaultSearch: PropType<import('@progress/kendo-data-query').CompositeFilterDescriptor>;
|
package/common.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"});require("vue");const t=require("@progress/kendo-vue-common"),n={id:String,autoProcessData:[Boolean,Object],topCacheCount:{type:Number,default:0},collapsedGroups:{type:Array,default:function(){return[]}},uniqueField:String,totalGroupedHeight:Number,allGroupedItems:Object,alternatePerGroup:Boolean,columns:Array,columnsState:{type:Array,default:function(){}},defaultColumnsState:{type:Array,default:function(){}},columnVirtualization:Boolean,dataItems:[Array,Object],sortable:[Boolean,Object],defaultSort:Array,sort:Array,filterable:Boolean,filterOperators:Object,filterCellRender:[String,Function,Object],headerCellRender:[String,Function,Object],showLoader:{type:Boolean,default:void 0},loader:[String,Function,Object],defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,fixedScroll:Boolean,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],rowSpannable:[Boolean,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,select:Object,defaultSelect:Object,selectable:[Boolean,Object],scrollable:{type:String,default:"scrollable"},size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}},pager:[String,Function,Object],rowHeight:Number,detailRowHeight:Number,detail:[String,Function,Object],columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:t.SvgIcon,dataItemKey:String,navigatable:{type:Boolean,default:!1},onItemchange:Function,onExpandchange:Function,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function,onGroupchange:Function,onSearchchange:Function,onGroupexpandchange:Function,onDetailexpandchange:Function};exports.gridProps=n;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("vue");const t=require("@progress/kendo-vue-common"),n={id:String,autoProcessData:[Boolean,Object],topCacheCount:{type:Number,default:0},collapsedGroups:{type:Array,default:function(){return[]}},uniqueField:String,totalGroupedHeight:Number,allGroupedItems:Object,alternatePerGroup:Boolean,columns:Array,columnsState:{type:Array,default:function(){}},cells:Object,defaultColumnsState:{type:Array,default:function(){}},columnVirtualization:Boolean,dataItems:[Array,Object],sortable:[Boolean,Object],defaultSort:Array,sort:Array,filterable:Boolean,filterOperators:Object,filterCellRender:[String,Function,Object],headerCellRender:[String,Function,Object],showLoader:{type:Boolean,default:void 0},loader:[String,Function,Object],lockGroups:Boolean,defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,fixedScroll:Boolean,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],rowSpannable:[Boolean,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,select:Object,defaultSelect:Object,selectable:[Boolean,Object],scrollable:{type:String,default:"scrollable"},size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}},pager:[String,Function,Object],rowHeight:Number,detailRowHeight:Number,detail:[String,Function,Object],columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:t.SvgIcon,dataItemKey:String,navigatable:{type:Boolean,default:!1},onItemchange:Function,onExpandchange:Function,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function,onGroupchange:Function,onSearchchange:Function,onGroupexpandchange:Function,onDetailexpandchange:Function};exports.gridProps=n;
|
package/common.mjs
CHANGED
|
@@ -30,6 +30,7 @@ const o = {
|
|
|
30
30
|
default: function() {
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
|
+
cells: Object,
|
|
33
34
|
defaultColumnsState: {
|
|
34
35
|
type: Array,
|
|
35
36
|
default: function() {
|
|
@@ -49,6 +50,7 @@ const o = {
|
|
|
49
50
|
default: void 0
|
|
50
51
|
},
|
|
51
52
|
loader: [String, Function, Object],
|
|
53
|
+
lockGroups: Boolean,
|
|
52
54
|
defaultFilter: Object,
|
|
53
55
|
filter: Object,
|
|
54
56
|
defaultSearch: Object,
|