From: Bill Erickson Date: Fri, 19 Aug 2011 19:50:22 +0000 (-0400) Subject: Vandelay: repair item attr context org selector X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=a120c6b0fd0b94774a4720ecc3365d0da9c443dd;p=evergreen%2Fpines.git Vandelay: repair item attr context org selector 1. Prevents resetting the context selector to the workstation org unit each time it's changed. 2. Prevent the unintentional pileup of dojo.connect() events, which can lead to exponential growth in the number of server calls to fetch import-item-attribute-definitions with each change of the context org selector. Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/web/js/ui/default/vandelay/vandelay.js b/Open-ILS/web/js/ui/default/vandelay/vandelay.js index fbca54e762..3d6f019ffe 100644 --- a/Open-ILS/web/js/ui/default/vandelay/vandelay.js +++ b/Open-ILS/web/js/ui/default/vandelay/vandelay.js @@ -1690,23 +1690,30 @@ function buildProfileGrid() { /* --- Import Item Attr Grid --------------- */ var itemAttrContextOrg; +var itemAttrGridFirstTime = true; function vlShowImportItemAttrEditor() { displayGlobalDiv('vl-item-attr-editor-div'); - buildImportItemAttrGrid(); - var connect = function() { - dojo.connect(itemAttrContextOrgSelector, 'onChange', - function() { - itemAttrContextOrg = this.attr('value'); - itemAttrGrid.resetStore(); - vlShowImportItemAttrEditor(); - } - ); - }; + if (itemAttrGridFirstTime) { - new openils.User().buildPermOrgSelector( - 'ADMIN_IMPORT_ITEM_ATTR_DEF', - itemAttrContextOrgSelector, null, connect); + buildImportItemAttrGrid(); + + var connect = function() { + dojo.connect(itemAttrContextOrgSelector, 'onChange', + function() { + itemAttrContextOrg = this.attr('value'); + itemAttrGrid.resetStore(); + buildImportItemAttrGrid(); + } + ); + }; + + new openils.User().buildPermOrgSelector( + 'ADMIN_IMPORT_ITEM_ATTR_DEF', + itemAttrContextOrgSelector, null, connect); + + itemAttrGridFirstTime = false; + } } function buildImportItemAttrGrid() {