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;
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));
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++) {
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);
# -*- coding: utf-8 -*-
<%inherit file='base.html'/>
+<%namespace file='/oils/default/common/jubgrid.html' name='jubgrid'/>
<%def name="page_title()">${_('Title Search')}</%def>
<%def name="block_content()">
</style>
<script>
- var searchLimit = ${c.oils.acq.limit.value} || 10;
var searchOffset = ${c.oils.acq.offset.value} || 0;
- function viewPicklist(id) {
- location.href = '${c.oils.acq.prefix.value}/picklist/view/' + id;
- }
</script>
<div id='oils-acq-search-block' class='container'>
multiple='true' jsId="bibSourceSelect" dojoType="dojox.form.CheckedMultiSelect">
<option value='native-evergreen-catalog'>${_('Evergreen Catalog')}</option>
</select>
+ <div id='oils-acq-search-progress'>
+ <div dojoType="dijit.ProgressBar" style="width:300px" jsId="searchProgress" id="searchProgress"></div>
+ </div>
+ <script>dojo.style('searchProgress', 'visibility', 'hidden');</script>
</div>
<div id='oils-acq-search-form-block'>
<div id='oils-acq-search-fields-label'>${_('Search Fields')}</div>
<td name='label'> </td>
<td name='input'> </td>
</tr>
+ <tr id='oils-acq-seach-fields-count-row'>
+ <td name='label'>Hits Per Source</td>
+ <td><input name='limit'
+ dojoType='dijit.form.NumberSpinner'
+ constraints='{min:5,max:50}'
+ value='10'></input>
+ </td>
+ </tr>
</tbody>
</table>
<div id='oils-acq-search-fields-submit-block'>
</div>
</div>
</form>
- <div id='oils-acq-search-progress'>
- <div dojoType="dijit.ProgressBar" style="width:300px" jsId="searchProgress" id="searchProgress"></div>
+ <div id='oils-acq-pl-search-results' style='height:100%'>
+ <script>
+ dojo.require('dijit.form.FilteringSelect');
+ </script>
+ <div dojoType="dijit.Toolbar" class='menuBar'>
+ <div dojoType="dijit.form.DropDownButton">
+ <span>Actions</span>
+ <div dojoType="dijit.Menu">
+ <div dojoType="dijit.MenuItem"
+ iconClass="dijitEditorIcon dijitEditorIconCopy"
+ onClick='saveAllAsPl();'>Save All as Picklist</div>
+ <div dojoType="dijit.MenuItem"
+ iconClass="dijitEditorIcon dijitEditorIconCopy">Save Selected as Picklist</div>
+ <div dojoType="dijit.MenuItem"
+ iconClass="dijitEditorIcon dijitEditorIconCopy">Add All to Picklist</div>
+ <div dojoType="dijit.MenuItem"
+ iconClass="dijitEditorIcon dijitEditorIconCopy">Add Selected to Picklist</div>
+ </div>
+ </div>
+ </div>
+ ${jubgrid.jubgrid('oils-acq-lineitem', 'plResultGrid')}
</div>
- <script>dojo.style('searchProgress', 'visibility', 'hidden');</script>
+ <script>dojo.style('oils-acq-pl-search-results', 'visibility', 'hidden');</script>
</%def>