From d4c8e167074996084d16e7c122fe79062da9a9c6 Mon Sep 17 00:00:00 2001 From: erickson Date: Wed, 11 Jan 2006 00:11:16 +0000 Subject: [PATCH] early bookbag code git-svn-id: svn://svn.open-ils.org/ILS/trunk@2675 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/opac/common/js/config.js | 9 +++ Open-ILS/web/opac/skin/default/js/myopac.js | 74 ++++++++++++++++++- .../default/xml/myopac/myopac_bookbags.xml | 37 ++++++++++ .../web/opac/skin/default/xml/page_myopac.xml | 6 ++ 4 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 Open-ILS/web/opac/skin/default/xml/myopac/myopac_bookbags.xml diff --git a/Open-ILS/web/opac/common/js/config.js b/Open-ILS/web/opac/common/js/config.js index 02f405e990..3cb4df8a2b 100644 --- a/Open-ILS/web/opac/common/js/config.js +++ b/Open-ILS/web/opac/common/js/config.js @@ -71,6 +71,10 @@ var ADVTYPE_ISSN = 'issn'; var LOGOUT_WARNING_TIME = 30; /* "head up" for session timeout */ +/* user preferences */ +var PREF_HITS_PER = 'opac.hits_per_page'; +var PREF_BOOKBAG = 'opac.bookbag_enabled'; + /* container for global variables shared accross pages */ var G = {}; @@ -229,6 +233,11 @@ var FETCH_ADV_ISSN_MRIDS = "open-ils.search:open-ils.search.biblio.issn"; var FETCH_CNBROWSE_TARGET = 'open-ils.search:open-ils.search.callnumber.browse.target'; var FETCH_CNBROWSE_PREV = 'open-ils.search:open-ils.search.callnumber.browse.page_up'; var FETCH_CNBROWSE_NEXT = 'open-ils.search:open-ils.search.callnumber.browse.page_down'; +var FETCH_CONTAINERS = 'open-ils.actor:open-ils.actor.container.retrieve_by_class'; +var CREATE_CONTAINER = 'open-ils.actor:open-ils.actor.container.create'; +var DELETE_CONTAINER = 'open-ils.actor:open-ils.actor.container.delete'; +var CREATE_CONTAINER_ITEM = 'open-ils.actor:open-ils.actor.container.item.create'; +var DELETE_CONTAINER_ITEM = 'open-ils.actor:open-ils.actor.container.item.delete'; /* ---------------------------------------------------------------------------- */ diff --git a/Open-ILS/web/opac/skin/default/js/myopac.js b/Open-ILS/web/opac/skin/default/js/myopac.js index bd742670fc..9b22b36bac 100644 --- a/Open-ILS/web/opac/skin/default/js/myopac.js +++ b/Open-ILS/web/opac/skin/default/js/myopac.js @@ -25,12 +25,14 @@ function myOPACChangePage( page ) { var f = $("myopac_fines_td"); var h = $("myopac_holds_td"); var p = $("myopac_prefs_td"); + var b = $('myopac_bookbag_td'); var ss = $("myopac_summary_div"); var cc = $("myopac_checked_div"); var ff = $("myopac_fines_div"); var hh = $("myopac_holds_div"); var pp = $("myopac_prefs_div"); + var bb = $('myopac_bookbag_div'); var cls = "myopac_link"; var acls = "myopac_link_active"; @@ -38,12 +40,14 @@ function myOPACChangePage( page ) { hideMe(ss); hideMe(cc); hideMe(ff); hideMe(hh); hideMe(pp); + hideMe(bb); removeCSSClass(s, acls ); removeCSSClass(c, acls ); removeCSSClass(f, acls ); removeCSSClass(h, acls ); removeCSSClass(p, acls ); + removeCSSClass(b, acls ); switch( page ) { @@ -76,6 +80,12 @@ function myOPACChangePage( page ) { addCSSClass(p, acls ); myOPACShowPrefs(); break; + + case 'bookbag': + unHideMe(bb); + addCSSClass(b, acls); + myOPACShowBookbags(); + break; } /* @@ -353,7 +363,7 @@ function myOPACShowTransactions(r) { } function myOPACSavePrefs() { - G.user.prefs['opac.hits_per_page'] = getSelectorVal($('prefs_hits_per')); + G.user.prefs[PREF_HITS_PER] = getSelectorVal($('prefs_hits_per')); if(commitUserPrefs()) alert($('prefs_update_success').innerHTML); else alert($('prefs_update_failure').innerHTML); @@ -369,8 +379,8 @@ function myOPACShowPrefs() { function myOPACShowHitsPer() { var hits = 10; - if(G.user.prefs['opac.hits_per_page']) - hits = G.user.prefs['opac.hits_per_page']; + if(G.user.prefs[PREF_HITS_PER]) + hits = G.user.prefs[PREF_HITS_PER]; var hitsSel = $('prefs_hits_per'); setSelector(hitsSel, hits); } @@ -508,3 +518,61 @@ function myOPACUpdatePassword() { +var containerTemplate; +function myOPACShowBookbags(force) { + + var tbody =$('myopac_bookbag_tbody') ; + + if(!containerTemplate) + containerTemplate = tbody.removeChild($('myopac_bookbag_tr')); + else if(!force) return; + + removeChildren(tbody); + + + var req = new Request( + FETCH_CONTAINERS, G.user.session, G.user.id(), 'biblio', 'bookbag' ); + + req.send(true); + var containers = req.result(); + + for( var i in containers ) { + var cont = containers[i]; + var row = containerTemplate.cloneNode(true); + row.id = 'bookbag_item_' + cont.id(); + var link = $n(row, 'myopac_expand_bookbag'); + link.appendChild( text(cont.name()) ); + link.setAttribute('href', + 'javascript:myOPACExpandBookbag("' + cont.id() + '","' + cont.name() + '");'); + tbody.appendChild(row); + } + +} + +function myOPACExpandBookbag( id, name ) { + alert("Expanding: " + id + ' : ' + name ); +} + + +function myOPACCreateBookbag() { + var name = $('myopac_bookbag_new_name').value; + if(!name) return; + + var container = new cbreb(); + container.btype('bookbag'); + container.owner( G.user.id() ); + container.name( name ); + + var req = new Request( + CREATE_CONTAINER, G.user.session, 'biblio', container ); + + req.send(true); + + var result = req.result(); + var code = checkILSEvent(result); + if(code) { alertILSEvent(code); return; } + + myOPACShowBookbags(true); +} + + diff --git a/Open-ILS/web/opac/skin/default/xml/myopac/myopac_bookbags.xml b/Open-ILS/web/opac/skin/default/xml/myopac/myopac_bookbags.xml new file mode 100644 index 0000000000..1d7f568f7e --- /dev/null +++ b/Open-ILS/web/opac/skin/default/xml/myopac/myopac_bookbags.xml @@ -0,0 +1,37 @@ + +
+ +
+ + You have not created any bookbags + + + + + + + + + + + +
My Bookbags
X Items
+ +

+ + + + + + + + + +
Create a new Bookbag
+ Enter the name of the new Bookbag: + + +
+
+ diff --git a/Open-ILS/web/opac/skin/default/xml/page_myopac.xml b/Open-ILS/web/opac/skin/default/xml/page_myopac.xml index fc6aeeb97f..4222a81b08 100644 --- a/Open-ILS/web/opac/skin/default/xml/page_myopac.xml +++ b/Open-ILS/web/opac/skin/default/xml/page_myopac.xml @@ -44,6 +44,11 @@ onclick='myOPACChangePage("prefs");'>Preferences + + Bookbags + + @@ -58,6 +63,7 @@ + -- 2.43.2