@@ -12,6 +12,7 @@ import type { Item, SubmenuShowMode } from '@js/ui/menu';
1212import { render } from '@js/ui/widget/utils.ink_ripple' ;
1313import MenuItem from '@ts/ui/collection/item' ;
1414import MenuBaseEditStrategy from '@ts/ui/context_menu/menu_base.edit.strategy' ;
15+ import type { BaseDataAdapterOptions } from '@ts/ui/hierarchical_collection/m_data_adapter' ;
1516import HierarchicalCollectionWidget from '@ts/ui/hierarchical_collection/m_hierarchical_collection_widget' ;
1617
1718const DX_MENU_CLASS = 'dx-menu' ;
@@ -210,7 +211,8 @@ class MenuBase extends HierarchicalCollectionWidget<Properties> {
210211 return $popOutContainer ;
211212 }
212213
213- _getDataAdapterOptions ( ) {
214+ // eslint-disable-next-line class-methods-use-this
215+ _getDataAdapterOptions ( ) : BaseDataAdapterOptions {
214216 return {
215217 rootValue : 0 ,
216218 multipleSelection : false ,
@@ -224,6 +226,7 @@ class MenuBase extends HierarchicalCollectionWidget<Properties> {
224226 if ( ! selectedItem ) return ;
225227
226228 const nodeToSelect = this . _dataAdapter . getNodeByItem ( selectedItem ) ;
229+ // @ts -expect-error ts-error
227230 this . _dataAdapter . toggleSelection ( nodeToSelect . internalFields . key , true ) ;
228231 }
229232
@@ -237,7 +240,7 @@ class MenuBase extends HierarchicalCollectionWidget<Properties> {
237240 return ;
238241 }
239242
240- const node = this . _dataAdapter . getNodeByKey ( selectedKey ) ;
243+ const node = this . _dataAdapter . getNodeByKey ( selectedKey ) as Item ;
241244
242245 if ( node . selectable === false ) return ;
243246
@@ -492,7 +495,7 @@ class MenuBase extends HierarchicalCollectionWidget<Properties> {
492495 }
493496
494497 _refreshItem ( $item : dxElementWrapper , item : Item ) : void {
495- const node = this . _dataAdapter . getNodeByItem ( item ) ;
498+ const node = this . _dataAdapter . getNodeByItem ( item ) as Item ;
496499
497500 // @ts -expect-error
498501 const index : number = $item . data ( this . _itemIndexKey ( ) ) ;
@@ -536,7 +539,7 @@ class MenuBase extends HierarchicalCollectionWidget<Properties> {
536539 return ;
537540 }
538541
539- const node = this . _dataAdapter . getNodeByItem ( args . itemData ) ;
542+ const node = this . _dataAdapter . getNodeByItem ( args . itemData ) as Item ;
540543
541544 if ( node . internalFields . key === selectedIndex [ 0 ] ) {
542545 $itemElement . addClass ( this . _selectedItemClass ( ) ) ;
@@ -635,6 +638,7 @@ class MenuBase extends HierarchicalCollectionWidget<Properties> {
635638 const selectedKey = this . _dataAdapter . getSelectedNodesKeys ( ) [ 0 ] ;
636639
637640 if ( node && node . internalFields . key !== selectedKey ) {
641+ // @ts -expect-error ts-error
638642 if ( node . selectable === false ) break ;
639643
640644 if ( selectedKey ) {
@@ -699,7 +703,7 @@ class MenuBase extends HierarchicalCollectionWidget<Properties> {
699703 const itemData = itemElement . nodeType ? this . _getItemData ( itemElement ) : itemElement ;
700704 const selectedKey = this . _dataAdapter . getSelectedNodesKeys ( ) [ 0 ] ;
701705 const selectedItem = this . option ( 'selectedItem' ) ;
702- const node = this . _dataAdapter . getNodeByItem ( itemData ) ;
706+ const node = this . _dataAdapter . getNodeByItem ( itemData ) as Item ;
703707
704708 if ( node . internalFields . key !== selectedKey ) {
705709 if ( selectedKey ) {
@@ -713,7 +717,7 @@ class MenuBase extends HierarchicalCollectionWidget<Properties> {
713717
714718 unselectItem ( itemElement : Element ) : void {
715719 const itemData = itemElement . nodeType ? this . _getItemData ( itemElement ) : itemElement ;
716- const node = this . _dataAdapter . getNodeByItem ( itemData ) ;
720+ const node = this . _dataAdapter . getNodeByItem ( itemData ) as Item ;
717721 const selectedItem = this . option ( 'selectedItem' ) ;
718722
719723 if ( node . internalFields . selected ) {
0 commit comments