2016-10-14 3 views
0

OData-Modelの特定のエンティティのみが保留中の変更をチェックする方法はありますか? 保留中の変更には入力パラメータがありません。また、DeferredGroupsがこれに対して機能するかどうかはわかりません。特定のODataエンティティのみのPendingChanges

私の唯一のアイデアはODataModel.getPendingChanges()を使用しており、結果を文字列で比較しています。しかし、おそらくよりエレガントな選択肢があります。

答えて

0

最後に、カスタムのpendingChangesメソッドでこれを行う方法が見つかりました。

_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機能を適応させることができます。したがって、この関数を拡張して、特定のエンティティセットの特定の属性をチェックするためにこれを使用することができます。

関連する問題