@progress/kendo-vue-grid 3.0.2 → 3.0.4-dev.202202011210
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-vue-grid.js +1 -1
- package/dist/es/Grid.js +26 -7
- package/dist/es/VirtualScroll.d.ts +2 -0
- package/dist/es/VirtualScroll.js +14 -2
- package/dist/es/cells/GridCell.js +1 -1
- package/dist/es/cells/GridFilterCell.js +3 -1
- package/dist/es/columnMenu/ColumnMenuContent.js +2 -1
- package/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js +3 -3
- package/dist/es/columnMenu/GridColumnMenuFilterCell.js +2 -1
- package/dist/es/columnMenu/GridColumnMenuFilterUI.js +3 -1
- package/dist/es/interfaces/GridCellProps.d.ts +6 -6
- package/dist/es/interfaces/GridColumnMenuExtendedFilterProps.d.ts +1 -1
- package/dist/es/interfaces/GridColumnMenuFilterProps.d.ts +1 -1
- package/dist/es/interfaces/GridColumnMenuFilterUIProps.d.ts +1 -1
- package/dist/es/interfaces/GridProps.d.ts +21 -21
- package/dist/es/package-metadata.js +1 -1
- package/dist/npm/Grid.js +26 -7
- package/dist/npm/VirtualScroll.d.ts +2 -0
- package/dist/npm/VirtualScroll.js +14 -2
- package/dist/npm/cells/GridCell.js +1 -1
- package/dist/npm/cells/GridFilterCell.js +3 -1
- package/dist/npm/columnMenu/ColumnMenuContent.js +2 -1
- package/dist/npm/columnMenu/GridColumnMenuCheckboxFilter.js +3 -3
- package/dist/npm/columnMenu/GridColumnMenuFilterCell.js +2 -1
- package/dist/npm/columnMenu/GridColumnMenuFilterUI.js +3 -1
- package/dist/npm/interfaces/GridCellProps.d.ts +6 -6
- package/dist/npm/interfaces/GridColumnMenuExtendedFilterProps.d.ts +1 -1
- package/dist/npm/interfaces/GridColumnMenuFilterProps.d.ts +1 -1
- package/dist/npm/interfaces/GridColumnMenuFilterUIProps.d.ts +1 -1
- package/dist/npm/interfaces/GridProps.d.ts +21 -21
- package/dist/npm/package-metadata.js +1 -1
- package/package.json +13 -13
package/dist/es/Grid.js
CHANGED
|
@@ -69,14 +69,11 @@ import { ColumnResize } from './drag/ColumnResize';
|
|
|
69
69
|
import { CommonDragLogic } from './drag/CommonDragLogic';
|
|
70
70
|
import { DragClue } from './drag/DragClue';
|
|
71
71
|
import { DropClue } from './drag/DropClue';
|
|
72
|
-
import { getNestedValue, flatData, mapColumns, readColumns, autoGenerateColumns } from './utils/index';
|
|
73
|
-
|
|
74
|
-
import { GridCell } from './cells/GridCell'; // import { GridToolbar } from './GridToolbar';
|
|
75
|
-
|
|
72
|
+
import { getNestedValue, flatData, mapColumns, readColumns, autoGenerateColumns } from './utils/index';
|
|
73
|
+
import { GridCell } from './cells/GridCell';
|
|
76
74
|
import { GridGroupCell } from './cells/GridGroupCell';
|
|
77
75
|
import { GridRow } from './rows/GridRow';
|
|
78
|
-
import { GridHeaderSelectionCell } from './header/GridHeaderSelectionCell';
|
|
79
|
-
|
|
76
|
+
import { GridHeaderSelectionCell } from './header/GridHeaderSelectionCell';
|
|
80
77
|
import { GridNoRecords } from './GridNoRecords';
|
|
81
78
|
import { packageMetadata } from './package-metadata';
|
|
82
79
|
import { pagerMessagesMap } from './messages';
|
|
@@ -270,6 +267,7 @@ var GridVue2 = {
|
|
|
270
267
|
this.dragLogic.dropElementClue.$el.remove();
|
|
271
268
|
}
|
|
272
269
|
|
|
270
|
+
this.currentData = [];
|
|
273
271
|
this._columns = [];
|
|
274
272
|
},
|
|
275
273
|
resetVirtual: function resetVirtual() {
|
|
@@ -694,6 +692,27 @@ var GridVue2 = {
|
|
|
694
692
|
}).map(function (item) {
|
|
695
693
|
return item.dataItem;
|
|
696
694
|
});
|
|
695
|
+
},
|
|
696
|
+
totalGroupedRows: function totalGroupedRows(gridData) {
|
|
697
|
+
var allRowsCount = 0;
|
|
698
|
+
|
|
699
|
+
if (gridData) {
|
|
700
|
+
allRowsCount = this.addSubItems(gridData, allRowsCount);
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
return allRowsCount;
|
|
704
|
+
},
|
|
705
|
+
addSubItems: function addSubItems(gridData, allRowsCount) {
|
|
706
|
+
var _this = this;
|
|
707
|
+
|
|
708
|
+
gridData.forEach(function (item) {
|
|
709
|
+
allRowsCount++;
|
|
710
|
+
|
|
711
|
+
if (item.expanded !== false && item.items) {
|
|
712
|
+
allRowsCount = _this.addSubItems(item.items, allRowsCount);
|
|
713
|
+
}
|
|
714
|
+
});
|
|
715
|
+
return allRowsCount;
|
|
697
716
|
}
|
|
698
717
|
},
|
|
699
718
|
// @ts-ignore
|
|
@@ -752,7 +771,7 @@ var GridVue2 = {
|
|
|
752
771
|
if (this.$props.rowHeight !== undefined && this.$props.rowHeight > 0 && !groupable) {
|
|
753
772
|
this.vs.containerHeight = Math.min(1533915, this.$props.rowHeight * (total || 0));
|
|
754
773
|
} else {
|
|
755
|
-
this.vs.containerHeight = 1533915;
|
|
774
|
+
this.vs.containerHeight = 1533915; // this.vs.containerHeight = Math.min(1533915, this.$props.rowHeight * this.totalGroupedRows(gridData));
|
|
756
775
|
}
|
|
757
776
|
|
|
758
777
|
var children = defaultSlot || [];
|
|
@@ -16,6 +16,8 @@ export declare class VirtualScroll {
|
|
|
16
16
|
PageChange: (page: Page, event: any) => void;
|
|
17
17
|
tableBody: any;
|
|
18
18
|
heightContainer: any;
|
|
19
|
+
fixedScroll: boolean;
|
|
20
|
+
askedSkip: number | undefined;
|
|
19
21
|
private prevScrollPos;
|
|
20
22
|
private syncTimeout;
|
|
21
23
|
private tableTranslate;
|
package/dist/es/VirtualScroll.js
CHANGED
|
@@ -12,6 +12,8 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
12
12
|
this.realSkip = 0;
|
|
13
13
|
this.pageSize = 0;
|
|
14
14
|
this.heightContainer = null;
|
|
15
|
+
this.fixedScroll = false;
|
|
16
|
+
this.askedSkip = undefined;
|
|
15
17
|
this.prevScrollPos = 0;
|
|
16
18
|
this.tableTranslate = 0;
|
|
17
19
|
this.scrollSyncing = false;
|
|
@@ -59,7 +61,7 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
59
61
|
};
|
|
60
62
|
VirtualScroll.prototype.translate = function (dY) {
|
|
61
63
|
this.tableTranslate = dY;
|
|
62
|
-
if (this.table) {
|
|
64
|
+
if (this.scrollableVirtual && this.table) {
|
|
63
65
|
this.table.style.transform = 'translateY(' + dY + 'px)';
|
|
64
66
|
}
|
|
65
67
|
};
|
|
@@ -81,6 +83,9 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
81
83
|
};
|
|
82
84
|
VirtualScroll.prototype.reset = function () {
|
|
83
85
|
this.scrollSyncing = true;
|
|
86
|
+
if (this.fixedScroll) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
84
89
|
if (this.container) {
|
|
85
90
|
this.container.scrollTop = 0;
|
|
86
91
|
}
|
|
@@ -179,10 +184,17 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
179
184
|
}
|
|
180
185
|
var grid = this;
|
|
181
186
|
clearTimeout(this.syncTimeout);
|
|
182
|
-
this.syncTimeout = setTimeout(function () { grid.syncScroll(); }, 200);
|
|
187
|
+
this.syncTimeout = window.setTimeout(function () { grid.syncScroll(); }, 200);
|
|
183
188
|
var scrollTop = this.container.scrollTop;
|
|
184
189
|
var prev = this.prevScrollPos;
|
|
185
190
|
this.prevScrollPos = scrollTop;
|
|
191
|
+
if (this.askedSkip !== undefined) {
|
|
192
|
+
this.translate(this.containerHeight * this.askedSkip / this.total);
|
|
193
|
+
this.changePage(this.askedSkip, e);
|
|
194
|
+
this.prevScrollPos = scrollTop;
|
|
195
|
+
this.askedSkip = undefined;
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
186
198
|
if (scrollTop - prev < 0 && scrollTop > this.tableTranslate - this.table.scrollHeight / 10) {
|
|
187
199
|
this.localScrollUp(e);
|
|
188
200
|
}
|
|
@@ -102,7 +102,7 @@ var GridCellVue2 = {
|
|
|
102
102
|
var dataAsString = '';
|
|
103
103
|
|
|
104
104
|
if (data !== undefined && data !== null) {
|
|
105
|
-
dataAsString = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, parsers[this.$props.type](data, this._intl)) : this._intl.format(this.$props.format, data) : data.toString();
|
|
105
|
+
dataAsString = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, parsers[this.$props.type](data, this._intl, this.$props.format)) : this._intl.format(this.$props.format, data) : data.toString();
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
defaultRendering = h("td", {
|
|
@@ -220,11 +220,13 @@ var GridFilterCellVue2 = {
|
|
|
220
220
|
"class": "k-filtercell-wrapper"
|
|
221
221
|
}, [filterComponent.call(this, this.$props.filterType, this.$props.value), renderOperatorEditor.call(this), // @ts-ignore function children
|
|
222
222
|
h(Button, {
|
|
223
|
-
|
|
223
|
+
type: "button",
|
|
224
224
|
attrs: this.v3 ? undefined : {
|
|
225
|
+
type: "button",
|
|
225
226
|
icon: 'filter-clear',
|
|
226
227
|
title: localizationService.toLanguageString(filterClearButton, messages[filterClearButton])
|
|
227
228
|
},
|
|
229
|
+
icon: 'filter-clear',
|
|
228
230
|
"class": {
|
|
229
231
|
/* button is always visible if there is either value or operator */
|
|
230
232
|
'k-disabled': !(!(this.$props.value === null || this.$props.value === '') || this.$props.operator)
|
|
@@ -108,7 +108,8 @@ var ColumnMenuContentVue2 = {
|
|
|
108
108
|
closemenu: this.closeMenu,
|
|
109
109
|
filterchange: this.filterChange,
|
|
110
110
|
sortchange: this.sortChange,
|
|
111
|
-
expandchange: this.expandChange
|
|
111
|
+
expandchange: this.expandChange,
|
|
112
|
+
contentfocus: this.handleFocus
|
|
112
113
|
}
|
|
113
114
|
});
|
|
114
115
|
}
|
|
@@ -180,9 +180,9 @@ var GridColumnMenuCheckboxFilterVue2 = {
|
|
|
180
180
|
on: this.v3 ? undefined : {
|
|
181
181
|
"input": this.handleSearchChange
|
|
182
182
|
}
|
|
183
|
-
})
|
|
184
|
-
"class": "k-icon k-i-search"
|
|
185
|
-
})]);
|
|
183
|
+
}), h("span", {
|
|
184
|
+
"class": "k-input-icon k-icon k-i-search"
|
|
185
|
+
})])]);
|
|
186
186
|
};
|
|
187
187
|
|
|
188
188
|
var uniqueFilterValues = filterValues.filter(function (item, index) {
|
|
@@ -84,7 +84,7 @@ export interface GridCellProps {
|
|
|
84
84
|
/**
|
|
85
85
|
* The event that is fired when the cell value is changed.
|
|
86
86
|
*/
|
|
87
|
-
|
|
87
|
+
onChange?: (event: {
|
|
88
88
|
dataItem: any;
|
|
89
89
|
event: any;
|
|
90
90
|
field?: string;
|
|
@@ -93,7 +93,7 @@ export interface GridCellProps {
|
|
|
93
93
|
/**
|
|
94
94
|
* The event that is fired when the keydown event of the cell is triggered.
|
|
95
95
|
*/
|
|
96
|
-
|
|
96
|
+
onCellkeydown?: (event: {
|
|
97
97
|
event: any;
|
|
98
98
|
dataItem: any;
|
|
99
99
|
field: string;
|
|
@@ -101,20 +101,20 @@ export interface GridCellProps {
|
|
|
101
101
|
/**
|
|
102
102
|
* The event that is fired when the cell is clicked.
|
|
103
103
|
*/
|
|
104
|
-
|
|
104
|
+
onCellclick?: (event: {
|
|
105
105
|
dataItem: any;
|
|
106
106
|
field: string;
|
|
107
107
|
}) => void;
|
|
108
108
|
/**
|
|
109
109
|
* The event that is fired when the cell is about to be added.
|
|
110
110
|
*/
|
|
111
|
-
|
|
111
|
+
onAdd?: (event: {
|
|
112
112
|
dataItem: any;
|
|
113
113
|
}) => void;
|
|
114
114
|
/**
|
|
115
115
|
* The event that is fired when the cell is about to be edited.
|
|
116
116
|
*/
|
|
117
|
-
|
|
117
|
+
onEdit?: (event: {
|
|
118
118
|
dataItem: any;
|
|
119
119
|
}) => void;
|
|
120
120
|
/**
|
|
@@ -132,7 +132,7 @@ export interface GridCellProps {
|
|
|
132
132
|
/**
|
|
133
133
|
* The event that is fired when the cell is about to be canceled.
|
|
134
134
|
*/
|
|
135
|
-
|
|
135
|
+
onCancel?: (event: {
|
|
136
136
|
dataItem: any;
|
|
137
137
|
}) => void;
|
|
138
138
|
/**
|
|
@@ -10,7 +10,7 @@ export interface GridColumnMenuExtendedFilterProps extends GridColumnMenuFilterP
|
|
|
10
10
|
/**
|
|
11
11
|
* Triggered on each subsequent expand state of the filter component.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
onExpandchange?: (nextExpandState: boolean) => void;
|
|
14
14
|
/**
|
|
15
15
|
* If set to `false`, the second filter operator and the input will be hidden.
|
|
16
16
|
*/
|
|
@@ -23,5 +23,5 @@ export interface GridColumnMenuFilterProps {
|
|
|
23
23
|
/**
|
|
24
24
|
* The method that will be called to notify the parent Grid about a filter change.
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
onFilterchange?: (filter: CompositeFilterDescriptor | null, event: any) => any;
|
|
27
27
|
}
|
|
@@ -28,7 +28,7 @@ export interface GridColumnMenuFilterUIProps {
|
|
|
28
28
|
/**
|
|
29
29
|
* The method that will be called to notify the parent about a change in the filter logic.
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
onLogicchange?: (e: any) => void;
|
|
32
32
|
/**
|
|
33
33
|
* The method that will be called to notify the parent about a change in the filter.
|
|
34
34
|
*/
|
|
@@ -43,7 +43,7 @@ export interface GridProps {
|
|
|
43
43
|
* Fires when the sorting of the Grid is changed ([see example]({% slug sorting_grid_native %})).
|
|
44
44
|
* You have to handle the event yourself and sort the data.
|
|
45
45
|
*/
|
|
46
|
-
|
|
46
|
+
onSortchange?: (event: GridSortChangeEvent) => void;
|
|
47
47
|
/**
|
|
48
48
|
* The descriptors by which the data is sorted.
|
|
49
49
|
* Applies the sorting styles and buttons to the affected columns.
|
|
@@ -69,7 +69,7 @@ export interface GridProps {
|
|
|
69
69
|
* ([more information and examples]({% slug filtering_grid_native %})).
|
|
70
70
|
* You have to handle the event yourself and filter the data.
|
|
71
71
|
*/
|
|
72
|
-
|
|
72
|
+
onFilterchange?: (event: GridFilterChangeEvent) => void;
|
|
73
73
|
/**
|
|
74
74
|
* Defines if the column menu will be shown for the column.
|
|
75
75
|
* Accepts Boolean, a Vue component, a `render` function, or a slot name
|
|
@@ -88,7 +88,7 @@ export interface GridProps {
|
|
|
88
88
|
* Fires when the grouping of the Grid is changed. You have to handle the event yourself and group the data
|
|
89
89
|
* ([more information and examples]({% slug groupingbasics_grid_native %})).
|
|
90
90
|
*/
|
|
91
|
-
|
|
91
|
+
onGroupchange?: (event: GridGroupChangeEvent) => void;
|
|
92
92
|
/**
|
|
93
93
|
* Configures the pager of the Grid ([see example]({% slug paging_grid_native %})).
|
|
94
94
|
*
|
|
@@ -114,7 +114,7 @@ export interface GridProps {
|
|
|
114
114
|
* Fires when the page of the Grid is changed ([see example]({% slug paging_grid_native %})).
|
|
115
115
|
* You have to handle the event yourself and page the data.
|
|
116
116
|
*/
|
|
117
|
-
|
|
117
|
+
onPagechange?: (event: GridPageChangeEvent) => void;
|
|
118
118
|
/**
|
|
119
119
|
* Defines the total number of data items in all pages
|
|
120
120
|
* ([see example]({% slug paging_grid_native %})). Required by the paging functionality.
|
|
@@ -128,7 +128,7 @@ export interface GridProps {
|
|
|
128
128
|
/**
|
|
129
129
|
* Fires when the user tries to expand or collapse a row.
|
|
130
130
|
*/
|
|
131
|
-
|
|
131
|
+
onExpandchange?: (event: GridExpandChangeEvent) => void;
|
|
132
132
|
/**
|
|
133
133
|
* Specifies the name of the field which will provide a Boolean representation
|
|
134
134
|
* of the expanded state of the item ([see example]({% slug detailrow_grid_native %}).
|
|
@@ -143,50 +143,50 @@ export interface GridProps {
|
|
|
143
143
|
* Fires when the user tries to select or deselect a row
|
|
144
144
|
* ([see example]({% slug selection_grid_native %})).
|
|
145
145
|
*/
|
|
146
|
-
|
|
146
|
+
onSelectionchange?: (event: GridSelectionChangeEvent) => void;
|
|
147
147
|
/**
|
|
148
148
|
* Fires when the user clicks the checkbox of a column header whose `field` matches `selectedField`.
|
|
149
149
|
* ([see example]({% slug selection_grid_native %})).
|
|
150
150
|
*/
|
|
151
|
-
|
|
151
|
+
onHeaderselectionchange?: (event: GridHeaderSelectionChangeEvent) => void;
|
|
152
152
|
/**
|
|
153
153
|
* Fires when the user clicks a row.
|
|
154
154
|
*/
|
|
155
|
-
|
|
155
|
+
onRowclick?: (event: GridRowClickEvent) => void;
|
|
156
156
|
/**
|
|
157
157
|
* Fires when the user double clicks a row.
|
|
158
158
|
*/
|
|
159
|
-
|
|
159
|
+
onRowdblclick?: (event: GridRowClickEvent) => void;
|
|
160
160
|
/**
|
|
161
161
|
* Fires when the user clicks a cell.
|
|
162
162
|
*/
|
|
163
|
-
|
|
163
|
+
onCellclick?: (event: any) => void;
|
|
164
164
|
/**
|
|
165
165
|
* Fires when Grid is scrolled.
|
|
166
166
|
*/
|
|
167
|
-
|
|
167
|
+
onScroll?: (event: any) => void;
|
|
168
168
|
/**
|
|
169
169
|
* Fires when the user triggers an edit operation from a cell.
|
|
170
170
|
*/
|
|
171
|
-
|
|
171
|
+
onEdit?: (event: GridEditEvent) => void;
|
|
172
172
|
/**
|
|
173
173
|
* Fires when the user triggers a removal operation from a cell.
|
|
174
174
|
*/
|
|
175
|
-
|
|
175
|
+
onRemove?: (event: GridRemoveEvent) => void;
|
|
176
176
|
/**
|
|
177
177
|
* Fires when the user triggers a saving operation from a cell.
|
|
178
178
|
*/
|
|
179
|
-
|
|
179
|
+
onSave?: (event: GridSaveEvent) => void;
|
|
180
180
|
/**
|
|
181
181
|
* Fires when the user triggers a canceling operation from a cell.
|
|
182
182
|
*/
|
|
183
|
-
|
|
183
|
+
onCancel?: (event: GridCancelEvent) => void;
|
|
184
184
|
/**
|
|
185
185
|
* Fires when the user changes the values of the item.
|
|
186
186
|
* The event is not debounced and fires on every `onChange` event of the input in the current `EditCell`.
|
|
187
187
|
* ([more information and examples]({% slug editing_inline_grid_native %})).
|
|
188
188
|
*/
|
|
189
|
-
|
|
189
|
+
onItemchange?: (event: GridItemChangeEvent) => void;
|
|
190
190
|
/**
|
|
191
191
|
* Specifies the name of the field which will provide a Boolean representation of the edit state of the current
|
|
192
192
|
* item ([more information and examples]({% slug editing_inline_grid_native %})).
|
|
@@ -221,7 +221,7 @@ export interface GridProps {
|
|
|
221
221
|
/**
|
|
222
222
|
* Fires when the data state of the Grid is changed.
|
|
223
223
|
*/
|
|
224
|
-
|
|
224
|
+
onDatastatechange?: (event: GridDataStateChangeEvent) => void;
|
|
225
225
|
/**
|
|
226
226
|
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their
|
|
227
227
|
* header cells ([see example]({% slug resizing_columns_grid_native %}).
|
|
@@ -240,11 +240,11 @@ export interface GridProps {
|
|
|
240
240
|
/**
|
|
241
241
|
* Fires when a column is resized
|
|
242
242
|
*/
|
|
243
|
-
|
|
243
|
+
onColumnresize?: (event: GridColumnResizeEvent) => void;
|
|
244
244
|
/**
|
|
245
245
|
* Fires when columns are reordered.
|
|
246
246
|
*/
|
|
247
|
-
|
|
247
|
+
onColumnreorder?: (event: GridColumnReorderEvent) => void;
|
|
248
248
|
/**
|
|
249
249
|
* Defines the custom rendering of the row. Accepts a Vue component, a `render` function, or a slot name.
|
|
250
250
|
*/
|
|
@@ -279,9 +279,9 @@ export interface GridProps {
|
|
|
279
279
|
/**
|
|
280
280
|
* Fires when Grid keyboard navigation position is changed.
|
|
281
281
|
*/
|
|
282
|
-
|
|
282
|
+
onNavigationaction?: (event: GridNavigationActionEvent) => void;
|
|
283
283
|
/**
|
|
284
284
|
* Fires when the user press keyboard key.
|
|
285
285
|
*/
|
|
286
|
-
|
|
286
|
+
onKeydown?: (event: GridKeyDownEvent) => void;
|
|
287
287
|
}
|
|
@@ -5,7 +5,7 @@ export var packageMetadata = {
|
|
|
5
5
|
name: '@progress/kendo-vue-grid',
|
|
6
6
|
productName: 'Kendo UI for Vue',
|
|
7
7
|
productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate:
|
|
8
|
+
publishDate: 1643717144,
|
|
9
9
|
version: '',
|
|
10
10
|
licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
|
|
11
11
|
};
|
package/dist/npm/Grid.js
CHANGED
|
@@ -97,18 +97,15 @@ var DragClue_1 = require("./drag/DragClue");
|
|
|
97
97
|
|
|
98
98
|
var DropClue_1 = require("./drag/DropClue");
|
|
99
99
|
|
|
100
|
-
var index_1 = require("./utils/index");
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
var GridCell_1 = require("./cells/GridCell"); // import { GridToolbar } from './GridToolbar';
|
|
100
|
+
var index_1 = require("./utils/index");
|
|
104
101
|
|
|
102
|
+
var GridCell_1 = require("./cells/GridCell");
|
|
105
103
|
|
|
106
104
|
var GridGroupCell_1 = require("./cells/GridGroupCell");
|
|
107
105
|
|
|
108
106
|
var GridRow_1 = require("./rows/GridRow");
|
|
109
107
|
|
|
110
|
-
var GridHeaderSelectionCell_1 = require("./header/GridHeaderSelectionCell");
|
|
111
|
-
|
|
108
|
+
var GridHeaderSelectionCell_1 = require("./header/GridHeaderSelectionCell");
|
|
112
109
|
|
|
113
110
|
var GridNoRecords_1 = require("./GridNoRecords");
|
|
114
111
|
|
|
@@ -306,6 +303,7 @@ var GridVue2 = {
|
|
|
306
303
|
this.dragLogic.dropElementClue.$el.remove();
|
|
307
304
|
}
|
|
308
305
|
|
|
306
|
+
this.currentData = [];
|
|
309
307
|
this._columns = [];
|
|
310
308
|
},
|
|
311
309
|
resetVirtual: function resetVirtual() {
|
|
@@ -730,6 +728,27 @@ var GridVue2 = {
|
|
|
730
728
|
}).map(function (item) {
|
|
731
729
|
return item.dataItem;
|
|
732
730
|
});
|
|
731
|
+
},
|
|
732
|
+
totalGroupedRows: function totalGroupedRows(gridData) {
|
|
733
|
+
var allRowsCount = 0;
|
|
734
|
+
|
|
735
|
+
if (gridData) {
|
|
736
|
+
allRowsCount = this.addSubItems(gridData, allRowsCount);
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
return allRowsCount;
|
|
740
|
+
},
|
|
741
|
+
addSubItems: function addSubItems(gridData, allRowsCount) {
|
|
742
|
+
var _this = this;
|
|
743
|
+
|
|
744
|
+
gridData.forEach(function (item) {
|
|
745
|
+
allRowsCount++;
|
|
746
|
+
|
|
747
|
+
if (item.expanded !== false && item.items) {
|
|
748
|
+
allRowsCount = _this.addSubItems(item.items, allRowsCount);
|
|
749
|
+
}
|
|
750
|
+
});
|
|
751
|
+
return allRowsCount;
|
|
733
752
|
}
|
|
734
753
|
},
|
|
735
754
|
// @ts-ignore
|
|
@@ -788,7 +807,7 @@ var GridVue2 = {
|
|
|
788
807
|
if (this.$props.rowHeight !== undefined && this.$props.rowHeight > 0 && !groupable) {
|
|
789
808
|
this.vs.containerHeight = Math.min(1533915, this.$props.rowHeight * (total || 0));
|
|
790
809
|
} else {
|
|
791
|
-
this.vs.containerHeight = 1533915;
|
|
810
|
+
this.vs.containerHeight = 1533915; // this.vs.containerHeight = Math.min(1533915, this.$props.rowHeight * this.totalGroupedRows(gridData));
|
|
792
811
|
}
|
|
793
812
|
|
|
794
813
|
var children = defaultSlot || [];
|
|
@@ -16,6 +16,8 @@ export declare class VirtualScroll {
|
|
|
16
16
|
PageChange: (page: Page, event: any) => void;
|
|
17
17
|
tableBody: any;
|
|
18
18
|
heightContainer: any;
|
|
19
|
+
fixedScroll: boolean;
|
|
20
|
+
askedSkip: number | undefined;
|
|
19
21
|
private prevScrollPos;
|
|
20
22
|
private syncTimeout;
|
|
21
23
|
private tableTranslate;
|
|
@@ -15,6 +15,8 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
15
15
|
this.realSkip = 0;
|
|
16
16
|
this.pageSize = 0;
|
|
17
17
|
this.heightContainer = null;
|
|
18
|
+
this.fixedScroll = false;
|
|
19
|
+
this.askedSkip = undefined;
|
|
18
20
|
this.prevScrollPos = 0;
|
|
19
21
|
this.tableTranslate = 0;
|
|
20
22
|
this.scrollSyncing = false;
|
|
@@ -62,7 +64,7 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
62
64
|
};
|
|
63
65
|
VirtualScroll.prototype.translate = function (dY) {
|
|
64
66
|
this.tableTranslate = dY;
|
|
65
|
-
if (this.table) {
|
|
67
|
+
if (this.scrollableVirtual && this.table) {
|
|
66
68
|
this.table.style.transform = 'translateY(' + dY + 'px)';
|
|
67
69
|
}
|
|
68
70
|
};
|
|
@@ -84,6 +86,9 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
84
86
|
};
|
|
85
87
|
VirtualScroll.prototype.reset = function () {
|
|
86
88
|
this.scrollSyncing = true;
|
|
89
|
+
if (this.fixedScroll) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
87
92
|
if (this.container) {
|
|
88
93
|
this.container.scrollTop = 0;
|
|
89
94
|
}
|
|
@@ -182,10 +187,17 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
182
187
|
}
|
|
183
188
|
var grid = this;
|
|
184
189
|
clearTimeout(this.syncTimeout);
|
|
185
|
-
this.syncTimeout = setTimeout(function () { grid.syncScroll(); }, 200);
|
|
190
|
+
this.syncTimeout = window.setTimeout(function () { grid.syncScroll(); }, 200);
|
|
186
191
|
var scrollTop = this.container.scrollTop;
|
|
187
192
|
var prev = this.prevScrollPos;
|
|
188
193
|
this.prevScrollPos = scrollTop;
|
|
194
|
+
if (this.askedSkip !== undefined) {
|
|
195
|
+
this.translate(this.containerHeight * this.askedSkip / this.total);
|
|
196
|
+
this.changePage(this.askedSkip, e);
|
|
197
|
+
this.prevScrollPos = scrollTop;
|
|
198
|
+
this.askedSkip = undefined;
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
189
201
|
if (scrollTop - prev < 0 && scrollTop > this.tableTranslate - this.table.scrollHeight / 10) {
|
|
190
202
|
this.localScrollUp(e);
|
|
191
203
|
}
|
|
@@ -114,7 +114,7 @@ var GridCellVue2 = {
|
|
|
114
114
|
var dataAsString = '';
|
|
115
115
|
|
|
116
116
|
if (data !== undefined && data !== null) {
|
|
117
|
-
dataAsString = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, utils_1.parsers[this.$props.type](data, this._intl)) : this._intl.format(this.$props.format, data) : data.toString();
|
|
117
|
+
dataAsString = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, utils_1.parsers[this.$props.type](data, this._intl, this.$props.format)) : this._intl.format(this.$props.format, data) : data.toString();
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
defaultRendering = h("td", {
|
|
@@ -236,11 +236,13 @@ var GridFilterCellVue2 = {
|
|
|
236
236
|
"class": "k-filtercell-wrapper"
|
|
237
237
|
}, [filterComponent.call(this, this.$props.filterType, this.$props.value), renderOperatorEditor.call(this), // @ts-ignore function children
|
|
238
238
|
h(kendo_vue_buttons_1.Button, {
|
|
239
|
-
|
|
239
|
+
type: "button",
|
|
240
240
|
attrs: this.v3 ? undefined : {
|
|
241
|
+
type: "button",
|
|
241
242
|
icon: 'filter-clear',
|
|
242
243
|
title: localizationService.toLanguageString(messages_1.filterClearButton, messages_1.messages[messages_1.filterClearButton])
|
|
243
244
|
},
|
|
245
|
+
icon: 'filter-clear',
|
|
244
246
|
"class": {
|
|
245
247
|
/* button is always visible if there is either value or operator */
|
|
246
248
|
'k-disabled': !(!(this.$props.value === null || this.$props.value === '') || this.$props.operator)
|
|
@@ -119,7 +119,8 @@ var ColumnMenuContentVue2 = {
|
|
|
119
119
|
closemenu: this.closeMenu,
|
|
120
120
|
filterchange: this.filterChange,
|
|
121
121
|
sortchange: this.sortChange,
|
|
122
|
-
expandchange: this.expandChange
|
|
122
|
+
expandchange: this.expandChange,
|
|
123
|
+
contentfocus: this.handleFocus
|
|
123
124
|
}
|
|
124
125
|
});
|
|
125
126
|
}
|
|
@@ -198,9 +198,9 @@ var GridColumnMenuCheckboxFilterVue2 = {
|
|
|
198
198
|
on: this.v3 ? undefined : {
|
|
199
199
|
"input": this.handleSearchChange
|
|
200
200
|
}
|
|
201
|
-
})
|
|
202
|
-
"class": "k-icon k-i-search"
|
|
203
|
-
})]);
|
|
201
|
+
}), h("span", {
|
|
202
|
+
"class": "k-input-icon k-icon k-i-search"
|
|
203
|
+
})])]);
|
|
204
204
|
};
|
|
205
205
|
|
|
206
206
|
var uniqueFilterValues = filterValues.filter(function (item, index) {
|