lp1836808 add cancel button to merge edit
authorMike Risher <mrisher@catalyte.io>
Wed, 17 Jul 2019 17:26:34 +0000 (17:26 +0000)
committerGalen Charlton <gmc@equinoxinitiative.org>
Thu, 8 Aug 2019 20:42:53 +0000 (16:42 -0400)
In the merge UI add a button so one can cancel out of editing mode

To test
-------
[1] Apply the patch and create/find a record bucket that has at least
    two records.
[2] In the Record Buckets interface, select two records and invoke
    the Merge Selected Records action.
[3] Select one record as the lead record, then click the Edit button.
[4] Verify that a "Cancel Edit" button is displayed. Make changes to
    the record, then click "Cancel Edit".
[5] Verify that the contents of the record have not changed.
[6] Click the Edit button again; verify that the record is at its
    original state. Make changes, then save them.
[7] Verify that the lead record has been updated.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
Open-ILS/web/js/ui/default/staff/cat/bucket/record/app.js

index b2bcbc5..d1cbbc4 100644 (file)
@@ -51,6 +51,8 @@
                 ng-click="edit_lead_inplace()">[% l('Edit') %]</button>
               <button class="btn btn-default btn-sm" ng-disabled="editing_inplace"
                 ng-click="edit_lead()">[% l('Edit using full editor') %]</button>
+              <button class="btn btn-default btn-sm" ng-show="editing_inplace"
+                ng-click="cancel_edit_lead_inplace()">[% l('Cancel Edit') %]</button>
               <eg-marc-edit-record dirty-flag="dirty_flag" marc-xml="lead.marc_xml"
                  in-place-mode="true" record-type="bre" embedded="true" 
                  ng-show="editing_inplace" on-save="post_edit_inplace">
index 8aaa4db..14ebe42 100644 (file)
@@ -664,8 +664,15 @@ function($scope,  $q , $routeParams,  bucketSvc,  egCore,  $window,
                     updateOneRecord($scope.lead_id, $scope.lead.marc_xml);
                 }
 
+                $scope.cancel_edit_lead_inplace = function() {
+                    $scope.editing_inplace = false;
+                    $scope.lead.marc_xml = $scope.lead.orig_marc_xml;
+                }
+
                 $scope.edit_lead_inplace = function() {
                     $scope.editing_inplace = true;
+                    let lead = { orig_marc_xml : $scope.lead.marc_xml };
+                    $scope.lead = lead;
                 }
                 $scope.edit_lead = function() {
                     var lead = { marc_xml : $scope.lead.marc_xml };