Changeset 8272 for mauRepo/MolesManager


Ignore:
Timestamp:
20/04/12 13:08:37 (8 years ago)
Author:
gparton
Message:

now with DOIs!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/MolesManager/trunk/src/MolesManager/static/js/cedaObservation.js

    r8268 r8272  
    1010                var idDict = {}; 
    1111                for (loopVal=0; loopVal<coObs.identifier.length; loopVal++){ 
    12                         idDict[coObs.identifier[loopVal].authority.title] = coObs.identifier[loopVal].code; 
     12                        var innerDict = {}; 
     13                        innerDict['code'] = coObs.identifier[loopVal].code; 
     14                        if (coObs.identifier[loopVal].authority.title == 'DOI'){ 
     15                                innerDict['doiDate'] = (coObs.identifier[loopVal].authority.hasOwnProperty('date') &&  coObs.identifier[loopVal].authority.date.length != 0 )?coObs.identifier[loopVal].authority.date.dateTime8601.year:coObs.resultTime.position.dateTime8601.year; 
     16                        } 
     17                        idDict[coObs.identifier[loopVal].authority.title] = innerDict; 
    1318                        } 
    1419                return idDict 
     
    4045        function publicationDetails(coObs,ids){ 
    4146                var pubDetails = {}; 
    42                 var typePub=(ids.hasOwnProperty('doi'))?"Dataset is Citatable <br /> additional metadata fields may be added ": coObs.publicationState.value; 
     47                var typePub=(ids.hasOwnProperty('DOI'))?"Dataset is Citatable <br /> additional metadata fields may be added ": coObs.publicationState.value; 
    4348 
    4449                pubDetails['pubType'] = typePub; 
     
    4651                pubDetails['pubMonth'] = timeLead0(coObs.resultTime.position.dateTime8601.month) 
    4752                pubDetails['pubDay'] = timeLead0(coObs.resultTime.position.dateTime8601.day) 
    48                  
    4953                pubDetails['pubString'] = '<p> Record Status: <b>'+ pubDetails['pubType'] +'</b><br /> Created: <b>' + pubDetails['pubYear'] +'-'+ pubDetails['pubMonth'] + '-' + pubDetails['pubDay']+'</b></p>'; 
    5054                return pubDetails 
     
    143147        } 
    144148         
    145         function createCitation(coObs,ids,rps,pubDetails){ 
     149        function createCitation(coObs,ids,rps,pubDetails,guid){ 
    146150                var citationString =''; 
    147151                citationString += '<p>' + citeNameArrange(Object.keys(rps['cl_author'])[0],rps['cl_author']); 
     
    151155                        } 
    152156                } 
    153                 var dataYear=(ids.hasOwnProperty("doi"))?ids['doi']:pubDetails['pubYear']; 
    154                 citationString += ', (' + dataYear + '): ' + ids['ceda_title'] 
    155                 if (ids['ceda_title'].substring[ids['ceda_title'].length -1, ids['ceda_title'].length] != '.'){ 
     157                var dataYear=(ids.hasOwnProperty("DOI") && ids["DOI"].doiDate != pubDetails['pubYear'])?ids['DOI'].doiDate:pubDetails['pubYear']; 
     158                var titleString = ids['ceda_title'].code; 
     159                citationString += ', (' + dataYear + '): ' + titleString 
     160                 
     161                if (titleString.substring(titleString.length -1, length) != '.'){ 
    156162                        citationString += '.'; 
    157163                } 
     
    163169                        citationString += ' Centre for Environmental Data Archival.'; 
    164170                } 
    165                 if ('doi' in ids){ 
    166                         var doiHttp = 'http://dx.doi.org/' + ids['doi'].substring[18,ids['doi'].length] 
    167                         citationString += ' ' + ids['doi'] + '. ' + '<a href="' + doiHttp + '">' + doiHttp + '</a>'; 
    168                 } 
    169                 else{ 
    170                         citationString += ' Available from: ' + '<a href="' + ids['moles2url'] + '">' + ids['moles2url'] + '</a>'; 
     171                if (ids.hasOwnProperty('DOI')){ 
     172                        var doi = ids['DOI'].code; 
     173                        var doiHttp = 'http://dx.doi.org/' + doi  
     174                        citationString += ' ' + doi + '. ' + '<a href="' + doiHttp + '">' + doiHttp + '</a>'; 
     175                } 
     176                else { 
     177                        var citeURL = 'http://www.ceda.ac.uk/datacat/' 
     178                        citationString += ' Available from: ' + '<a href="' + citeURL + guid + '">' + citeURL + guid + '</a>'; 
    171179                } 
    172180                citationString += '</p>' 
     
    330338                                           
    331339                        var json = dojo.byId('coObs_id').value; 
     340                                var guid = dojo.byId('guid_id').value; 
    332341                                coObs = dojo.fromJson(json); 
    333                                            
     342                                console.log(guid)                                
    334343                                if (coObs != ''){ 
    335344                                        var ids = getIDs(coObs); 
     
    346355                                        // title_id.startup(); 
    347356                                         
    348                                         var title_id  = new dojo.html.set(dojo.byId("title_id"),'<h3>'+ids['ceda_title']+'</h3>');  
     357                                        var title_id  = new dojo.html.set(dojo.byId("title_id"),'<h3>'+ids['ceda_title'].code+'</h3>');  
    349358                                        var rps = getRelatedParties(coObs); 
    350359                                        var pubDetails = publicationDetails(coObs,ids); 
     
    353362                                        var citation_id = new dijit.TitlePane( 
    354363                                        { 
    355                                                 title: 'Citation', content: createCitation(coObs,ids,rps,pubDetails) 
     364                                                title: 'Citation', content: createCitation(coObs,ids,rps,pubDetails,guid) 
    356365                                        },"citation_id"); 
    357366                                        citation_id.startup(); 
     
    360369                                                var pastCitation_id = new dijit.TitlePane( 
    361370                                                { 
    362                                                         title: "Previous Identifiers Used:", content: ids['moles2url'], open: 0 
     371                                                        title: "Previous Identifiers Used:", content: ids['moles2url'].code, open: 0 
    363372                                                },"pastCitation_id"); 
    364373                                                citation_id.startup(); 
     
    378387                                        dojo.attr("help_id",'value',''); 
    379388                                         
    380                                         var docLink_id  = new dojo.html.set(dojo.byId("docLink_id"),docLinkObj(ids['moles2url'])); 
     389                                        var docLink_id  = new dojo.html.set(dojo.byId("docLink_id"),docLinkObj(ids['moles2url'].code)); 
    381390                                         
    382391                                        var bbox_id = new dijit.TitlePane( 
Note: See TracChangeset for help on using the changeset viewer.