Saving row data with AngularJS ui-grid $scope.saveRow

后端 未结 3 2238
不思量自难忘°
不思量自难忘° 2021-02-09 22:12

I\'m working on a small frontend application which will show various product shipping data in a ui-grid.

I have the following code:

HTML:

相关标签:
3条回答
  • 2021-02-09 22:57

    I had actually used the code submitted by punkologist and it was indeed working but there seemed to be errors in the console on resolving promise after including $interval.

    I guess the following is the appropriate code to make it run error free. Hope it works.

    $scope.saveRow = function( rowEntity ) {
    
    var promise = $q.defer();
    $http.put('/Home/UpdateRow',row).success(function(){
    $interval(function(){
         promise.resolved();
         },3000, 1)
    }).error(promise.reject);
    
    $scope.gridApi.rowEdit.setSavePromise($scope.gridApi.grid, rowEntity, promise);
    };
    
    0 讨论(0)
  • 2021-02-09 23:00

    You would normally do the promise/api call in a separate repository, but basically the code you are looking for is something like this:

     $scope.saveRow = function( rowEntity ) {
    
        var promise = $scope.someRepositoryFunction(rowEntity);
        $scope.gridApi.rowEdit.setSavePromise($scope.gridApi.grid, rowEntity, promise);
    
        // fake a delay of 3 seconds whilst the save occurs, return error if gender is "male"
        //$interval( function() {
        //    if (rowEntity.firstName === 'male' ){
        //        promise.reject();
        //    } else {
        //        promise.resolve();
        //    }
        //}, 3000, 1);
    };
    
    $scope.someRepositoryFunction = function(row) {
        return $http.put('/Home/UpdateRow',row);
    }
    
    0 讨论(0)
  • 2021-02-09 23:04

    I'm not allowed to comment so I have to submit an answer. The answer above is incorrect in that the $scope.gridApi.grid parameter to teh setSavePromise function is NOT required. Although the function does require a grid parameter, it is added by the wrapper during the .apply call.

    0 讨论(0)
提交回复
热议问题