@progress/kendo-vue-grid 3.5.0 → 3.5.1-dev.202208100944

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.
Files changed (231) hide show
  1. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  2. package/dist/es/Grid.js +20 -24
  3. package/dist/es/ScrollMode.js +1 -0
  4. package/dist/es/columnMenu/ColumnMenu.js +2 -2
  5. package/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js +9 -13
  6. package/dist/es/columnMenu/GridColumnMenuFilter.js +423 -107
  7. package/dist/es/columnMenu/GridColumnMenuFilterCell.js +74 -97
  8. package/dist/es/columnMenu/GridColumnMenuFilterOperators.d.ts +36 -0
  9. package/dist/es/columnMenu/GridColumnMenuFilterOperators.js +68 -0
  10. package/dist/es/columnMenu/GridColumnMenuItem.js +2 -2
  11. package/dist/es/filterCommon.d.ts +1 -1
  12. package/dist/es/footer/Footer.js +1 -1
  13. package/dist/es/footer/FooterRow.js +1 -1
  14. package/dist/es/header/FilterRow.js +1 -1
  15. package/dist/es/header/Header.js +1 -1
  16. package/dist/es/header/HeaderRow.js +1 -1
  17. package/dist/es/interfaces/ExtendedColumnProps.js +1 -0
  18. package/dist/es/interfaces/GridCellProps.js +1 -0
  19. package/dist/es/interfaces/GridColumnMenuColumnProps.js +1 -0
  20. package/dist/es/interfaces/GridColumnMenuExtendedFilterProps.js +1 -0
  21. package/dist/es/interfaces/GridColumnMenuFilterBaseProps.js +1 -0
  22. package/dist/es/interfaces/GridColumnMenuFilterProps.js +1 -0
  23. package/dist/es/interfaces/GridColumnMenuFilterUIProps.js +1 -0
  24. package/dist/es/interfaces/GridColumnMenuProps.js +1 -0
  25. package/dist/es/interfaces/GridColumnMenuSortBaseProps.js +1 -0
  26. package/dist/es/interfaces/GridColumnProps.js +1 -0
  27. package/dist/es/interfaces/GridDetailRowProps.js +1 -0
  28. package/dist/es/interfaces/GridFilterCellProps.js +1 -0
  29. package/dist/es/interfaces/GridFilterOperator.js +1 -0
  30. package/dist/es/interfaces/GridFilterOperators.js +1 -0
  31. package/dist/es/interfaces/GridFooterCellProps.js +1 -0
  32. package/dist/es/interfaces/GridGroupableSettings.js +1 -0
  33. package/dist/es/interfaces/GridHeaderCellProps.js +1 -0
  34. package/dist/es/interfaces/GridHeaderSelectionCellProps.js +1 -0
  35. package/dist/es/interfaces/GridNoRecordsProps.js +1 -0
  36. package/dist/es/interfaces/GridProps.js +1 -0
  37. package/dist/es/interfaces/GridRowProps.js +1 -0
  38. package/dist/es/interfaces/GridRowType.js +1 -0
  39. package/dist/es/interfaces/GridSortSettings.js +9 -7
  40. package/dist/es/interfaces/GridToolbarProps.js +1 -0
  41. package/dist/es/interfaces/events.js +1 -0
  42. package/dist/es/package-metadata.js +1 -1
  43. package/dist/es/rows/GridDetailRow.d.ts +2 -1
  44. package/dist/es/utils/index.js +4 -4
  45. package/dist/esm/Grid.d.ts +180 -0
  46. package/dist/esm/Grid.js +2086 -0
  47. package/dist/esm/GridNav.d.ts +46 -0
  48. package/dist/esm/GridNav.js +112 -0
  49. package/dist/esm/GridNoRecords.d.ts +51 -0
  50. package/dist/esm/GridNoRecords.js +83 -0
  51. package/dist/esm/GridToolbar.d.ts +58 -0
  52. package/dist/esm/GridToolbar.js +77 -0
  53. package/dist/esm/ScrollMode.d.ts +1 -0
  54. package/dist/esm/ScrollMode.js +1 -0
  55. package/dist/esm/VirtualScroll.d.ts +41 -0
  56. package/dist/esm/VirtualScroll.js +217 -0
  57. package/dist/esm/additionalTypes.ts +21 -0
  58. package/dist/esm/cells/GridCell.d.ts +30 -0
  59. package/dist/esm/cells/GridCell.js +161 -0
  60. package/dist/esm/cells/GridDetailCell.d.ts +29 -0
  61. package/dist/esm/cells/GridDetailCell.js +82 -0
  62. package/dist/esm/cells/GridDetailHierarchyCell.d.ts +24 -0
  63. package/dist/esm/cells/GridDetailHierarchyCell.js +53 -0
  64. package/dist/esm/cells/GridEditCell.d.ts +40 -0
  65. package/dist/esm/cells/GridEditCell.js +312 -0
  66. package/dist/esm/cells/GridFilterCell.d.ts +26 -0
  67. package/dist/esm/cells/GridFilterCell.js +259 -0
  68. package/dist/esm/cells/GridGroupCell.d.ts +23 -0
  69. package/dist/esm/cells/GridGroupCell.js +179 -0
  70. package/dist/esm/cells/GridHierarchyCell.d.ts +23 -0
  71. package/dist/esm/cells/GridHierarchyCell.js +162 -0
  72. package/dist/esm/cells/GridSelectionCell.d.ts +34 -0
  73. package/dist/esm/cells/GridSelectionCell.js +138 -0
  74. package/dist/esm/columnMenu/ColumnMenu.d.ts +56 -0
  75. package/dist/esm/columnMenu/ColumnMenu.js +252 -0
  76. package/dist/esm/columnMenu/ColumnMenuContent.d.ts +33 -0
  77. package/dist/esm/columnMenu/ColumnMenuContent.js +123 -0
  78. package/dist/esm/columnMenu/GridColumnMenuCheckboxFilter.d.ts +86 -0
  79. package/dist/esm/columnMenu/GridColumnMenuCheckboxFilter.js +709 -0
  80. package/dist/esm/columnMenu/GridColumnMenuFilter.d.ts +339 -0
  81. package/dist/esm/columnMenu/GridColumnMenuFilter.js +1079 -0
  82. package/dist/esm/columnMenu/GridColumnMenuFilterCell.d.ts +45 -0
  83. package/dist/esm/columnMenu/GridColumnMenuFilterCell.js +152 -0
  84. package/dist/esm/columnMenu/GridColumnMenuFilterOperators.d.ts +36 -0
  85. package/dist/esm/columnMenu/GridColumnMenuFilterOperators.js +68 -0
  86. package/dist/esm/columnMenu/GridColumnMenuFilterUI.d.ts +24 -0
  87. package/dist/esm/columnMenu/GridColumnMenuFilterUI.js +155 -0
  88. package/dist/esm/columnMenu/GridColumnMenuItem.d.ts +42 -0
  89. package/dist/esm/columnMenu/GridColumnMenuItem.js +63 -0
  90. package/dist/esm/columnMenu/GridColumnMenuItemContent.d.ts +34 -0
  91. package/dist/esm/columnMenu/GridColumnMenuItemContent.js +51 -0
  92. package/dist/esm/columnMenu/GridColumnMenuItemGroup.d.ts +19 -0
  93. package/dist/esm/columnMenu/GridColumnMenuItemGroup.js +33 -0
  94. package/dist/esm/columnMenu/GridColumnMenuSort.d.ts +283 -0
  95. package/dist/esm/columnMenu/GridColumnMenuSort.js +375 -0
  96. package/dist/esm/drag/ColumnDraggable.d.ts +43 -0
  97. package/dist/esm/drag/ColumnDraggable.js +73 -0
  98. package/dist/esm/drag/ColumnResize.d.ts +31 -0
  99. package/dist/esm/drag/ColumnResize.js +126 -0
  100. package/dist/esm/drag/ColumnResizer.d.ts +40 -0
  101. package/dist/esm/drag/ColumnResizer.js +89 -0
  102. package/dist/esm/drag/CommonDragLogic.d.ts +35 -0
  103. package/dist/esm/drag/CommonDragLogic.js +177 -0
  104. package/dist/esm/drag/DragClue.d.ts +25 -0
  105. package/dist/esm/drag/DragClue.js +52 -0
  106. package/dist/esm/drag/DropClue.d.ts +24 -0
  107. package/dist/esm/drag/DropClue.js +46 -0
  108. package/dist/esm/drag/GroupingIndicator.d.ts +51 -0
  109. package/dist/esm/drag/GroupingIndicator.js +153 -0
  110. package/dist/esm/filterCommon.d.ts +75 -0
  111. package/dist/esm/filterCommon.js +156 -0
  112. package/dist/esm/footer/Footer.d.ts +52 -0
  113. package/dist/esm/footer/Footer.js +103 -0
  114. package/dist/esm/footer/FooterRow.d.ts +30 -0
  115. package/dist/esm/footer/FooterRow.js +73 -0
  116. package/dist/esm/header/FilterRow.d.ts +36 -0
  117. package/dist/esm/header/FilterRow.js +203 -0
  118. package/dist/esm/header/GridHeaderCell.d.ts +21 -0
  119. package/dist/esm/header/GridHeaderCell.js +60 -0
  120. package/dist/esm/header/GridHeaderSelectionCell.d.ts +32 -0
  121. package/dist/esm/header/GridHeaderSelectionCell.js +81 -0
  122. package/dist/esm/header/GroupPanel.d.ts +38 -0
  123. package/dist/esm/header/GroupPanel.js +108 -0
  124. package/dist/esm/header/Header.d.ts +64 -0
  125. package/dist/esm/header/Header.js +123 -0
  126. package/dist/esm/header/HeaderRow.d.ts +86 -0
  127. package/dist/esm/header/HeaderRow.js +517 -0
  128. package/dist/esm/interfaces/ExtendedColumnProps.d.ts +20 -0
  129. package/dist/esm/interfaces/ExtendedColumnProps.js +1 -0
  130. package/dist/esm/interfaces/GridCellProps.d.ts +156 -0
  131. package/dist/esm/interfaces/GridCellProps.js +1 -0
  132. package/dist/esm/interfaces/GridColumnMenuColumnProps.d.ts +13 -0
  133. package/dist/esm/interfaces/GridColumnMenuColumnProps.js +1 -0
  134. package/dist/esm/interfaces/GridColumnMenuExtendedFilterProps.d.ts +42 -0
  135. package/dist/esm/interfaces/GridColumnMenuExtendedFilterProps.js +1 -0
  136. package/dist/esm/interfaces/GridColumnMenuFilterBaseProps.d.ts +49 -0
  137. package/dist/esm/interfaces/GridColumnMenuFilterBaseProps.js +1 -0
  138. package/dist/esm/interfaces/GridColumnMenuFilterProps.d.ts +27 -0
  139. package/dist/esm/interfaces/GridColumnMenuFilterProps.js +1 -0
  140. package/dist/esm/interfaces/GridColumnMenuFilterUIProps.d.ts +55 -0
  141. package/dist/esm/interfaces/GridColumnMenuFilterUIProps.js +1 -0
  142. package/dist/esm/interfaces/GridColumnMenuProps.d.ts +19 -0
  143. package/dist/esm/interfaces/GridColumnMenuProps.js +1 -0
  144. package/dist/esm/interfaces/GridColumnMenuSortBaseProps.d.ts +28 -0
  145. package/dist/esm/interfaces/GridColumnMenuSortBaseProps.js +1 -0
  146. package/dist/esm/interfaces/GridColumnProps.d.ts +147 -0
  147. package/dist/esm/interfaces/GridColumnProps.js +1 -0
  148. package/dist/esm/interfaces/GridDetailRowProps.d.ts +9 -0
  149. package/dist/esm/interfaces/GridDetailRowProps.js +1 -0
  150. package/dist/esm/interfaces/GridFilterCellProps.d.ts +64 -0
  151. package/dist/esm/interfaces/GridFilterCellProps.js +1 -0
  152. package/dist/esm/interfaces/GridFilterOperator.d.ts +7 -0
  153. package/dist/esm/interfaces/GridFilterOperator.js +1 -0
  154. package/dist/esm/interfaces/GridFilterOperators.d.ts +49 -0
  155. package/dist/esm/interfaces/GridFilterOperators.js +1 -0
  156. package/dist/esm/interfaces/GridFooterCellProps.d.ts +7 -0
  157. package/dist/esm/interfaces/GridFooterCellProps.js +1 -0
  158. package/dist/esm/interfaces/GridGroupableSettings.d.ts +15 -0
  159. package/dist/esm/interfaces/GridGroupableSettings.js +1 -0
  160. package/dist/esm/interfaces/GridHeaderCellProps.d.ts +37 -0
  161. package/dist/esm/interfaces/GridHeaderCellProps.js +1 -0
  162. package/dist/esm/interfaces/GridHeaderSelectionCellProps.d.ts +17 -0
  163. package/dist/esm/interfaces/GridHeaderSelectionCellProps.js +1 -0
  164. package/dist/esm/interfaces/GridNoRecordsProps.d.ts +9 -0
  165. package/dist/esm/interfaces/GridNoRecordsProps.js +1 -0
  166. package/dist/esm/interfaces/GridProps.d.ts +311 -0
  167. package/dist/esm/interfaces/GridProps.js +1 -0
  168. package/dist/esm/interfaces/GridRowProps.d.ts +55 -0
  169. package/dist/esm/interfaces/GridRowProps.js +1 -0
  170. package/dist/esm/interfaces/GridRowType.d.ts +9 -0
  171. package/dist/esm/interfaces/GridRowType.js +1 -0
  172. package/dist/esm/interfaces/GridSortSettings.d.ts +26 -0
  173. package/dist/esm/interfaces/GridSortSettings.js +20 -0
  174. package/dist/esm/interfaces/GridToolbarProps.d.ts +9 -0
  175. package/dist/esm/interfaces/GridToolbarProps.js +1 -0
  176. package/dist/esm/interfaces/events.d.ts +248 -0
  177. package/dist/esm/interfaces/events.js +1 -0
  178. package/dist/esm/main.d.ts +38 -0
  179. package/dist/esm/main.js +31 -0
  180. package/dist/esm/messages/index.d.ts +150 -0
  181. package/dist/esm/messages/index.js +151 -0
  182. package/dist/esm/package-metadata.d.ts +5 -0
  183. package/dist/esm/package-metadata.js +11 -0
  184. package/dist/esm/package.json +3 -0
  185. package/dist/esm/rows/GridDetailRow.d.ts +16 -0
  186. package/dist/esm/rows/GridDetailRow.js +29 -0
  187. package/dist/esm/rows/GridRow.d.ts +28 -0
  188. package/dist/esm/rows/GridRow.js +84 -0
  189. package/dist/esm/utils/browser-support.service.d.ts +7 -0
  190. package/dist/esm/utils/browser-support.service.js +26 -0
  191. package/dist/esm/utils/index.d.ts +91 -0
  192. package/dist/esm/utils/index.js +393 -0
  193. package/dist/npm/Grid.js +66 -70
  194. package/dist/npm/GridNav.js +1 -1
  195. package/dist/npm/GridNoRecords.js +2 -2
  196. package/dist/npm/GridToolbar.js +1 -1
  197. package/dist/npm/cells/GridCell.js +2 -2
  198. package/dist/npm/cells/GridEditCell.js +2 -2
  199. package/dist/npm/cells/GridFilterCell.js +4 -4
  200. package/dist/npm/cells/GridHierarchyCell.js +1 -1
  201. package/dist/npm/cells/GridSelectionCell.js +2 -2
  202. package/dist/npm/columnMenu/ColumnMenu.js +5 -5
  203. package/dist/npm/columnMenu/GridColumnMenuCheckboxFilter.js +14 -18
  204. package/dist/npm/columnMenu/GridColumnMenuFilter.js +445 -125
  205. package/dist/npm/columnMenu/GridColumnMenuFilterCell.js +79 -102
  206. package/dist/npm/columnMenu/GridColumnMenuFilterOperators.d.ts +36 -0
  207. package/dist/npm/columnMenu/GridColumnMenuFilterOperators.js +79 -0
  208. package/dist/npm/columnMenu/GridColumnMenuItem.js +2 -2
  209. package/dist/npm/columnMenu/GridColumnMenuItemContent.js +1 -1
  210. package/dist/npm/columnMenu/GridColumnMenuItemGroup.js +1 -1
  211. package/dist/npm/columnMenu/GridColumnMenuSort.js +5 -4
  212. package/dist/npm/drag/ColumnDraggable.js +1 -1
  213. package/dist/npm/drag/CommonDragLogic.js +2 -2
  214. package/dist/npm/drag/GroupingIndicator.js +3 -3
  215. package/dist/npm/filterCommon.d.ts +1 -1
  216. package/dist/npm/filterCommon.js +19 -12
  217. package/dist/npm/footer/Footer.js +6 -6
  218. package/dist/npm/footer/FooterRow.js +2 -2
  219. package/dist/npm/header/FilterRow.js +7 -7
  220. package/dist/npm/header/GridHeaderCell.js +1 -1
  221. package/dist/npm/header/GridHeaderSelectionCell.js +1 -1
  222. package/dist/npm/header/GroupPanel.js +1 -1
  223. package/dist/npm/header/Header.js +8 -8
  224. package/dist/npm/header/HeaderRow.js +2 -2
  225. package/dist/npm/interfaces/GridSortSettings.js +11 -8
  226. package/dist/npm/main.js +6 -2
  227. package/dist/npm/package-metadata.js +1 -1
  228. package/dist/npm/rows/GridDetailRow.d.ts +2 -1
  229. package/dist/npm/rows/GridRow.js +2 -2
  230. package/dist/npm/utils/index.js +6 -5
  231. package/package.json +14 -14
@@ -0,0 +1,46 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from './additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ /**
7
+ * @hidden
8
+ */
9
+ interface GridNavState {
10
+ }
11
+ /**
12
+ * @hidden
13
+ */
14
+ interface GridNavData {
15
+ }
16
+ /**
17
+ * @hidden
18
+ */
19
+ export interface GridNavMethods {
20
+ [key: string]: any;
21
+ onKeyDown: (event: any) => any;
22
+ onFocus: (event: any) => any;
23
+ onNavMount: (event: any) => any;
24
+ onNavigationAction: (opitons: any) => any;
25
+ }
26
+ /**
27
+ * @hidden
28
+ */
29
+ export interface GridNavComputed {
30
+ [key: string]: any;
31
+ wrapperClass: object;
32
+ }
33
+ /**
34
+ * @hidden
35
+ */
36
+ export interface GridNavAll extends GridNavMethods, GridNavState, GridNavData, GridNavComputed, Vue2type {
37
+ }
38
+ /**
39
+ * @hidden
40
+ */
41
+ declare const GridNavVue2: ComponentOptions<Vue2type, DefaultData<GridNavData>, DefaultMethods<GridNavAll>, GridNavComputed, RecordPropsDefinition<{}>>;
42
+ /**
43
+ * @hidden
44
+ */
45
+ declare const GridNav: DefineComponent<{}, any, GridNavData, GridNavComputed, GridNavMethods, {}, {}, {}, string, {}, {}, {}>;
46
+ export { GridNav, GridNavVue2 };
@@ -0,0 +1,112 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { getDefaultSlots, noop } from '@progress/kendo-vue-common';
7
+ /**
8
+ * @hidden
9
+ */
10
+
11
+ var GridNavVue2 = {
12
+ name: 'KendoGridNav',
13
+ props: {
14
+ currentData: Array
15
+ },
16
+ // @ts-ignore
17
+ setup: !isV3 ? undefined : function () {
18
+ var v3 = !!isV3;
19
+ return {
20
+ v3: v3
21
+ };
22
+ },
23
+ inject: {
24
+ onNavKeyDown: {
25
+ default: noop
26
+ },
27
+ onNavFocus: {
28
+ default: noop
29
+ },
30
+ onNavMount: {
31
+ default: noop
32
+ },
33
+ handleDispatchFocus: {
34
+ default: noop
35
+ },
36
+ kbContext: {
37
+ default: null
38
+ },
39
+ navigation: {
40
+ default: null
41
+ }
42
+ },
43
+ mounted: function mounted() {
44
+ this.onNavMount({
45
+ scope: this.$el || undefined
46
+ });
47
+ },
48
+ updated: function updated() {
49
+ this.onNavMount({
50
+ scope: this.$el || undefined
51
+ });
52
+ },
53
+ methods: {
54
+ onKeyDown: function onKeyDown(event) {
55
+ this.onNavKeyDown(event, {
56
+ navigation: this.navigation,
57
+ kbContext: this.kbContext,
58
+ onNavigationAction: this.onNavigationAction
59
+ }); // const {mode, cell} = getSelectionOptions(this.$props.selectable);
60
+
61
+ this.$emit('keydown', {
62
+ dataItems: this.getLeafDataItems(),
63
+ // mode,
64
+ // cell,
65
+ componentId: this._gridId,
66
+ selectedField: this.$props.selectedField,
67
+ event: event
68
+ }); // as GridNavigationActionEvent
69
+ },
70
+ onFocus: function onFocus(event) {
71
+ this.onNavFocus(event, {
72
+ kbContext: this.kbContext
73
+ });
74
+ },
75
+ onNavigationAction: function onNavigationAction(options) {
76
+ this.$emit('navigationaction', {
77
+ focusElement: options.focusElement,
78
+ event: options.event
79
+ }); // as GridNavigationActionEvent
80
+ },
81
+ getLeafDataItems: function getLeafDataItems() {
82
+ return this.$props.currentData.filter(function (item) {
83
+ return item.rowType === 'data';
84
+ }).map(function (item) {
85
+ return item.dataItem;
86
+ });
87
+ }
88
+ },
89
+ // @ts-ignore
90
+ render: function render(createElement) {
91
+ var h = gh || createElement;
92
+ var defaultSlots = getDefaultSlots(this);
93
+ return h("div", {
94
+ onKeydown: this.onKeyDown,
95
+ on: this.v3 ? undefined : {
96
+ "keydown": this.onKeyDown,
97
+ "focusin": this.onFocus
98
+ },
99
+ onFocusin: this.onFocus,
100
+ "data-keyboardnavscope": true,
101
+ attrs: this.v3 ? undefined : {
102
+ "data-keyboardnavscope": true
103
+ }
104
+ }, [defaultSlots]);
105
+ }
106
+ };
107
+ /**
108
+ * @hidden
109
+ */
110
+
111
+ var GridNav = GridNavVue2;
112
+ export { GridNav, GridNavVue2 };
@@ -0,0 +1,51 @@
1
+ declare type DefaultData<V> = object | ((this: V) => {});
2
+ declare type DefaultMethods<V> = {
3
+ [key: string]: (this: V, ...args: any[]) => any;
4
+ };
5
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from './additionalTypes';
6
+ /**
7
+ * @hidden
8
+ */
9
+ declare let GridNoRecordsVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<{}>, {}, RecordPropsDefinition<{}>>;
10
+ /**
11
+ * Represents the GridNoRecords component which is rendered
12
+ * when the `data` property of the Grid is empty or `null`.
13
+ *
14
+ * @example
15
+ * ```tsx-no-run
16
+ * <div id="app">
17
+ * <Grid
18
+ * :data-items="products"
19
+ * :columns="columns">
20
+ * <grid-norecords>
21
+ * There is no data available custom
22
+ * </grid-norecords>
23
+ * </Grid>
24
+ * </div>
25
+ * <script>
26
+ * Vue.component('Grid', Grid);
27
+ * Vue.component('grid-norecords', GridNoRecords);
28
+ * new Vue({
29
+ * el: '#app',
30
+ * data: function () {
31
+ * return {
32
+ * products: [
33
+ * { 'foo': 'A1', 'bar': 'B1' },
34
+ * { 'foo': 'A2', 'bar': 'B2' },
35
+ * { 'foo': 'A3', 'bar': 'B2' }
36
+ * ],
37
+ * columns: [
38
+ * { field: 'foo'},
39
+ * { field: 'bar'}
40
+ * ]
41
+ * };
42
+ * }
43
+ * });
44
+ * </script>
45
+ * ```
46
+ */
47
+ /**
48
+ * Represents the default `GridNoRecords` component.
49
+ */
50
+ declare const GridNoRecords: DefineComponent<{}, any, {}, {}, {}, {}, {}, {}, string, {}, {}, {}>;
51
+ export { GridNoRecords, GridNoRecordsVue2 };
@@ -0,0 +1,83 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ var inject = allVue.inject;
7
+ import { provideLocalizationService } from '@progress/kendo-vue-intl';
8
+ import { messages, noRecords } from './messages.js';
9
+ import { getDefaultSlots } from '@progress/kendo-vue-common';
10
+ /**
11
+ * @hidden
12
+ */
13
+
14
+ var GridNoRecordsVue2 = {
15
+ name: 'GridNoRecords',
16
+ inject: {
17
+ kendoLocalizationService: {
18
+ default: null
19
+ }
20
+ },
21
+ // @ts-ignore
22
+ setup: !isV3 ? undefined : function () {
23
+ var v3 = !!isV3;
24
+ var kendoLocalizationService = inject('kendoLocalizationService', {});
25
+ return {
26
+ v3: v3,
27
+ kendoLocalizationService: kendoLocalizationService
28
+ };
29
+ },
30
+ // @ts-ignore
31
+ render: function render(createElement) {
32
+ var h = gh || createElement;
33
+ var defaultSlot = getDefaultSlots(this);
34
+ var localizationService = provideLocalizationService(this);
35
+ var noRecordsMessage = localizationService.toLanguageString(noRecords, messages[noRecords]);
36
+ return defaultSlot ? h("div", [defaultSlot]) // @ts-ignore
37
+ : this.v3 ? noRecordsMessage : this._v(noRecordsMessage);
38
+ }
39
+ };
40
+ /**
41
+ * Represents the GridNoRecords component which is rendered
42
+ * when the `data` property of the Grid is empty or `null`.
43
+ *
44
+ * @example
45
+ * ```tsx-no-run
46
+ * <div id="app">
47
+ * <Grid
48
+ * :data-items="products"
49
+ * :columns="columns">
50
+ * <grid-norecords>
51
+ * There is no data available custom
52
+ * </grid-norecords>
53
+ * </Grid>
54
+ * </div>
55
+ * <script>
56
+ * Vue.component('Grid', Grid);
57
+ * Vue.component('grid-norecords', GridNoRecords);
58
+ * new Vue({
59
+ * el: '#app',
60
+ * data: function () {
61
+ * return {
62
+ * products: [
63
+ * { 'foo': 'A1', 'bar': 'B1' },
64
+ * { 'foo': 'A2', 'bar': 'B2' },
65
+ * { 'foo': 'A3', 'bar': 'B2' }
66
+ * ],
67
+ * columns: [
68
+ * { field: 'foo'},
69
+ * { field: 'bar'}
70
+ * ]
71
+ * };
72
+ * }
73
+ * });
74
+ * </script>
75
+ * ```
76
+ */
77
+
78
+ /**
79
+ * Represents the default `GridNoRecords` component.
80
+ */
81
+
82
+ var GridNoRecords = GridNoRecordsVue2;
83
+ export { GridNoRecords, GridNoRecordsVue2 };
@@ -0,0 +1,58 @@
1
+ import { GridToolbarProps } from './interfaces/GridToolbarProps';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from './additionalTypes';
7
+ /**
8
+ * @hidden
9
+ */
10
+ declare let GridToolbarVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<{}>, {}, RecordPropsDefinition<GridToolbarProps>>;
11
+ /**
12
+ * Represents the GridToolbar component.
13
+ *
14
+ * ```tsx-no-run
15
+ * <div id="app">
16
+ * <Grid
17
+ * :data-items="products"
18
+ * :columns="columns">
19
+ * <grid-toolbar >
20
+ * <button title="Add new" class="k-button k-primary" @click='insert' >
21
+ * Add new
22
+ * </button>
23
+ * <button v-if="hasItemsInEdit"
24
+ * title="Cancel current changes"
25
+ * class="k-button"
26
+ * @click="cancelChanges">
27
+ * Cancel current changes
28
+ * </button>
29
+ * </grid-toolbar>
30
+ * </Grid>
31
+ * </div>
32
+ * <script>
33
+ * Vue.component('Grid', Grid);
34
+ * Vue.component('grid-toolbar', GridToolbar);
35
+ * new Vue({
36
+ * el: '#app',
37
+ * data: function () {
38
+ * return {
39
+ * products: [
40
+ * { 'foo': 'A1', 'bar': 'B1' },
41
+ * { 'foo': 'A2', 'bar': 'B2' },
42
+ * { 'foo': 'A3', 'bar': 'B2' }
43
+ * ],
44
+ * columns: [
45
+ * { field: 'foo'},
46
+ * { field: 'bar'}
47
+ * ]
48
+ * };
49
+ * }
50
+ * });
51
+ * </script>
52
+ * ```
53
+ *
54
+ *
55
+ * ### props <span class='code'>[GridToolbarProps]({% slug api_grid_toolbarprops %})</span>
56
+ */
57
+ declare const GridToolbar: DefineComponent<GridToolbarProps, any, {}, {}, {}, {}, {}, {}, string, GridToolbarProps, GridToolbarProps, {}>;
58
+ export { GridToolbar, GridToolbarVue2 };
@@ -0,0 +1,77 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { getDefaultSlots } from '@progress/kendo-vue-common';
7
+ /**
8
+ * @hidden
9
+ */
10
+
11
+ var GridToolbarVue2 = {
12
+ name: 'GridToolbar',
13
+ // @ts-ignore
14
+ setup: !isV3 ? undefined : function () {
15
+ var v3 = !!isV3;
16
+ return {
17
+ v3: v3
18
+ };
19
+ },
20
+ // @ts-ignore
21
+ render: function render(createElement) {
22
+ var h = gh || createElement;
23
+ var defaultSlot = getDefaultSlots(this);
24
+ return h("div", {
25
+ "class": "k-toolbar k-grid-toolbar"
26
+ }, [defaultSlot]);
27
+ }
28
+ };
29
+ /**
30
+ * Represents the GridToolbar component.
31
+ *
32
+ * ```tsx-no-run
33
+ * <div id="app">
34
+ * <Grid
35
+ * :data-items="products"
36
+ * :columns="columns">
37
+ * <grid-toolbar >
38
+ * <button title="Add new" class="k-button k-primary" @click='insert' >
39
+ * Add new
40
+ * </button>
41
+ * <button v-if="hasItemsInEdit"
42
+ * title="Cancel current changes"
43
+ * class="k-button"
44
+ * @click="cancelChanges">
45
+ * Cancel current changes
46
+ * </button>
47
+ * </grid-toolbar>
48
+ * </Grid>
49
+ * </div>
50
+ * <script>
51
+ * Vue.component('Grid', Grid);
52
+ * Vue.component('grid-toolbar', GridToolbar);
53
+ * new Vue({
54
+ * el: '#app',
55
+ * data: function () {
56
+ * return {
57
+ * products: [
58
+ * { 'foo': 'A1', 'bar': 'B1' },
59
+ * { 'foo': 'A2', 'bar': 'B2' },
60
+ * { 'foo': 'A3', 'bar': 'B2' }
61
+ * ],
62
+ * columns: [
63
+ * { field: 'foo'},
64
+ * { field: 'bar'}
65
+ * ]
66
+ * };
67
+ * }
68
+ * });
69
+ * </script>
70
+ * ```
71
+ *
72
+ *
73
+ * ### props <span class='code'>[GridToolbarProps]({% slug api_grid_toolbarprops %})</span>
74
+ */
75
+
76
+ var GridToolbar = GridToolbarVue2;
77
+ export { GridToolbar, GridToolbarVue2 };
@@ -0,0 +1 @@
1
+ export declare type ScrollMode = 'none' | 'scrollable' | 'virtual';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ import { Page } from '@progress/kendo-vue-data-tools';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export declare class VirtualScroll {
6
+ container: any;
7
+ table: any;
8
+ containerHeight: number;
9
+ topCacheCount: number;
10
+ attendedSkip: number;
11
+ propsSkip: number;
12
+ total: number;
13
+ scrollableVirtual: boolean;
14
+ realSkip: number;
15
+ pageSize: number;
16
+ PageChange: (page: Page, event: any) => void;
17
+ tableBody: any;
18
+ heightContainer: any;
19
+ fixedScroll: boolean;
20
+ askedSkip: number | undefined;
21
+ private prevScrollPos;
22
+ private syncTimeout;
23
+ private tableTranslate;
24
+ private scrollSyncing;
25
+ constructor(cached: boolean, topCacheCount: number);
26
+ /**
27
+ * @return - The row heights in an array.
28
+ */
29
+ get rowHeights(): Array<{
30
+ line: number;
31
+ acc: number;
32
+ }>;
33
+ changePage(skip: number, e: any): void;
34
+ translate(dY: number): void;
35
+ syncScroll(): void;
36
+ reset(): void;
37
+ localScrollUp(e: any): void;
38
+ localScrollDown(e: any): void;
39
+ scrollNonStrict(e: any): void;
40
+ scrollHandler(e: any): void;
41
+ }
@@ -0,0 +1,217 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ var VirtualScroll = /** @class */ (function () {
5
+ function VirtualScroll(cached, topCacheCount) {
6
+ this.containerHeight = 0;
7
+ this.topCacheCount = 0; // 4;
8
+ this.attendedSkip = 0; // -4;
9
+ this.propsSkip = 0;
10
+ this.total = 0;
11
+ this.scrollableVirtual = false;
12
+ this.realSkip = 0;
13
+ this.pageSize = 0;
14
+ this.heightContainer = null;
15
+ this.fixedScroll = false;
16
+ this.askedSkip = undefined;
17
+ this.prevScrollPos = 0;
18
+ this.tableTranslate = 0;
19
+ this.scrollSyncing = false;
20
+ if (cached) {
21
+ this.topCacheCount = topCacheCount;
22
+ this.attendedSkip = -this.topCacheCount;
23
+ }
24
+ this.scrollHandler = this.scrollHandler.bind(this);
25
+ }
26
+ Object.defineProperty(VirtualScroll.prototype, "rowHeights", {
27
+ /**
28
+ * @return - The row heights in an array.
29
+ */
30
+ get: function () {
31
+ var result = [];
32
+ var allRows = this.tableBody && this.tableBody.children || [];
33
+ var accumulate = 0;
34
+ for (var i = 0; i < allRows.length; i++) {
35
+ if (allRows[i].className.indexOf('k-grouping-row') > -1) {
36
+ accumulate += allRows[i].scrollHeight;
37
+ continue;
38
+ }
39
+ if (allRows[i].className.indexOf('k-detail-row') > -1) {
40
+ result[result.length - 1].line += allRows[i].scrollHeight;
41
+ }
42
+ else {
43
+ result.push({
44
+ line: allRows[i].scrollHeight,
45
+ acc: accumulate
46
+ });
47
+ accumulate = 0;
48
+ }
49
+ }
50
+ if (allRows.length && !result.length) {
51
+ result.push({
52
+ line: allRows[0].scrollHeight,
53
+ acc: accumulate
54
+ });
55
+ }
56
+ return result;
57
+ },
58
+ enumerable: false,
59
+ configurable: true
60
+ });
61
+ VirtualScroll.prototype.changePage = function (skip, e) {
62
+ this.attendedSkip = skip - this.topCacheCount;
63
+ this.PageChange({
64
+ skip: Math.max(0, skip - this.topCacheCount),
65
+ take: this.pageSize
66
+ }, e);
67
+ };
68
+ VirtualScroll.prototype.translate = function (dY) {
69
+ this.tableTranslate = dY;
70
+ if (this.scrollableVirtual && this.table) {
71
+ this.table.style.transform = 'translateY(' + dY + 'px)';
72
+ }
73
+ };
74
+ VirtualScroll.prototype.syncScroll = function () {
75
+ if (!this.scrollableVirtual || !this.container) {
76
+ return;
77
+ }
78
+ this.syncTimeout = null;
79
+ var scrollTop = this.container.scrollTop;
80
+ var containerHeight = this.containerHeight; // = this.container.scrollHeight;
81
+ var rowHeights = this.rowHeights;
82
+ var percentage = (scrollTop - this.tableTranslate) / rowHeights[0].line;
83
+ var targetFloorScrollPosition = Math.floor((containerHeight) * (this.propsSkip + percentage) / this.total);
84
+ if (this.container.scrollTop !== (this.prevScrollPos = targetFloorScrollPosition)) {
85
+ this.scrollSyncing = true;
86
+ this.container.scrollTop = (this.prevScrollPos = targetFloorScrollPosition);
87
+ }
88
+ this.translate(this.tableTranslate + targetFloorScrollPosition - scrollTop);
89
+ };
90
+ VirtualScroll.prototype.reset = function () {
91
+ this.scrollSyncing = true;
92
+ if (this.fixedScroll) {
93
+ return;
94
+ }
95
+ if (this.container) {
96
+ this.container.scrollTop = 0;
97
+ }
98
+ this.translate(0);
99
+ };
100
+ VirtualScroll.prototype.localScrollUp = function (e) {
101
+ if (!this.container) {
102
+ return;
103
+ }
104
+ var heights = this.rowHeights;
105
+ var scrollTop = this.container.scrollTop;
106
+ var targetTranslate = this.tableTranslate;
107
+ var rowsCount = 0;
108
+ var additionalOnTop = scrollTop - targetTranslate;
109
+ if (additionalOnTop > 0) {
110
+ return;
111
+ }
112
+ while ((rowsCount < this.topCacheCount + this.attendedSkip - this.realSkip)
113
+ && this.propsSkip - rowsCount > 0 &&
114
+ !(targetTranslate + (heights[heights.length - 1 - rowsCount].line + heights[heights.length - 1 - rowsCount].acc) + additionalOnTop <= scrollTop)) {
115
+ targetTranslate -= heights[heights.length - 1 - rowsCount].line +
116
+ heights[heights.length - 1 - rowsCount].acc;
117
+ rowsCount++;
118
+ }
119
+ if (rowsCount === 0 && this.topCacheCount === 0 && this.attendedSkip > 0) {
120
+ // allows local scrolling up, when top caching is disabled
121
+ // for variable heights 'topCacheCount' should be atleast 1 to avoid flickering
122
+ targetTranslate = Math.max(targetTranslate - heights[0].line, 0);
123
+ rowsCount = 1;
124
+ }
125
+ if (this.propsSkip - rowsCount <= 0 && targetTranslate > scrollTop) {
126
+ this.translate(0);
127
+ this.changePage(0, e);
128
+ this.container.scrollTop = 0;
129
+ return;
130
+ }
131
+ if (targetTranslate > scrollTop) {
132
+ targetTranslate = scrollTop;
133
+ // need to handle these cases
134
+ // if the item height is not available:
135
+ // floor the translate to beginning of the item in absolute value
136
+ }
137
+ if (targetTranslate !== this.tableTranslate) {
138
+ this.translate(targetTranslate);
139
+ this.changePage(this.propsSkip - rowsCount, e);
140
+ }
141
+ };
142
+ VirtualScroll.prototype.localScrollDown = function (e) {
143
+ if (!this.container) {
144
+ return;
145
+ }
146
+ var heights = this.rowHeights;
147
+ var scrollTop = this.container.scrollTop;
148
+ var targetTranslate = this.tableTranslate;
149
+ var rowsCount = 0;
150
+ while (rowsCount < heights.length - this.topCacheCount &&
151
+ !(targetTranslate + heights[rowsCount].line + heights[rowsCount].acc > scrollTop)) {
152
+ targetTranslate += heights[rowsCount].line + heights[rowsCount].acc;
153
+ rowsCount++;
154
+ }
155
+ if (rowsCount >= heights.length - this.topCacheCount && this.propsSkip + rowsCount >= this.total) {
156
+ this.translate(targetTranslate);
157
+ this.changePage(this.total - 1, e);
158
+ }
159
+ else if (targetTranslate !== this.tableTranslate) {
160
+ this.translate(targetTranslate);
161
+ this.changePage(this.propsSkip + rowsCount, e);
162
+ }
163
+ };
164
+ VirtualScroll.prototype.scrollNonStrict = function (e) {
165
+ var floatRowIndex = this.total * this.prevScrollPos / (this.containerHeight);
166
+ var rowIndex = Math.floor(floatRowIndex);
167
+ if (rowIndex >= this.total) {
168
+ rowIndex = this.total - 1;
169
+ }
170
+ var rowpercentage = Math.min(floatRowIndex - rowIndex, 1);
171
+ var microAdjust = 0;
172
+ var rowIndexOffset = rowIndex - this.propsSkip;
173
+ var heights = this.rowHeights;
174
+ if (rowIndexOffset >= 0 && rowIndexOffset <= 1) {
175
+ microAdjust = -((heights[0].line + heights[0].acc) * rowpercentage);
176
+ }
177
+ else if (rowIndexOffset === -1) {
178
+ microAdjust = -((heights[heights.length - 1].line + heights[heights.length - 1].acc) * rowpercentage);
179
+ }
180
+ this.translate(microAdjust + this.containerHeight * floatRowIndex / this.total);
181
+ this.changePage(rowIndex, e);
182
+ };
183
+ VirtualScroll.prototype.scrollHandler = function (e) {
184
+ if (!this.scrollableVirtual) {
185
+ return;
186
+ }
187
+ if (this.scrollSyncing || !this.container || !this.table) {
188
+ this.scrollSyncing = false;
189
+ return;
190
+ }
191
+ var grid = this;
192
+ clearTimeout(this.syncTimeout);
193
+ this.syncTimeout = window.setTimeout(function () { grid.syncScroll(); }, 200);
194
+ var scrollTop = this.container.scrollTop;
195
+ var prev = this.prevScrollPos;
196
+ this.prevScrollPos = scrollTop;
197
+ if (this.askedSkip !== undefined) {
198
+ this.translate(this.containerHeight * this.askedSkip / this.total);
199
+ this.changePage(this.askedSkip, e);
200
+ this.prevScrollPos = scrollTop;
201
+ this.askedSkip = undefined;
202
+ return;
203
+ }
204
+ if (scrollTop - prev < 0 && scrollTop > this.tableTranslate - this.table.scrollHeight / 10) {
205
+ this.localScrollUp(e);
206
+ }
207
+ else if (scrollTop - prev > 0 && scrollTop < this.tableTranslate + this.table.scrollHeight * 2 / 3) {
208
+ this.localScrollDown(e);
209
+ }
210
+ else {
211
+ this.scrollNonStrict(e);
212
+ }
213
+ this.prevScrollPos = scrollTop;
214
+ };
215
+ return VirtualScroll;
216
+ }());
217
+ export { VirtualScroll };