acq : invoice search term focus, misc
authorBill Erickson <berick@esilibrary.com>
Fri, 20 Jul 2012 17:48:15 +0000 (13:48 -0400)
committerBill Erickson <berick@esilibrary.com>
Fri, 20 Jul 2012 17:48:15 +0000 (13:48 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/templates/acq/invoice/view.tt2
Open-ILS/web/js/ui/default/acq/invoice/view.js

index d14c999..d0aefa4 100644 (file)
                             </td>
                         </tr></table>
                     </div> <!-- end search form -->
+                    <div id='acq-unified-results-no_results'>
+                        <b>[% l('No Results') %]</b>
+                    </div>
                     <div id='acq-unified-results-lineitem'>
                         <style>
                             #acq-invoice-search-results-tbody  { width: 100%; }
index f655e3b..a82ce83 100644 (file)
@@ -250,14 +250,14 @@ function performSearch() {
         // limit to provider if a provider is selected
         var provider = invoicePane.getFieldValue('provider');
         if (provider) {
-            console.log('provider = ' + provider);
             if (!searchObject.jub.filter(function(i) { return i.provider != null }).length)
                 searchObject.jub.push({provider : provider});
         }
     }
 
     resultManager.go(searchObject)
-    console.log(js2JSON(searchObject));
+    console.log('Lineitem Search: ' + js2JSON(searchObject));
+    focusLastSearchInput();
 }
 
 
@@ -282,21 +282,40 @@ function renderUnifiedSearch() {
                     resultsLoader.addLineitem(li);
                 },
                 "interface": resultsLoader
+            },
+            "no_results": {
+                "revealer": function() { }
             }
         };
 
         var searchObject = dojo.cookie('invs');
+        console.log('loaded ' + searchObject);
         if (searchObject) {
             // if there is a search object cookie, populate the search form
             termManager.reflect(base64Decode(searchObject));
             dojo.byId("acq-unified-conjunction").setValue(dojo.cookie('invc'));
         } else {
+            console.log('adding row');
             termManager.addRow();
         }
     }
 
     dojo.addClass(dojo.byId('oils-acq-invoice-table'), 'hidden');
     dojo.removeClass(dojo.byId('oils-acq-invoice-search'), 'hidden');
+    focusLastSearchInput();
+}
+
+function focusLastSearchInput() {
+    // TODO: see about making this better and moving it into search/unified.js
+    var wnodes = dojo.query('[name=widget]');
+    var inputNode = wnodes.item(wnodes.length - 1).firstChild;
+    if (inputNode) {
+        try {
+            inputNode.select();
+        } catch(E) {
+            inputNode.focus();
+        }
+    }
 }
 
 var resultsTbody, resultsRow;