@@ -5,7 +5,7 @@ import domAdapter from '@js/core/dom_adapter';
55import Guid from '@js/core/guid' ;
66import type { dxElementWrapper } from '@js/core/renderer' ;
77import $ from '@js/core/renderer' ;
8- import { equalByValue } from '@js/core/utils/common' ;
8+ import { equalByValue , getKeyHash } from '@js/core/utils/common' ;
99import type { DeferredObj } from '@js/core/utils/deferred' ;
1010// @ts -expect-error
1111import { Deferred , fromPromise , when } from '@js/core/utils/deferred' ;
@@ -131,7 +131,7 @@ class EditingControllerImpl extends modules.ViewController {
131131
132132 protected _saveEditorHandler : any ;
133133
134- private _internalState : any ;
134+ private _internalState ! : Map < unknown , any > ;
135135
136136 protected _refocusEditCell : any ;
137137
@@ -193,7 +193,7 @@ class EditingControllerImpl extends modules.ViewController {
193193 this . _updateEditButtons ( ) ;
194194
195195 if ( ! this . _internalState ) {
196- this . _internalState = [ ] ;
196+ this . _internalState = new Map ( ) ;
197197 }
198198
199199 this . component . _optionsByReference [ EDITING_EDITROWKEY_OPTION_NAME ] = true ;
@@ -272,7 +272,7 @@ class EditingControllerImpl extends modules.ViewController {
272272 }
273273
274274 private _getInternalData ( key ) {
275- return this . _internalState . filter ( ( item ) => equalByValue ( item . key , key ) ) [ 0 ] ;
275+ return this . _internalState . get ( getKeyHash ( key ) ) ;
276276 }
277277
278278 public _addInternalData ( params ) {
@@ -282,7 +282,7 @@ class EditingControllerImpl extends modules.ViewController {
282282 return extend ( internalData , params ) ;
283283 }
284284
285- this . _internalState . push ( params ) ;
285+ this . _internalState . set ( getKeyHash ( params . key ) , params ) ;
286286 return params ;
287287 }
288288
@@ -1329,12 +1329,7 @@ class EditingControllerImpl extends modules.ViewController {
13291329 }
13301330
13311331 private _removeInternalData ( key ) {
1332- const internalData = this . _getInternalData ( key ) ;
1333- const index = this . _internalState . indexOf ( internalData ) ;
1334-
1335- if ( index > - 1 ) {
1336- this . _internalState . splice ( index , 1 ) ;
1337- }
1332+ this . _internalState . delete ( getKeyHash ( key ) ) ;
13381333 }
13391334
13401335 private _updateInsertAfterOrBeforeKeys ( changes , index ) {
@@ -1770,8 +1765,7 @@ class EditingControllerImpl extends modules.ViewController {
17701765 return deferred . promise ( ) ;
17711766 }
17721767
1773- // @ts -expect-error
1774- private _resolveAfterSave ( deferred , { cancel, error } = { } ) {
1768+ private _resolveAfterSave ( deferred , { cancel = undefined , error = undefined } = { } ) {
17751769 // @ts -expect-error
17761770 when ( this . _afterSaveEditData ( cancel ) ) . done ( ( ) => {
17771771 deferred . resolve ( error ) ;
@@ -1860,7 +1854,6 @@ class EditingControllerImpl extends modules.ViewController {
18601854 } ) . done ( ( ) => {
18611855 this . _resolveAfterSave ( deferred ) ;
18621856 } ) . fail ( ( error ) => {
1863- // @ts -expect-error
18641857 this . _resolveAfterSave ( deferred , { error } ) ;
18651858 } ) ;
18661859 }
0 commit comments