Storing the compiled search blob in a cookie. That cookie is used to populate
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 16 Nov 2007 16:44:59 +0000 (16:44 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 16 Nov 2007 16:44:59 +0000 (16:44 +0000)
the advanced search widgets.  (This means we don't have to re-parse the query syntax
in the OPAC).

Removed the hold cancel option from the edit column since Cancel is an
option in the new hold actions dropdown.

git-svn-id: svn://svn.open-ils.org/ILS/trunk@8075 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/opac/common/js/config.js
Open-ILS/web/opac/common/js/opac_utils.js
Open-ILS/web/opac/locale/en-US/opac.dtd
Open-ILS/web/opac/skin/default/js/adv_global.js
Open-ILS/web/opac/skin/default/js/mresult.js
Open-ILS/web/opac/skin/default/js/myopac.js
Open-ILS/web/opac/skin/default/js/rresult.js
Open-ILS/web/opac/skin/default/xml/myopac/myopac_holds.xml

index aca1d7d..e77b3e9 100644 (file)
@@ -82,6 +82,7 @@ var COOKIE_SES                = "ses";
 var COOKIE_FONT        = "fnt";
 var COOKIE_SKIN        = "skin";
 var COOKIE_RIDS        = "rids"; /* list of record ids */
+var COOKIE_SEARCH = 'sr';
 
 /* pages */
 var MRESULT            = "mresult";
index a9835ba..cd0f2a1 100644 (file)
@@ -201,6 +201,10 @@ function initCookies() {
        scaleFonts(font);
        if(font) FONTSIZE = font;
        SKIN = cookieManager.read(COOKIE_SKIN);
+    if(findCurrentPage() == HOME)
+        cookieManager.remove(COOKIE_SEARCH);
+        
+
 }
 
 /* URL param accessors */
@@ -708,6 +712,7 @@ function doLogout(noredirect) {
        cookieManager.remove(COOKIE_RIDS);
        cookieManager.remove(COOKIE_SES);
        cookieManager.remove(COOKIE_SKIN);
+       cookieManager.remove(COOKIE_SEARCH);
 
        checkUserSkin("default");
        COUNT = 10;
index 6315926..653299b 100644 (file)
@@ -201,7 +201,7 @@ avoid using bookbags all together.  Thank you.">
        ================================================================= -->
 <!ENTITY myopac.holds.formats "Formats">
 <!ENTITY myopac.holds.location "Pickup Location">
-<!ENTITY myopac.holds.edit.cancel "Edit/Cancel">
+<!ENTITY myopac.holds.edit "Edit">
 <!ENTITY myopac.holds.status.none "You have no items on hold at this time">
 <!ENTITY myopac.holds.status.waiting "Waiting for copy">
 <!ENTITY myopac.holds.status.intransit "In Transit">
index c5da253..1dd7dd9 100644 (file)
@@ -43,6 +43,40 @@ function advgInit() {
 
     if(getAvail())
         $('opac.result.limit2avail').checked = true;
+
+    initSearchBoxes();
+}
+
+function initSearchBoxes() {
+    /* loads the compiled search from the search cookie 
+        and sets the widgets accordingly */
+
+    search = cookieManager.read(COOKIE_SEARCH);
+    if(!search) return;
+    _debug("loaded compiled search cookie: " + search);
+
+    search = JSON2js(search);
+    if(!search) return;
+
+    var types = getObjectKeys(search.searches);
+
+    /* pre-add the needed rows */
+    while($('adv_global_tbody').getElementsByTagName('tr').length - 1 < types.length)
+        advAddGblRow();
+
+    var rows = $('adv_global_tbody').getElementsByTagName('tr');
+    for(var t = 0; t < types.length; t++) {
+        var row = rows[t];
+        setSelector($n(row, 'type'), types[t]);
+        var term = search.searches[types[t]].term;
+
+        /* if this is a single -<term> search, set the selector to nocontains */
+        if(match = term.match(/^-(\w+)$/)) {
+            term = match[1];
+            setSelector($n(row, 'contains'), 'nocontains');
+        }
+        $n(row, 'term').value = term;
+    }
 }
 
 function advAddGblRow() {
index 97fcd6b..aaad90d 100644 (file)
@@ -51,6 +51,7 @@ function mresultHandleMRIds(r) {
                if( getOffset() == 0 ) HITCOUNT = res.count;
                runEvt('result', 'hitCountReceived');
        } 
+    cookieManager.write(COOKIE_SEARCH, js2JSON(res.compiled_search), -1);
        runEvt('result', 'idsReceived', res.ids);
 }
 
index 11ff6f3..fc8d7cf 100644 (file)
@@ -336,9 +336,6 @@ function myOPACDrawHolds(r) {
 
                tbody.appendChild(row);
 
-               $n(row,'myopac_holds_cancel_link').setAttribute(
-                       'href','javascript:myOPACCancelHold("'+ h.id()+'");'); 
-
                $n(row,'myopac_holds_edit_link').setAttribute(
                        'href','javascript:myOPACEditHold("'+ h.id()+'");'); 
 
@@ -378,15 +375,6 @@ function myOPACEditHold(holdid) {
 }
 
 
-function myOPACCancelHold(holdid) {
-       if( confirm($('myopac_holds_cancel_verify').innerHTML) ) {
-               holdsCancel(holdid);
-               holdsTemplateRow = null
-               myOPACShowHolds();
-       }
-}
-
-
 function myOPACDrawHoldStatus(hold) {
        var req = new Request(FETCH_HOLD_STATUS, G.user.session, hold.id() );
        req.callback(myOShowHoldStatus);
@@ -464,7 +452,6 @@ function _myOPACFleshHoldTitle(hold, holdObjects) {
                if(copy) $n(row, 'copy').appendChild(text(copy.barcode()));
        }
 
-       /*var form = $("myopac_holds_form_" + hold.id() + '_' + record.doc_id());*/
        var form = $("myopac_holds_form_" + hold.id());
 
        if(form) {
index 79ece56..0b11da9 100644 (file)
@@ -299,6 +299,8 @@ function rresultFilterSearchResults(r) {
                for( var i = 0; i != result.ids.length; i++ ) 
                        ids.push(result.ids[i][0]);
        }
+
+    cookieManager.write(COOKIE_SEARCH, js2JSON(result.compiled_search), -1);
        _rresultHandleIds( ids, result.count );
 }
 
index 2d22106..678b2dc 100644 (file)
@@ -43,7 +43,7 @@
                         onclick='myopacSelectNoneHolds();' class='classic_link'  href='javascript:void(0);'>&common.none;</a>)
                 </td>
 
-                               <td>&myopac.holds.edit.cancel;</td>
+                               <td>&myopac.holds.edit;</td>
                        </tr>
                </thead>
 
                                <td name='myopac_holds_cancel' style='border-left: 3px solid #E0E0E0; border-right: 3px solid #E0E0E0;'>
                                        <a href='javascript:void(0);' 
                                                name='myopac_holds_edit_link' class='classic_link'>&myopac.holds.edit;</a>
-                                       <a href='javascript:void(0);' 
-                                               name='myopac_holds_cancel_link' class='classic_link'>&myopac.holds.cancel;</a>
                                </td>
-
                        </tr>
                </tbody>
        </table>