From 74d60a87ddd7558026b88fa19fb2c134d81c39f3 Mon Sep 17 00:00:00 2001 From: erickson Date: Wed, 1 Mar 2006 21:16:32 +0000 Subject: [PATCH] added sorting interface to the advanced "refined" git-svn-id: svn://svn.open-ils.org/ILS/trunk@3231 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/opac/skin/default/js/advanced.js | 6 ++ Open-ILS/web/opac/skin/default/js/mresult.js | 63 +++++-------------- .../default/xml/advanced/advanced_refined.xml | 41 ++++++++++-- .../default/xml/advanced/advanced_wizard.xml | 1 + 4 files changed, 59 insertions(+), 52 deletions(-) diff --git a/Open-ILS/web/opac/skin/default/js/advanced.js b/Open-ILS/web/opac/skin/default/js/advanced.js index b90e5b3cff..2b05b1045d 100644 --- a/Open-ILS/web/opac/skin/default/js/advanced.js +++ b/Open-ILS/web/opac/skin/default/js/advanced.js @@ -32,10 +32,12 @@ function advInit() { setEnterFunc($('opac.advanced.quick.issn'), advISSNRun ); setEnterFunc( $n( $('advanced.marc.tbody'), 'advanced.marc.value'), advMARCRun ); + /* setSelector($('advanced.wizard.sort_by'), getSort()); setSelector($('advanced.wizard.sort_dir'), getSortDir()); if(getSort() && getSort() != SORT_TYPE_REL) $('advanced.wizard.sort_dir').disabled = false; + */ } @@ -86,6 +88,8 @@ function advRefinedRun() { var subject = $('advanced.refined.subject_contains').value; var series = $('advanced.refined.series_contains').value; var form = getSelectorVal($('advanced.refined.form_selector')); + var sort = getSelectorVal($('advanced.refined.sort_by')); + var sortdir = getSelectorVal($('advanced.refined.sort_dir')); var blob = {}; title = advRefinedTerm('title', title); @@ -108,6 +112,8 @@ function advRefinedRun() { arg[PARAM_LOCATION] = depthSelGetNewLoc(); arg[PARAM_OFFSET] = 0; arg[PARAM_ADVTYPE] = ADVTYPE_MULTI; + arg[PARAM_SORT] = sort; + arg[PARAM_SORT_DIR] = sortdir; goTo(buildOPACLink(arg)); diff --git a/Open-ILS/web/opac/skin/default/js/mresult.js b/Open-ILS/web/opac/skin/default/js/mresult.js index c139986a2b..f18d7892da 100644 --- a/Open-ILS/web/opac/skin/default/js/mresult.js +++ b/Open-ILS/web/opac/skin/default/js/mresult.js @@ -27,33 +27,6 @@ function mresultDoSearch() { while( table.parentNode.rows.length <= (getDisplayCount() + 1) ) table.appendChild(G.ui.result.row_template.cloneNode(true)); - /* - if(getOffset() == 0 || getHitCount() == null ) { - if( getAdvTerm() && !getTerm() ) { - if(getAdvType() == ADVTYPE_MULTI ) mresultCollectAdvIds(); - if(getAdvType() == ADVTYPE_MARC ) mresultCollectAdvMARCIds(); - if(getAdvType() == ADVTYPE_ISBN ) mresultCollectAdvISBNIds(); - if(getAdvType() == ADVTYPE_ISSN ) mresultCollectAdvISSNIds(); - - } else { - mresultCollectIds(FETCH_MRIDS_FULL); - ADVTERM = ""; - ADVTYPE = ""; - } - - } else { - if( getAdvTerm() && !getTerm() ) { - if(getAdvType() == ADVTYPE_MULTI ) mresultCollectAdvIds(); - if(getAdvType() == ADVTYPE_MARC ) mresultCollectAdvIds(); - - } else { - mresultCollectIds(FETCH_MRIDS); - ADVTERM = ""; - ADVTYPE = ""; - } - } - */ - if( getAdvTerm() && !getTerm() ) { if(getAdvType() == ADVTYPE_MULTI ) mresultCollectAdvIds(); if(getAdvType() == ADVTYPE_MARC ) mresultCollectAdvMARCIds(); @@ -85,21 +58,8 @@ function mresultTryCachedSearch() { return false; } - -/* performs the actual search */ -/* -function mresultCollectIds(method) { - if(!mresultTryCachedSearch()) { - var form = (getForm() == "all") ? null : getForm(); - var req = new Request(method, getStype(), getTerm(), - getLocation(), getDepth(), mresultPreCache, getOffset(), form ); - req.callback(mresultHandleMRIds); - req.send(); - } -} -*/ - function _mresultCollectIds() { + if( getOffset() == 0 || !mresultTryCachedSearch() ) { var form = (!getForm() || getForm() == "all") ? null : getForm(); @@ -123,10 +83,23 @@ function _mresultCollectIds() { function mresultCollectAdvIds() { - if(!mresultTryCachedSearch()) { - var form = (getForm() == "all") ? null : getForm(); + + if(getOffset() == 0 || !mresultTryCachedSearch()) { + + var form = (getForm() == "all") ? null : getForm(); + var sort = (getSort() == SORT_TYPE_REL) ? null : getSort(); + var sortdir = (sort) ? getSortDir() : null; + var req = new Request(FETCH_ADV_MRIDS, - JSON2js(getAdvTerm()), getLocation(), form, mresultPreCache ); + { sort : sort, + sort_dir : sortdir, + org_unit : getLocation(), + depth : getDepth(), + limit : mresultPreCache, + offset : getOffset(), + format : form, + searches : JSON2js(getAdvTerm()) } ); + req.callback(mresultHandleMRIds); req.send(); } @@ -159,10 +132,8 @@ function mresultCollectAdvISSNIds() { } - function mresultHandleMRIds(r) { var res = r.getResultObject(); - if(res.count != null) { if( getOffset() == 0 ) HITCOUNT = res.count; runEvt('result', 'hitCountReceived'); diff --git a/Open-ILS/web/opac/skin/default/xml/advanced/advanced_refined.xml b/Open-ILS/web/opac/skin/default/xml/advanced/advanced_refined.xml index 71ddea1083..454eee03bb 100644 --- a/Open-ILS/web/opac/skin/default/xml/advanced/advanced_refined.xml +++ b/Open-ILS/web/opac/skin/default/xml/advanced/advanced_refined.xml @@ -9,7 +9,7 @@ - + @@ -19,7 +19,7 @@ - + @@ -29,7 +29,7 @@ - + @@ -39,18 +39,47 @@ - + &common.format;: - + - + + + + Sort results by + + + + + + Sort Direction + + + + + + + diff --git a/Open-ILS/web/opac/skin/default/xml/advanced/advanced_wizard.xml b/Open-ILS/web/opac/skin/default/xml/advanced/advanced_wizard.xml index e23810ca06..4263081613 100644 --- a/Open-ILS/web/opac/skin/default/xml/advanced/advanced_wizard.xml +++ b/Open-ILS/web/opac/skin/default/xml/advanced/advanced_wizard.xml @@ -44,6 +44,7 @@ + -- 2.43.2