2016-10-14 5 views
0

보류중인 변경 사항에 대해 OData-Model의 특정 엔터티 만 검사 할 수 있습니까? 보류중인 변경 사항에는 입력 매개 변수가 없으며 DeferredGroups가이 작업을 수행 할 것인지 확실하지 않습니다.특정 OData 엔터티에 대한 PendingChanges

나의 유일한 아이디어는 ODataModel.getPendingChanges()을 사용하고 그 결과에 대해 문자열 비교를합니다. 하지만 좀 더 우아한 옵션이있을 수 있습니다.

답변

0

마지막으로 사용자 정의 pendingChanges-Method를 사용하여이 작업을 수행하는 방법을 발견했습니다.

_hasPendingChanges: function() { 
    var oPendingChanges = this._oODataModel.getPendingChanges(), 
     sValue = "MyEntitySetToIgnore", 
     bReturn; 

     var aPendingChanges = $.map(oPendingChanges, function(value, index) { 
      return [index]; 
     }); 


     for (var i = 0; i < aPendingChanges.length; i++) { 
      if (aPendingChanges.toString().startsWith(sValue)) { 
       bReturn = this.DoSomeSpecialThingsHere(); 
      } else { 
       return true; 
      } 

      if (bReturn) { 
       return true; 
      } 
     } 

     return false; 
    }, 

또한 인덱스 대신 값을 반환하여 특정 entityset의 보류중인 변경 내용을 반환 $ .MAP 기능을 적용 할 수 있습니다. 따라서이 기능을 확장하여 특정 엔터티 집합의 특정 특성을 확인하는 데 사용할 수 있습니다.

관련 문제