Changeset 37550


Ignore:
Timestamp:
2023-03-20T14:49:28+13:00 (13 months ago)
Author:
kjdon
Message:

work in progress: tidying up and simplifying favourites. docList and berrylist now just hold ids = collection:nodeID, rather than structure. all display handled by the xsl so don't need the other bits here.

Location:
main/trunk/greenstone3/web/interfaces/default/js/favouritebasket
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/js/favouritebasket/favouritebasket.js

    r37523 r37550  
    1 //used to stored the current items in basket, including collection name, document id and dodument title
    2 //in the format of collection:id:[title], it is updated when the page is loaded (reloaded) or the user adds
    3 // new items in the basket (see ygDDplayer.js). It is used to show the contents of the basket.
     1//used to stored the current items in basket, including collection name and document id
     2//in the format of collection:id. it is updated when the page is loaded (reloaded) or the user adds
     3// new items in the basket.
    44
    55// note we only support favourites now, not the old drag and drop berry baskets
     
    99
    1010
    11 var countFavourites = function(callback) {
     11var countFavouritesUNUSED = function(callback) {
    1212        var request_type = "GET";
    1313    var url = gs.xsltParams.library_name + "?a=pr&rt=r&ro=1&s=GetNumFavourites&o=XML&hhf="+makeURLComponentSafe("[{\"name\":\"Cache-Control\", \"value\":\"no-cache\"}]")+"&c=";
     
    4646        for (var i=0;i < items.length ; i++ ){
    4747
    48             var itemID = items[i].getAttribute('collection')+":"+items[i].getAttribute('name');
     48            var itemID = items[i].getAttribute('collection')+":"+items[i].getAttribute('nodeID');
    4949            var item = YAHOO.util.Dom.get(itemID);
    5050
     
    5353                    item.setAttribute("data-is-favourite","true");
    5454            }
    55             berryList[berryList.length] = items[i];
     55            berryList[berryList.length] = itemID;//items[i];
    5656        }
    5757
     
    7878            if (berry.className && berry.className == 'pick'){
    7979                berry.style.visibility = "visible";
    80                 // new ygDDPlayer(berry.id,'basket',berryList); // **** can go
    8180            }
    8281        }
     
    8584
    8685    var responseFailure = function(o){
    87         console.error("Berry Basket GetItems AJAX call failed:" + url);
     86        console.error("GetNumFavourites AJAX call failed:" + url);
    8887    }
    8988
     
    121120
    122121        if (items.length > 0){
    123                 // assumes that there is only 1 item to add
    124             var item = items[0];
    125             berryList[berryList.length]= item;
     122            // assumes that there is only 1 item to add
     123            var item = items[0];
     124                    var itemID = item.getAttribute('collection')+":"+item.getAttribute('nodeID');
     125            berryList[berryList.length]= itemID;
    126126
    127                     updateFavouritesCount();
     127                updateFavouritesCount();
    128128        }
    129129
     
    151151                        var berry = berryList[i];
    152152                console.log(berry);
    153                         var id = berry.getAttribute('collection')+":"+berry.getAttribute('name');
     153                        //var id = berry.getAttribute('collection')+":"+berry.getAttribute('nodeID');
    154154
    155                         if (id == el.id){
     155                        if (berry == el.id){
    156156                                berryList.splice(i,1);
    157157
  • main/trunk/greenstone3/web/interfaces/default/js/favouritebasket/favouritecheckout.js

    r37523 r37550  
    3131
    3232    for(var i = 0; i < docList.length; i++) {
    33     var doc = docList[i];
    34     var doc_id = doc['collection']+":"+ doc['name'];
    35 
     33    //var doc = docList[i];
     34    //var doc_id = doc['collection']+":"+ doc['name'];
     35        var doc_id = docList[i];
    3636    if((i+1) == docList.length) { // if it's the last id to process, don't append separator
    3737        delurl += doc_id;
     
    7272        var searchForNextSelectedIdFromIndex = idsToDelete.length-1;
    7373        for (var i = docList.length - 1; i >= 0; i--) {
    74         var berry = docList[i];
    75         var berry_id = berry['collection'] + ":" + berry['name'];
    76                
     74        //var berry = docList[i];
     75        //var berry_id = berry['collection'] + ":" + berry['name'];
     76        var berry_id = docList[i];     
    7777        for(var j = searchForNextSelectedIdFromIndex; j >= 0; j--) {
    7878            if(idsToDelete[j] == berry_id) {
     
    247247function showFullViewFavourites(){
    248248
    249     var content =  YAHOO.util.Dom.get('berryBasketContentXX');
    250     var fullview =  YAHOO.util.Dom.get('fullview');
     249    //var content =  YAHOO.util.Dom.get('berryBasketContentXX');
     250    //var fullview =  YAHOO.util.Dom.get('fullview');
    251251    //berryCheckoutPageClear();
    252252
    253253        var berryBasketDelOptions = YAHOO.util.Dom.get('delOptions');
    254254    if (docList.length == 0){
    255         content.appendChild(emptyBasketText());
     255        content//.appendChild(emptyBasketText());
    256256        if (berryBasketDelOptions != null) {
    257257        berryBasketDelOptions.setAttribute("style","display:none;");
     
    264264    }
    265265
    266     var share_anchor = YAHOO.util.Dom.get('shareBasket');
     266    var share_anchor = YAHOO.util.Dom.get('shareAnchor');
    267267    var plain_text = "";
    268268    var dlist = document.createElement('div');
    269     content.appendChild(dlist);
     269    //content.appendChild(dlist);
    270270    var ul = document.createElement('ul');
    271271    dlist.appendChild(ul);
     
    275275
    276276    for (var i in docList){
    277         var doc = docList[i];
     277        //var doc = docList[i];
    278278        var li = document.createElement('li');
    279279            var img = document.createElement('img');
    280280        var text ="";
    281281
    282         var doc_id = doc['collection']+":"+ doc['name'];       
     282        //var doc_id = doc['collection']+":"+ doc['name'];
     283        var doc_id = docList[i];
    283284       
    284285        img.setAttribute("src", gs.variables.selected_favourite_icon_url);
     
    290291        li.appendChild(img);
    291292
    292         generateDocDisplay(li, doc, doc_id);
     293        //generateDocDisplay(li, doc, doc_id);
    293294            plain_text += generateMailEntry(doc, doc_id)+"%0D%0A%0D%0A";
    294295        li.className = 'berrydoc';
     
    513514}
    514515
    515 function getDefaultLinkType(collection) {
     516function getDefaultLinkTypeUNUSED(collection) {
    516517    var link_type;
    517518    if (document_link_collections.includes(collection)) {
     
    529530}
    530531   
    531 function generateURL(doc) {
     532function generateURLUNUSED(doc) {
    532533
    533534    var url;
     
    557558}
    558559
    559 function populateUrlsAndMetadata(parea){
     560function populateUrlsAndMetadataUNUSED(parea){
    560561
    561562    var fulltext="";
Note: See TracChangeset for help on using the changeset viewer.