From: Bill Erickson Date: Tue, 10 Jul 2012 15:07:53 +0000 (-0400) Subject: acq invoice search; initial experiments X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=3ae7671b95037496b6c8e4458ebdc1de425e293b;p=evergreen%2Fequinox.git acq invoice search; initial experiments Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/templates/acq/invoice/view.tt2 b/Open-ILS/src/templates/acq/invoice/view.tt2 index 7e4d48931b..50c5e94850 100644 --- a/Open-ILS/src/templates/acq/invoice/view.tt2 +++ b/Open-ILS/src/templates/acq/invoice/view.tt2 @@ -1,6 +1,5 @@ [% WRAPPER 'base.tt2' %] [% ctx.page_title = 'Invoicing' %] -
@@ -13,12 +12,15 @@
- + +
@@ -117,6 +119,83 @@
+ + +
@@ -132,6 +211,11 @@
+ + [% END %] diff --git a/Open-ILS/web/js/ui/default/acq/invoice/view.js b/Open-ILS/web/js/ui/default/acq/invoice/view.js index a326299e06..c4b3e1466e 100644 --- a/Open-ILS/web/js/ui/default/acq/invoice/view.js +++ b/Open-ILS/web/js/ui/default/acq/invoice/view.js @@ -1,6 +1,7 @@ dojo.require('dojo.date.locale'); dojo.require('dojo.date.stamp'); dojo.require('dijit.form.CheckBox'); +dojo.require('dijit.form.Button'); dojo.require('dijit.form.CurrencyTextBox'); dojo.require('dijit.form.NumberTextBox'); dojo.require('openils.User'); @@ -35,6 +36,9 @@ var virtualId = -1; var extraCopies = {}; var extraCopiesFund; var widgetRegistry = {acqie : {}, acqii : {}}; +var searchInitDone = false; +var termManager; +var resultManager; function nodeByName(name, context) { return dojo.query('[name='+name+']', context)[0]; @@ -205,6 +209,51 @@ function doAttachPo() { ); } +function renderUnifiedSearch() { + + if (!searchInitDone) { + searchInitDone = true; + termManager = new TermManager(); + resultManager = new ResultManager(); + termManager.addRow(); + resultsLoader = new searchResultsLoader(); + + // define custom lineitem result handler + resultManager.result_types = { + "lineitem": { + "search_options": { + }, + "revealer": function() { + }, + "finisher": function() { + resultsLoader.batch_length = resultManager.count_results; + }, + "adder": function(li) { + resultsLoader.addLineitem(li); + }, + "interface": resultsLoader + } + }; + + } + + dojo.addClass(dojo.byId('oils-acq-invoice-table'), 'hidden'); + dojo.removeClass(dojo.byId('oils-acq-invoice-search'), 'hidden'); +} + +function searchResultsLoader() { + console.log('creating searchResultsLoader...'); + + this.displayOffset = 0; + this.displayLimit = 10; + + this.addLineitem = function(li) { + console.log('adding lineitem ' + li); + dojo.byId('acq-invoice-search-results-div').appendChild( + dojo.create('div', {innerHTML : ' Some Book About Stuff ' + li})); + } +} + function updateTotalCost() { var totalCost = 0; diff --git a/Open-ILS/web/js/ui/default/acq/search/unified.js b/Open-ILS/web/js/ui/default/acq/search/unified.js index 68fb3bb25a..48ffffd231 100644 --- a/Open-ILS/web/js/ui/default/acq/search/unified.js +++ b/Open-ILS/web/js/ui/default/acq/search/unified.js @@ -11,6 +11,10 @@ if (!localeStrings) { /* we can do this because javascript doesn't have block var localeStrings = dojo.i18n.getLocalization('openils.acq', 'acq'); } +if (typeof unifiedSearchMode == 'undefined') { + unifiedSearchMode = ''; +} + var termSelectorFactory; var termManager; var resultManager; @@ -621,6 +625,10 @@ function ResultManager(liPager, poGrid, plGrid, invGrid) { this.plCache = {}; this.invCache = {}; + if (unifiedSearchMode == 'invoice') { + + } else { + this.result_types = { "lineitem": { "search_options": { @@ -700,6 +708,7 @@ function ResultManager(liPager, poGrid, plGrid, invGrid) { "no_results": { "revealer": function() { alert(localeStrings.NO_RESULTS); } } + } }; this._dataLoader = function(opts) { @@ -781,10 +790,16 @@ function ResultManager(liPager, poGrid, plGrid, invGrid) { }; this.go = function(search_object) { + + if (unifiedSearchMode == 'invoice') { + var self = this; + dojo.forEach([1,2,3,4,5], function(idx) {self.add('lineitem', 'foo ' + idx)}); + } else { location.href = oilsBasePath + "/acq/search/unified?" + "so=" + base64Encode(search_object) + "&rt=" + dojo.byId("acq-unified-result-type").getValue() + "&c=" + dojo.byId("acq-unified-conjunction").getValue(); + } }; this.search = function(uriManager, termManager) { @@ -912,7 +927,12 @@ function URIManager() { /* onload */ openils.Util.addOnLoad( function() { + + // onload handled by invoice UI + if (unifiedSearchMode == 'invoice') return; + termManager = new TermManager(); + resultManager = new ResultManager( new LiTablePager(null, new AcqLiTable()), dijit.byId("acq-unified-po-grid"),