@progress/kendo-vue-layout 2.5.2-dev.202110121006 → 2.5.2-dev.202110150637

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.
@@ -28,6 +28,8 @@ var gh = allVue.h;
28
28
 
29
29
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
30
30
 
31
+ var kendo_vue_common_2 = require("@progress/kendo-vue-common");
32
+
31
33
  var itemsIdsUtils_1 = require("../utils/itemsIdsUtils");
32
34
 
33
35
  var prepareInputItemsForInternalWork_1 = require("../utils/prepareInputItemsForInternalWork");
@@ -42,9 +44,8 @@ var DirectionHolder_1 = require("../utils/DirectionHolder");
42
44
 
43
45
  var MouseOverHandler_1 = require("../utils/MouseOverHandler");
44
46
 
45
- var package_metadata_1 = require("../../package-metadata");
47
+ var package_metadata_1 = require("../../package-metadata"); // tslint:enable:max-line-length
46
48
 
47
- var initialItemsIds = {}; // tslint:enable:max-line-length
48
49
 
49
50
  var Menu = {
50
51
  name: 'KendoMenu',
@@ -63,12 +64,12 @@ var Menu = {
63
64
  customCloseItemIds: Array
64
65
  },
65
66
  created: function created() {
66
- kendo_vue_common_1.validatePackage(package_metadata_1.packageMetadata);
67
+ kendo_vue_common_2.validatePackage(package_metadata_1.packageMetadata);
67
68
  this.mouseOverHandler = new MouseOverHandler_1.MouseOverHandler(this.$props.openOnClick, this.reset, this.onItemMouseOver); // private itemHoverRequest: any;
68
69
  // private itemLeaveRequest: any;
69
70
  // private menuWrapperEl: any;
70
71
 
71
- this.guid = kendo_vue_common_1.guid();
72
+ this.guid = kendo_vue_common_2.guid();
72
73
  this.directionHolder = new DirectionHolder_1.DirectionHolder();
73
74
  this.inputItems = [];
74
75
  this.currentItems = []; // private mouseOverHandler: MouseOverHandler;
@@ -128,10 +129,6 @@ var Menu = {
128
129
 
129
130
  var lastItemIdToBeOpened = this.hoveredItemId ? this.hoveredItemId : this.focusedItemId ? itemsIdsUtils_1.getDirectParentId(this.focusedItemId) : itemsIdsUtils_1.EMPTY_ID;
130
131
  return h("div", {
131
- onKeydown: this.onKeyDown,
132
- on: this.v3 ? undefined : {
133
- "keydown": this.onKeyDown
134
- },
135
132
  "class": this.getMenuWrapperClassName(),
136
133
  ref: function ref(el) {
137
134
  return _this.menuWrapperEl = el;
@@ -148,9 +145,10 @@ var Menu = {
148
145
  focusedItemId: this.focusedItemId,
149
146
  lastItemIdToBeOpened: lastItemIdToBeOpened,
150
147
  tabbableItemId: this.tabbableItemId,
151
- itemRender: this.$props.itemRender,
152
- linkRender: this.$props.linkRender,
153
- menuGuid: this.guid
148
+ itemRender: kendo_vue_common_1.templateRendering.call(this, this.$props.itemRender, kendo_vue_common_1.getListeners.call(this)),
149
+ linkRender: kendo_vue_common_1.templateRendering.call(this, this.$props.linkRender, kendo_vue_common_1.getListeners.call(this)),
150
+ menuGuid: this.guid,
151
+ originalItemNeeded: this.getInputItem
154
152
  },
155
153
  items: this.currentItems,
156
154
  isMenuVertical: this.$props.vertical,
@@ -158,31 +156,34 @@ var Menu = {
158
156
  focusedItemId: this.focusedItemId,
159
157
  lastItemIdToBeOpened: lastItemIdToBeOpened,
160
158
  tabbableItemId: this.tabbableItemId,
161
- itemRender: this.$props.itemRender,
162
- linkRender: this.$props.linkRender,
159
+ itemRender: kendo_vue_common_1.templateRendering.call(this, this.$props.itemRender, kendo_vue_common_1.getListeners.call(this)),
160
+ linkRender: kendo_vue_common_1.templateRendering.call(this, this.$props.linkRender, kendo_vue_common_1.getListeners.call(this)),
163
161
  menuGuid: this.guid,
164
162
  onMouseleave: this.onItemMouseLeave,
165
163
  on: this.v3 ? undefined : {
166
164
  "mouseleave": this.onItemMouseLeave,
167
165
  "mouseover": this.onItemMouseOver,
168
166
  "mousedown": this.onItemMouseDown,
167
+ "keydown": this.onKeyDown,
169
168
  "focus": this.onItemFocus,
170
169
  "click": this.onItemClick,
171
- "blur": this.onItemBlur,
172
- "originalitemneeded": this.getInputItem
170
+ "blur": this.onItemBlur
173
171
  },
174
172
  onMouseover: this.onItemMouseOver,
175
173
  onMousedown: this.onItemMouseDown,
174
+ onKeydown: this.onKeyDown,
176
175
  onFocus: this.onItemFocus,
177
176
  onClick: this.onItemClick,
178
177
  onBlur: this.onItemBlur,
179
- onOriginalitemneeded: this.getInputItem
178
+ originalItemNeeded: this.getInputItem
180
179
  })]);
181
180
  },
182
181
  methods: {
183
182
  reset: function reset() {
184
183
  this.clearItemHoverAndLeaveRequestsIfApplicable();
185
- this.setState(initialItemsIds);
184
+ this.focusedItemId = itemsIdsUtils_1.EMPTY_ID;
185
+ this.hoveredItemId = itemsIdsUtils_1.EMPTY_ID;
186
+ this.tabbableItemId = itemsIdsUtils_1.ZERO_LEVEL_ZERO_ITEM_ID;
186
187
  },
187
188
  onKeyDown: function onKeyDown(event) {
188
189
  // The focusedItemId may be empty when contentRender is used.
@@ -196,7 +197,7 @@ var Menu = {
196
197
  this.setFocusedItemId(newItemId);
197
198
  }
198
199
 
199
- if ((event.keyCode === kendo_vue_common_1.Keys.enter || event.keyCode === kendo_vue_common_1.Keys.space) && !currentItem.disabled) {
200
+ if ((event.keyCode === kendo_vue_common_2.Keys.enter || event.keyCode === kendo_vue_common_2.Keys.space) && !currentItem.disabled) {
200
201
  this.mouseOverHandler.handleItemSelectedViaKeyboard();
201
202
  this.dispatchSelectEventIfWired(event, currentItem.id);
202
203
 
@@ -262,6 +263,7 @@ var Menu = {
262
263
  var tabbableItemId = focusedItemId === itemsIdsUtils_1.EMPTY_ID ? this.tabbableItemId : itemsIdsUtils_1.getRootParentId(focusedItemId);
263
264
  var hoveredItemId = focusedItemId === itemsIdsUtils_1.EMPTY_ID || itemsIdsUtils_1.isIdEmptyOrZeroLevel(this.hoveredItemId) && itemsIdsUtils_1.isIdEmptyOrZeroLevel(focusedItemId) ? this.hoveredItemId : itemsIdsUtils_1.EMPTY_ID;
264
265
  this.hoveredItemId = hoveredItemId;
266
+ this.focusedItemId = focusedItemId;
265
267
  this.tabbableItemId = tabbableItemId;
266
268
  },
267
269
  setHoveredItemId: function setHoveredItemId(hoveredItemId) {
@@ -296,7 +298,7 @@ var Menu = {
296
298
  return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.menuWrapperEl && getComputedStyle(this.menuWrapperEl).direction === 'rtl';
297
299
  },
298
300
  prepareItems: function prepareItems() {
299
- var _a = prepareInputItemsForInternalWork_1.prepareInputItemsForInternalWork(this.$props.items),
301
+ var _a = prepareInputItemsForInternalWork_1.prepareInputItemsForInternalWork.call(this, this.$props.items),
300
302
  items = _a.items,
301
303
  inputItems = _a.inputItems;
302
304
 
@@ -18,6 +18,7 @@ export interface MenuItemInternalProps extends BaseMenuItemInternalProps {
18
18
  export interface MenuItemInternalState {
19
19
  itemElement: any;
20
20
  isFirstRender: boolean;
21
+ prevFocusedItemId?: string;
21
22
  kendoAnchorRef: any;
22
23
  _anchor: string;
23
24
  }
@@ -25,6 +26,12 @@ export interface MenuItemInternalState {
25
26
  * @hidden
26
27
  */
27
28
  export interface MenuItemInternalComputed {
29
+ currentItemRender: any;
30
+ currentLinkRender: any;
31
+ contentRender: any;
32
+ currentOpened: boolean;
33
+ popupClassName: string;
34
+ menuItemClassName: object;
28
35
  }
29
36
  /**
30
37
  * @hidden
@@ -28,6 +28,16 @@ var MenuItemArrow_1 = require("./MenuItemArrow"); // tslint:enable:max-line-leng
28
28
 
29
29
  var MenuItemInternal = {
30
30
  name: 'KendoMenuItemInternal',
31
+ // @ts-ignore
32
+ emits: {
33
+ 'keydown': null,
34
+ 'mouseover': null,
35
+ 'mouseleave': null,
36
+ 'blur': null,
37
+ 'focus': null,
38
+ 'click': null,
39
+ 'mousedown': null
40
+ },
31
41
  props: {
32
42
  item: Object,
33
43
  focusedItemId: String,
@@ -37,10 +47,12 @@ var MenuItemInternal = {
37
47
  linkRender: [String, Object, Function],
38
48
  isMenuVertical: Boolean,
39
49
  isDirectionRightToLeft: Boolean,
40
- menuGuid: String
50
+ menuGuid: String,
51
+ originalItemNeeded: Function
41
52
  },
42
53
  created: function created() {
43
54
  this.itemElement = null;
55
+ this.prevFocusedItemId = this.$props.focusedItemId;
44
56
  this.isFirstRender = true;
45
57
  this._anchor = kendo_vue_common_1.guid();
46
58
  },
@@ -50,7 +62,7 @@ var MenuItemInternal = {
50
62
  };
51
63
  },
52
64
  mounted: function mounted() {
53
- this.itemElement = this.$refs[this._anchor];
65
+ this.itemElement = this.v3 ? this.kendoAnchorRef : this.$refs[this._anchor];
54
66
  var focusedItemId = this.$props.focusedItemId;
55
67
  var currentItemId = this.$props.item.id; // If the menu item component has been just mounted due to
56
68
  // keyboard navigation and it is the selected one.
@@ -61,26 +73,29 @@ var MenuItemInternal = {
61
73
 
62
74
  this.isFirstRender = false;
63
75
  },
76
+ watch: {
77
+ focusedItemId: function focusedItemId(_, oldValue) {
78
+ this.prevFocusedItemId = oldValue;
79
+ }
80
+ },
64
81
  updated: function updated() {
65
82
  var focusedItemId = this.$props.focusedItemId;
66
83
  var currentItemId = this.$props.item.id;
67
84
 
68
- if (focusedItemId) {// If the item has been navigated to via the keyboard navigation
85
+ if (focusedItemId) {
86
+ // If the item has been navigated to via the keyboard navigation
69
87
  // (Clicking and focusing an item also come here).
70
- // if (prevProps.focusedItemId !== focusedItemId
71
- // && focusedItemId === currentItemId
72
- // // https://github.com/telerik/kendo-react/issues/216 :
73
- // // No need to focus the wrapping menu item DOM element
74
- // // when a child DOM element was clicked.
75
- // && !this.itemElement.contains(document.activeElement)) {
76
- // this.itemElement.focus();
77
- // }
88
+ if (this.prevFocusedItemId !== focusedItemId && focusedItemId === currentItemId // No need to focus the wrapping menu item DOM element
89
+ // when a child DOM element was clicked.
90
+ && !this.itemElement.contains(document.activeElement)) {
91
+ this.itemElement.focus();
92
+ }
78
93
  } else if (document.activeElement === this.itemElement) {
79
94
  this.itemElement.blur();
80
95
  }
81
96
  },
82
97
  computed: {
83
- currnetItemRender: function currnetItemRender() {
98
+ currentItemRender: function currentItemRender() {
84
99
  return this.$props.item.render || this.$props.itemRender;
85
100
  },
86
101
  currentLinkRender: function currentLinkRender() {
@@ -100,6 +115,18 @@ var MenuItemInternal = {
100
115
  'k-menu-popup': true,
101
116
  'k-rtl': this.$props.isDirectionRightToLeft
102
117
  });
118
+ },
119
+ menuItemClassName: function menuItemClassName() {
120
+ var _a;
121
+
122
+ var item = this.$props.item;
123
+ return _a = {
124
+ 'k-item': true,
125
+ 'k-menu-item': true,
126
+ 'k-first': itemsIdsUtils_1.isFirstItemFromSiblings(item.id),
127
+ 'k-last': item.isLastFromSiblings,
128
+ 'k-state-disabled': item.disabled
129
+ }, _a[item.cssClass ? item.cssClass : ''] = item.cssClass, _a;
103
130
  }
104
131
  },
105
132
  // @ts-ignore
@@ -120,20 +147,25 @@ var MenuItemInternal = {
120
147
 
121
148
  var renderContent = function renderContent() {
122
149
  var parentItemId = this.$props.item.contentParentItemId;
150
+
151
+ var contentRender = function contentRender(args) {
152
+ return kendo_vue_common_1.getTemplate.call(this, {
153
+ h: h,
154
+ template: this.contentRender,
155
+ additionalProps: args
156
+ });
157
+ };
158
+
123
159
  return h("div", {
124
160
  "class": "k-content",
125
161
  role: "presentation",
126
162
  attrs: this.v3 ? undefined : {
127
163
  role: "presentation"
128
164
  }
129
- }, [h(this.contentRender, {
165
+ }, [contentRender.call(this, {
130
166
  item: this.handleOriginalItemNeeded(parentItemId),
131
- attrs: this.v3 ? undefined : {
132
- item: this.handleOriginalItemNeeded(parentItemId),
133
- itemId: parentItemId
134
- },
135
167
  itemId: parentItemId
136
- })]);
168
+ }), h(this.contentRender)]);
137
169
  };
138
170
 
139
171
  var renderMenuIconIfApplicable = function renderMenuIconIfApplicable() {
@@ -165,42 +197,39 @@ var MenuItemInternal = {
165
197
  var renderMenuItemLink = function renderMenuItemLink() {
166
198
  var _this2 = this;
167
199
 
168
- if (this.currentLinkRender) {
169
- return h(this.currentLinkRender, {
170
- item: this.$props.onOriginalItemNeeded(item.id),
171
- attrs: this.v3 ? undefined : {
172
- item: this.$props.onOriginalItemNeeded(item.id),
173
- itemId: item.id,
174
- opened: this.currentOpened,
175
- dir: misc_1.convertBoolDirectionToString(this.$props.isDirectionRightToLeft)
176
- },
200
+ var defaultItemRender = item.text;
201
+ var textOrItemRender = kendo_vue_common_1.getTemplate.call(this, {
202
+ h: h,
203
+ template: this.currentItemRender,
204
+ defaultRendering: defaultItemRender,
205
+ additionalProps: {
206
+ item: this.$props.originalItemNeeded(item.id),
207
+ itemId: item.id,
208
+ key: '1'
209
+ }
210
+ });
211
+ var defaultLink = // @ts-ignore function children
212
+ h(MenuItemLink_1.MenuItemLink, {
213
+ url: item.url,
214
+ attrs: this.v3 ? undefined : {
215
+ url: item.url,
216
+ opened: this.currentOpened
217
+ },
218
+ opened: this.currentOpened
219
+ }, this.v3 ? function () {
220
+ return [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]];
221
+ } : [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]]);
222
+ return kendo_vue_common_1.getTemplate.call(this, {
223
+ h: h,
224
+ template: this.currentLinkRender,
225
+ defaultRendering: defaultLink,
226
+ additionalProps: {
227
+ item: this.$props.originalItemNeeded(item.id),
177
228
  itemId: item.id,
178
229
  opened: this.currentOpened,
179
230
  dir: misc_1.convertBoolDirectionToString(this.$props.isDirectionRightToLeft)
180
- });
181
- } else {
182
- var textOrItemRender = this.currnetItemRender ? h(this.currnetItemRender, {
183
- item: this.$props.onOriginalItemNeeded(item.id),
184
- attrs: this.v3 ? undefined : {
185
- item: this.$props.onOriginalItemNeeded(item.id),
186
- itemId: item.id
187
- },
188
- itemId: item.id,
189
- key: "1"
190
- }) : item.text;
191
- return (// @ts-ignore function children
192
- h(MenuItemLink_1.MenuItemLink, {
193
- url: item.url,
194
- attrs: this.v3 ? undefined : {
195
- url: item.url,
196
- opened: this.currentOpened
197
- },
198
- opened: this.currentOpened
199
- }, this.v3 ? function () {
200
- return [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]];
201
- } : [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]])
202
- );
203
- }
231
+ }
232
+ });
204
233
  };
205
234
 
206
235
  var renderPopupIfOpened = function renderPopupIfOpened() {
@@ -244,7 +273,8 @@ var MenuItemInternal = {
244
273
  itemRender: _this3.$props.itemRender,
245
274
  linkRender: _this3.$props.linkRender,
246
275
  isMenuVertical: _this3.$props.isMenuVertical,
247
- isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft
276
+ isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,
277
+ originalItemNeeded: _this3.handleOriginalItemNeeded
248
278
  },
249
279
  items: _this3.$props.item.items,
250
280
  menuGuid: _this3.$props.menuGuid,
@@ -260,18 +290,19 @@ var MenuItemInternal = {
260
290
  on: _this3.v3 ? undefined : {
261
291
  "mouseover": _this3.handleItemMouseOver,
262
292
  "mouseleave": _this3.handleItemMouseLeave,
263
- "mousedown": _this3.handleItemMouseDown,
293
+ "mousedown": _this3.handleMouseDown,
264
294
  "blur": _this3.handleItemMouseBlur,
265
295
  "focus": _this3.handleItemMouseFocus,
266
- "click": _this3.handleItemMouseClick,
267
- "originalitemneeded": _this3.handleOriginalItemNeeded
296
+ "click": _this3.handleClick,
297
+ "keydown": _this3.handleKeyDown
268
298
  },
269
299
  onMouseleave: _this3.handleItemMouseLeave,
270
- onMousedown: _this3.handleItemMouseDown,
300
+ onMousedown: _this3.handleMouseDown,
271
301
  onBlur: _this3.handleItemMouseBlur,
272
302
  onFocus: _this3.handleItemMouseFocus,
273
- onClick: _this3.handleItemMouseClick,
274
- onOriginalitemneeded: _this3.handleOriginalItemNeeded
303
+ onClick: _this3.handleClick,
304
+ onKeydown: _this3.handleKeyDown,
305
+ originalItemNeeded: _this3.handleOriginalItemNeeded
275
306
  })];
276
307
  } : [h(MenuItemInternalsList_1.MenuItemInternalsList, {
277
308
  parentItemId: itemId,
@@ -285,7 +316,8 @@ var MenuItemInternal = {
285
316
  itemRender: _this3.$props.itemRender,
286
317
  linkRender: _this3.$props.linkRender,
287
318
  isMenuVertical: _this3.$props.isMenuVertical,
288
- isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft
319
+ isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,
320
+ originalItemNeeded: _this3.handleOriginalItemNeeded
289
321
  },
290
322
  items: _this3.$props.item.items,
291
323
  menuGuid: _this3.$props.menuGuid,
@@ -301,18 +333,19 @@ var MenuItemInternal = {
301
333
  on: _this3.v3 ? undefined : {
302
334
  "mouseover": _this3.handleItemMouseOver,
303
335
  "mouseleave": _this3.handleItemMouseLeave,
304
- "mousedown": _this3.handleItemMouseDown,
336
+ "mousedown": _this3.handleMouseDown,
305
337
  "blur": _this3.handleItemMouseBlur,
306
338
  "focus": _this3.handleItemMouseFocus,
307
- "click": _this3.handleItemMouseClick,
308
- "originalitemneeded": _this3.handleOriginalItemNeeded
339
+ "click": _this3.handleClick,
340
+ "keydown": _this3.handleKeyDown
309
341
  },
310
342
  onMouseleave: _this3.handleItemMouseLeave,
311
- onMousedown: _this3.handleItemMouseDown,
343
+ onMousedown: _this3.handleMouseDown,
312
344
  onBlur: _this3.handleItemMouseBlur,
313
345
  onFocus: _this3.handleItemMouseFocus,
314
- onClick: _this3.handleItemMouseClick,
315
- onOriginalitemneeded: _this3.handleOriginalItemNeeded
346
+ onClick: _this3.handleClick,
347
+ onKeydown: _this3.handleKeyDown,
348
+ originalItemNeeded: _this3.handleOriginalItemNeeded
316
349
  })])
317
350
  );
318
351
  };
@@ -345,7 +378,8 @@ var MenuItemInternal = {
345
378
  },
346
379
  "click": function click(event) {
347
380
  return _this.handleClick(event, itemId);
348
- }
381
+ },
382
+ "keydown": this.handleKeyDown
349
383
  },
350
384
  onMouseleave: this.onMouseLeave,
351
385
  onMousedown: function mousedown(event) {
@@ -360,6 +394,7 @@ var MenuItemInternal = {
360
394
  onClick: function click(event) {
361
395
  return _this.handleClick(event, itemId);
362
396
  },
397
+ onKeydown: this.handleKeyDown,
363
398
  role: "menuitem",
364
399
  "aria-disabled": item.disabled ? true : undefined,
365
400
  "aria-haspopup": item.items.length > 0 ? true : undefined,
@@ -373,24 +408,21 @@ var MenuItemInternal = {
373
408
  }, [this.contentRender ? renderContent.call(this) : renderMenuItemLink.call(this), renderPopupIfOpened.call(this)]);
374
409
  },
375
410
  methods: {
411
+ handleKeyDown: function handleKeyDown(event) {
412
+ this.$emit('keydown', event);
413
+ },
376
414
  handleItemMouseOver: function handleItemMouseOver(event) {
377
415
  this.$emit('mouseover', event);
378
416
  },
379
417
  handleItemMouseLeave: function handleItemMouseLeave(event) {
380
418
  this.$emit('mouseleave', event);
381
419
  },
382
- handleItemMouseDown: function handleItemMouseDown(event) {
383
- this.$emit('mousedown', event);
384
- },
385
420
  handleItemMouseBlur: function handleItemMouseBlur(event) {
386
421
  this.$emit('blur', event);
387
422
  },
388
423
  handleItemMouseFocus: function handleItemMouseFocus(event) {
389
424
  this.$emit('focus', event);
390
425
  },
391
- handleItemMouseClick: function handleItemMouseClick(event) {
392
- this.$emit('click', event);
393
- },
394
426
  handleClick: function handleClick(event, itemId) {
395
427
  this.$emit('click', event, itemId);
396
428
  },
@@ -404,7 +436,7 @@ var MenuItemInternal = {
404
436
  this.$emit('mousedown', event);
405
437
  },
406
438
  handleOriginalItemNeeded: function handleOriginalItemNeeded(event) {
407
- this.$emit('originalitemneeded', event);
439
+ this.$props.originalItemNeeded(event);
408
440
  },
409
441
  onMouseOver: function onMouseOver(event) {
410
442
  this.$emit('mouseover', this.$props.item.id);
@@ -413,18 +445,6 @@ var MenuItemInternal = {
413
445
  onMouseLeave: function onMouseLeave(event) {
414
446
  this.$emit('mouseleave', this.$props.item.id);
415
447
  event.stopPropagation();
416
- },
417
- menuItemClassName: function menuItemClassName() {
418
- var _a;
419
-
420
- var item = this.$props.item;
421
- return _a = {
422
- 'k-item': true,
423
- 'k-menu-item': true,
424
- 'k-first': itemsIdsUtils_1.isFirstItemFromSiblings(item.id),
425
- 'k-last': item.isLastFromSiblings,
426
- 'k-state-disabled': item.disabled
427
- }, _a[item.cssClass ? item.cssClass : ''] = item.cssClass, _a;
428
448
  }
429
449
  }
430
450
  };
@@ -17,6 +17,16 @@ var misc_1 = require("./../utils/misc"); // tslint:enable:max-line-length
17
17
 
18
18
  var MenuItemInternalsList = {
19
19
  name: 'KendoMenuItemInternalsList',
20
+ // @ts-ignore
21
+ emits: {
22
+ 'keydown': null,
23
+ 'mouseover': null,
24
+ 'mouseleave': null,
25
+ 'blur': null,
26
+ 'focus': null,
27
+ 'click': null,
28
+ 'mousedown': null
29
+ },
20
30
  props: {
21
31
  items: Array,
22
32
  parentItemId: String,
@@ -27,7 +37,8 @@ var MenuItemInternalsList = {
27
37
  linkRender: [String, Object, Function],
28
38
  isMenuVertical: Boolean,
29
39
  isDirectionRightToLeft: Boolean,
30
- menuGuid: String
40
+ menuGuid: String,
41
+ originalItemNeeded: Function
31
42
  },
32
43
  // @ts-ignore
33
44
  setup: !gh ? undefined : function () {
@@ -54,7 +65,8 @@ var MenuItemInternalsList = {
54
65
  tabbableItemId: this.$props.tabbableItemId,
55
66
  itemRender: this.$props.itemRender,
56
67
  linkRender: this.$props.linkRender,
57
- menuGuid: this.$props.menuGuid
68
+ menuGuid: this.$props.menuGuid,
69
+ originalItemNeeded: this.handleOriginalItemNeeded
58
70
  },
59
71
  isMenuVertical: this.$props.isMenuVertical,
60
72
  isDirectionRightToLeft: this.$props.isDirectionRightToLeft,
@@ -69,17 +81,18 @@ var MenuItemInternalsList = {
69
81
  "mouseover": this.handleItemMouseOver,
70
82
  "mouseleave": this.handleItemMouseLeave,
71
83
  "mousedown": this.handleItemMouseDown,
84
+ "keydown": this.handleKeyDown,
72
85
  "blur": this.handleItemMouseBlur,
73
86
  "focus": this.handleItemMouseFocus,
74
- "click": this.handleItemMouseClick,
75
- "originalitemneeded": this.handleOriginalItemNeeded
87
+ "click": this.handleItemMouseClick
76
88
  },
77
89
  onMouseleave: this.handleItemMouseLeave,
78
90
  onMousedown: this.handleItemMouseDown,
91
+ onKeydown: this.handleKeyDown,
79
92
  onBlur: this.handleItemMouseBlur,
80
93
  onFocus: this.handleItemMouseFocus,
81
94
  onClick: this.handleItemMouseClick,
82
- onOriginalitemneeded: this.handleOriginalItemNeeded,
95
+ originalItemNeeded: this.handleOriginalItemNeeded,
83
96
  key: index
84
97
  })
85
98
  );
@@ -102,8 +115,11 @@ var MenuItemInternalsList = {
102
115
  }, [renderChildItems.call(this)]);
103
116
  },
104
117
  methods: {
118
+ handleKeyDown: function handleKeyDown(event) {
119
+ this.$emit('keydown', event);
120
+ },
105
121
  handleOriginalItemNeeded: function handleOriginalItemNeeded(event) {
106
- this.$emit('originalitemneeded', event);
122
+ this.$props.originalItemNeeded(event);
107
123
  },
108
124
  handleItemMouseOver: function handleItemMouseOver(event) {
109
125
  this.$emit('mouseover', event);
@@ -2,4 +2,4 @@ import { MenuItemModel } from '../models/MenuItemModel';
2
2
  /**
3
3
  * @hidden
4
4
  */
5
- export declare function prepareInputItemsForInternalWork(models?: MenuItemModel[]): any;
5
+ export declare function prepareInputItemsForInternalWork(this: any, models?: MenuItemModel[]): any;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prepareInputItemsForInternalWork = void 0;
4
+ var kendo_vue_common_1 = require("@progress/kendo-vue-common");
4
5
  var itemsIdsUtils_1 = require("./itemsIdsUtils");
5
6
  /**
6
7
  * @hidden
@@ -8,7 +9,7 @@ var itemsIdsUtils_1 = require("./itemsIdsUtils");
8
9
  function prepareInputItemsForInternalWork(models) {
9
10
  if (models && models.length > 0) {
10
11
  return {
11
- items: convertInputModelsToInternalOnesHelper(models),
12
+ items: convertInputModelsToInternalOnesHelper.call(this, models),
12
13
  inputItems: models
13
14
  };
14
15
  }
@@ -39,13 +40,13 @@ function copyInputItemWithoutChildren(inputModel) {
39
40
  result.cssStyle = cssStyle;
40
41
  }
41
42
  if (render !== undefined) {
42
- result.render = render;
43
+ result.render = kendo_vue_common_1.templateRendering.call(this, render, kendo_vue_common_1.getListeners.call(this));
43
44
  }
44
45
  if (linkRender !== undefined) {
45
- result.linkRender = linkRender;
46
+ result.linkRender = kendo_vue_common_1.templateRendering.call(this, linkRender, kendo_vue_common_1.getListeners.call(this));
46
47
  }
47
48
  if (contentRender !== undefined) {
48
- result.contentRender = contentRender;
49
+ result.contentRender = kendo_vue_common_1.templateRendering.call(this, contentRender, kendo_vue_common_1.getListeners.call(this));
49
50
  }
50
51
  if (data !== undefined) {
51
52
  result.data = data;
@@ -56,7 +57,7 @@ function convertInputModelsToInternalOnesHelper(inputModels, parentId) {
56
57
  var result = [];
57
58
  for (var index = 0; index < inputModels.length; index++) {
58
59
  var inputModel = inputModels[index];
59
- var internalModel = copyInputItemWithoutChildren(inputModel);
60
+ var internalModel = copyInputItemWithoutChildren.call(this, inputModel);
60
61
  internalModel.id = itemsIdsUtils_1.createId(index.toString(), parentId);
61
62
  internalModel.isLastFromSiblings = index === inputModels.length - 1;
62
63
  internalModel.items = copyOrCreateModelChildren(inputModel, internalModel);
@@ -75,7 +76,7 @@ function copyOrCreateModelChildren(inputModel, internalModel) {
75
76
  }];
76
77
  }
77
78
  else if (inputModel.items) {
78
- return convertInputModelsToInternalOnesHelper(inputModel.items, internalModel.id);
79
+ return convertInputModelsToInternalOnesHelper.call(this, inputModel.items, internalModel.id);
79
80
  }
80
81
  else {
81
82
  return [];
@@ -8,7 +8,7 @@ exports.packageMetadata = {
8
8
  name: '@progress/kendo-vue-layout',
9
9
  productName: 'Kendo UI for Vue',
10
10
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
11
- publishDate: 1634033037,
11
+ publishDate: 1634279685,
12
12
  version: '',
13
13
  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'
14
14
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@progress/kendo-vue-layout",
3
3
  "description": "Kendo UI for Vue Layouts package",
4
- "version": "2.5.2-dev.202110121006",
4
+ "version": "2.5.2-dev.202110150637",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/telerik/kendo-vue.git"
@@ -36,20 +36,20 @@
36
36
  "vue": "^2.6.12 || ^3.0.2"
37
37
  },
38
38
  "dependencies": {
39
- "@progress/kendo-vue-animation": "2.5.2-dev.202110121006",
40
- "@progress/kendo-vue-common": "2.5.2-dev.202110121006",
41
- "@progress/kendo-vue-popup": "2.5.2-dev.202110121006"
39
+ "@progress/kendo-vue-animation": "2.5.2-dev.202110150637",
40
+ "@progress/kendo-vue-common": "2.5.2-dev.202110150637",
41
+ "@progress/kendo-vue-popup": "2.5.2-dev.202110150637"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@progress/kendo-data-query": "^1.5.0",
45
45
  "@progress/kendo-date-math": "^1.5.1",
46
46
  "@progress/kendo-drawing": "^1.8.0",
47
47
  "@progress/kendo-licensing": "^1.0.1",
48
- "@progress/kendo-vue-buttons": "2.5.2-dev.202110121006",
49
- "@progress/kendo-vue-dateinputs": "2.5.2-dev.202110121006",
50
- "@progress/kendo-vue-dropdowns": "2.5.2-dev.202110121006",
51
- "@progress/kendo-vue-inputs": "2.5.2-dev.202110121006",
52
- "@progress/kendo-vue-intl": "2.5.2-dev.202110121006"
48
+ "@progress/kendo-vue-buttons": "2.5.2-dev.202110150637",
49
+ "@progress/kendo-vue-dateinputs": "2.5.2-dev.202110150637",
50
+ "@progress/kendo-vue-dropdowns": "2.5.2-dev.202110150637",
51
+ "@progress/kendo-vue-inputs": "2.5.2-dev.202110150637",
52
+ "@progress/kendo-vue-intl": "2.5.2-dev.202110150637"
53
53
  },
54
54
  "@progress": {
55
55
  "friendlyName": "Layouts",