From: Lebbeous Fogle-Weekley Date: Mon, 30 Jan 2012 18:41:55 +0000 (-0500) Subject: Avoid three-scrollbar situation in Acq -> Providers -> Invoices tab X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fuser%2Fsenator%2Flp-922128-for-rel_2_1;p=working%2FEvergreen.git Avoid three-scrollbar situation in Acq -> Providers -> Invoices tab You can certainly still get two scrollbars here, which is unfortunate, but at least you shouldn't be able to get three anymore. This solution also gives us a way to deal with the same problem if/when it is seen in other interfaces (I feel like I've seen it occasionally). Before now, AutoGrid created a content pane dynamically and placed place it in the DOM before its own root DOM node. Depending on where that lands in a surrounding hierarchy of dijit.layout.ContentPane objects, that can create a situation where more scrollbars are generated to show more DOM objects in a limited space. This generated content pane is where AutoGrid puts its Back, Next and potentially Filter links. Now you can specify a DOM node where you want that material to go instead, and control the layout better. Signed-off-by: Lebbeous Fogle-Weekley --- diff --git a/Open-ILS/web/js/dojo/openils/widget/AutoGrid.js b/Open-ILS/web/js/dojo/openils/widget/AutoGrid.js index ecbdf953e1..e6b84128ce 100644 --- a/Open-ILS/web/js/dojo/openils/widget/AutoGrid.js +++ b/Open-ILS/web/js/dojo/openils/widget/AutoGrid.js @@ -27,6 +27,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { selectorWidth : '1.5', showColumnPicker : false, columnPickerPrefix : null, + paginatorSlot : null, /* takes DOM node ID */ displayLimit : 15, displayOffset : 0, requiredFields : null, @@ -82,8 +83,15 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { if(!this.hidePaginator) { var self = this; - this.paginator = new dijit.layout.ContentPane(); + var paginator_node; + + if (this.paginatorSlot) { + paginator_node = dojo.byId(this.paginatorSlot); + } else { + paginator_node = new dijit.layout.ContentPane().domNode; + dojo.place(paginator_node, this.domNode, 'before'); + } var back = dojo.create('a', { innerHTML : 'Back', // TODO i18n @@ -107,9 +115,8 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { } }); - dojo.place(this.paginator.domNode, this.domNode, 'before'); - dojo.place(back, this.paginator.domNode); - dojo.place(forw, this.paginator.domNode); + dojo.place(back, paginator_node); + dojo.place(forw, paginator_node); if(this.showLoadFilter) { dojo.require('openils.widget.PCrudFilterDialog'); @@ -128,7 +135,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { dialog.show(); } }), - this.paginator.domNode + paginator_node ); } @@ -137,7 +144,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { src:'/opac/images/progressbar_green.gif', // TODO configured path style:'height:16px;width:16px;' }); - dojo.place(this.loadProgressIndicator, this.paginator.domNode); + dojo.place(this.loadProgressIndicator, paginator_node); } }, diff --git a/Open-ILS/web/templates/default/conify/global/acq/provider.tt2 b/Open-ILS/web/templates/default/conify/global/acq/provider.tt2 index 5d559cd658..a4ac2107e0 100644 --- a/Open-ILS/web/templates/default/conify/global/acq/provider.tt2 +++ b/Open-ILS/web/templates/default/conify/global/acq/provider.tt2 @@ -61,8 +61,10 @@ +
Delete Selected +
Delete Selected +
Delete Selected +
Delete Selected +
- Invoices +
+
Invoices
+
+
+