work on mark delivered
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 29 May 2020 19:43:02 +0000 (15:43 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Fri, 29 May 2020 19:43:02 +0000 (15:43 -0400)
- add progress bar
- implement it on the staged tab

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/web/js/ui/default/staff/circ/curbside/directives/arrived_manager.js
Open-ILS/web/js/ui/default/staff/circ/curbside/directives/staged_manager.js

index 77d940e..5c24ff4 100644 (file)
@@ -7,9 +7,9 @@ angular.module('egCurbsideAppDep')
         scope: { },
         templateUrl: './circ/curbside/t_arrived_manager',
         controller:
-       ['$scope','$q','egCurbsideCoreSvc','egCore','egGridDataProvider',
+       ['$scope','$q','egCurbsideCoreSvc','egCore','egGridDataProvider','egProgressDialog',
         '$uibModal','$timeout','$location','egConfirmDialog','ngToast','$interval',
-function($scope , $q , egCurbsideCoreSvc , egCore , egGridDataProvider ,
+function($scope , $q , egCurbsideCoreSvc , egCore , egGridDataProvider , egProgressDialog ,
          $uibModal , $timeout , $location , egConfirmDialog , ngToast , $interval) {
 
     $scope.gridControls = {};
@@ -62,7 +62,9 @@ function($scope , $q , egCurbsideCoreSvc , egCore , egGridDataProvider ,
 
     $scope.gridCellHandlers = { };
     $scope.gridCellHandlers.mark_delivered = function(id) {
+        egProgressDialog.open();
         egCurbsideCoreSvc.mark_delivered(id).then(function(resp) {
+            egProgressDialog.close();
             if (evt = egCore.evt.parse(resp)) {
                 ngToast.danger(egCore.strings.$replace(
                     egCore.strings.FAILED_CURBSIDE_MARK_DELIVERED,
index db5d988..ac6fa90 100644 (file)
@@ -7,9 +7,9 @@ angular.module('egCurbsideAppDep')
         scope: { },
         templateUrl: './circ/curbside/t_staged_manager',
         controller:
-       ['$scope','$q','egCurbsideCoreSvc','egCore','egGridDataProvider',
+       ['$scope','$q','egCurbsideCoreSvc','egCore','egGridDataProvider','egProgressDialog',
         '$uibModal','$timeout','$location','egConfirmDialog','ngToast','$interval',
-function($scope , $q , egCurbsideCoreSvc , egCore , egGridDataProvider ,
+function($scope , $q , egCurbsideCoreSvc , egCore , egGridDataProvider , egProgressDialog ,
          $uibModal , $timeout , $location , egConfirmDialog , ngToast , $interval) {
 
     $scope.gridControls = {};
@@ -85,6 +85,32 @@ function($scope , $q , egCurbsideCoreSvc , egCore , egGridDataProvider ,
             $timeout(function() { $scope.refresh_staged() }, 500);
         });
     }
+    $scope.gridCellHandlers.mark_delivered = function(id) {
+        egProgressDialog.open();
+        egCurbsideCoreSvc.mark_delivered(id).then(function(resp) {
+            egProgressDialog.close();
+            if (evt = egCore.evt.parse(resp)) {
+                ngToast.danger(egCore.strings.$replace(
+                    egCore.strings.FAILED_CURBSIDE_MARK_DELIVERED,
+                    { slot_id : id, evt_code : evt.code }
+                ));
+                return;
+            }
+            if (!angular.isDefined(resp)) {
+                ngToast.warning(egCore.strings.$replace(
+                    egCore.strings.NOTFOUND_CURBSIDE_MARK_DELIVERED,
+                    { slot_id : id }
+                ));
+                return;
+            }
+            ngToast.success(egCore.strings.$replace(
+                egCore.strings.SUCCESS_CURBSIDE_MARK_DELIVERED,
+                { slot_id : id }
+            ));
+            $scope.wasHandled[id] = true;
+            $timeout(function() { $scope.refresh_staged() }, 500);
+        });
+    }
     $scope.gridCellHandlers.wasHandled = function(id) {
         return $scope.wasHandled[id];
     }