Fixes an issues where modifying the call number label without modifying
any items would result in modifying the call number for all linked items
instead of the items actually loaded in the volcopy editor.
Also fixes a case where modifying call numbers failed to reflect
correctly in the catalog holdings view.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
return;
}
+ // Be sure to include copies when the volume is changed
+ // without any changes to the copies. This ensures the
+ // API knows when we are modifying a subset of the total
+ // copies on a volume, e.g. when changing volume labels
+ if (newVol.ischanged()) { copy.ischanged(true); }
+
if (copy.ischanged() || copy.isnew() || copy.isdeleted()) {
const copyClone = this.idl.clone(copy);
// De-flesh call number
this.broadcaster.listen('eg.holdings.update').subscribe(data => {
if (data && data.records && data.records.includes(this.recordId)) {
- this.refreshHoldings = true;
- this.holdingsGrid.reload();
+ this.hardRefresh();
+ // A hard refresh is needed to accommodate cases where
+ // a new call number is created for a subset of copies.
+ // We may revisit this later and use soft refresh
+ // (below) vs. hard refresh (above) depending on what
+ // specifically is changed.
+ // this.refreshHoldings = true;
+ // this.holdingsGrid.reload();
}
});