From: erickson Date: Fri, 23 May 2008 00:23:25 +0000 (+0000) Subject: For faster discovery, showing search results on search-form page instead X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=d3857883b365515cec7caed2d455ebb59be2aa83;p=Evergreen.git For faster discovery, showing search results on search-form page instead of redirecting to the picklist detail page. need to wire up the actions git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9681 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/picklist/bib_search.js b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/picklist/bib_search.js index 3785c34e4d..9a065b107d 100644 --- a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/picklist/bib_search.js +++ b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/picklist/bib_search.js @@ -3,7 +3,9 @@ dojo.require('fieldmapper.Fieldmapper'); dojo.require('dijit.ProgressBar'); dojo.require('dijit.form.Form'); dojo.require('dijit.form.TextBox'); +dojo.require('dijit.form.NumberSpinner'); dojo.require('openils.Event'); +dojo.require('openils.acq.Picklist'); var searchFields = []; var resultPicklist; @@ -45,7 +47,8 @@ function drawForm() { var field = searchFields[f]; if(dijit.byId('text_input_'+field.name)) continue; var row = tmpl.cloneNode(true); - tbody.appendChild(row); + //tbody.appendChild(row); + tbody.insertBefore(row, dojo.byId('oils-acq-seach-fields-count-row')); var labelCell = dojo.query('[name=label]', row)[0]; var inputCell = dojo.query('[name=input]', row)[0]; labelCell.appendChild(document.createTextNode(field.label)); @@ -56,15 +59,17 @@ function drawForm() { function doSearch(values) { dojo.style('searchProgress', 'visibility', 'visible'); + searchProgress.update({progress: 0}); search = { service : [], username : [], password : [], search : {}, - limit : searchLimit, + limit : values.limit, offset : searchOffset - } + }; + delete values.limit; var selected = bibSourceSelect.getValue(); for(var i = 0; i < selected.length; i++) { @@ -93,8 +98,21 @@ function doSearch(values) { function handleResult(r) { var result = r.recv().content(); if(result.complete) - return viewPicklist(result.picklist_id); + return viewResults(result.picklist_id); searchProgress.update({maximum: result.total, progress: result.progress}); } +function viewResults(plId) { + var plist = new openils.acq.Picklist(plId, + function(model) { + dojo.style('oils-acq-pl-search-results', 'visibility', 'visible'); + JUBGrid.populate(plResultGrid, model, plist._items); + dojo.style('oils-acq-lineitem-details-grid', 'visibility', 'hidden'); + } + ); +} + +function saveAllAsPl() { +} + dojo.addOnLoad(drawForm); diff --git a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/bib_search.html b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/bib_search.html index 6a6c4d139d..30d5c44af8 100644 --- a/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/bib_search.html +++ b/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/bib_search.html @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- <%inherit file='base.html'/> +<%namespace file='/oils/default/common/jubgrid.html' name='jubgrid'/> <%def name="page_title()">${_('Title Search')} <%def name="block_content()"> @@ -10,11 +11,7 @@
@@ -29,6 +26,10 @@ multiple='true' jsId="bibSourceSelect" dojoType="dojox.form.CheckedMultiSelect"> +
+
+
+
${_('Search Fields')}
@@ -40,6 +41,14 @@ + + Hits Per Source + + +
@@ -48,10 +57,29 @@
-
-
+
+ + + ${jubgrid.jubgrid('oils-acq-lineitem', 'plResultGrid')}
- +