Changeset 8233


Ignore:
Timestamp:
13/04/12 16:33:05 (8 years ago)
Author:
gparton
Message:

amendment to cedaObservation.js and cedaObservation.html to render publication state, date and tweek content of citation string (move to have this as a dojo.html object - not quite rendering properly at the moment though) - committing so I don't loose these changes.

Location:
mauRepo/MolesManager/trunk/src/MolesManager/static
Files:
2 edited

Legend:

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

    r8232 r8233  
    66   //    return(<value>); 
    77   //      } 
    8         function publicationDetails(coObs) 
    9         { 
     8        function publicationDetails(coObs){ 
    109                var pubDetails = {}; 
    11                 pubDetails['pubType'] = coObs.publicationState.value 
    12                 pubDetails['pubYear'] = coObs.resultTime.position.dateTime8601.year 
    13                 if (coObs.resultTime.position.dateTime8601.month.length == 1) { 
    14                 pubDetails['pubMonth'] = '0' + coObs.resultTime.position.dateTime8601.month 
     10         
     11                pubDetails['pubType'] = coObs.publicationState.value; 
     12                pubDetails['pubYear'] = coObs.resultTime.position.dateTime8601.year; 
     13                 
     14                if (coObs.resultTime.position.dateTime8601.month.length == 1){ 
     15                        pubDetails['pubMonth'] = '0' + coObs.resultTime.position.dateTime8601.month; 
    1516                }  
    16                 else { 
    17                 pubDetails['pubMonth'] = coObs.resultTime.position.dateTime8601.month 
    18                 } 
    19                 if (coObs.resultTime.position.dateTime8601.day.length == 1) { 
    20                 pubDetails['pubDay'] = '0' + coObs.resultTime.position.dateTime8601.day 
     17                else{ 
     18                        pubDetails['pubMonth'] = coObs.resultTime.position.dateTime8601.month; 
     19                } 
     20                if (coObs.resultTime.position.dateTime8601.day.length == 1){ 
     21                        pubDetails['pubDay'] = '0' + coObs.resultTime.position.dateTime8601.day; 
    2122                }  
    22                 else { 
    23                 pubDetails['pubDay'] = coObs.resultTime.position.dateTime8601.day 
    24                 } 
    25                 pubDetails['pubString'] = '<p> Record Status: <b>'+ pubDetails['pubType'] +'</b> Created: <b>' + pubDetails['pubYear'] +'-'+ pubDetails['pubMonth'] + '-' + pubDetails['pubDay']+'</b></p>' 
     23                else{ 
     24                        pubDetails['pubDay'] = coObs.resultTime.position.dateTime8601.day; 
     25                } 
     26                 
     27                pubDetails['pubString'] = '<p> Record Status: <b>'+ pubDetails['pubType'] +'</b> Created: <b>' + pubDetails['pubYear'] +'-'+ pubDetails['pubMonth'] + '-' + pubDetails['pubDay']+'</b></p>'; 
    2628                return pubDetails 
    2729        } 
    28         function getIDs(coObs) 
    29         { 
     30         
     31        function getIDs(coObs){ 
    3032                var idDict = {}; 
    3133                for (loopVal=0; loopVal<coObs.identifier.length; loopVal++){ 
    3234                        idDict[coObs.identifier[loopVal].authority.title] = coObs.identifier[loopVal].code; 
    3335                        } 
    34                 if (!('doi' in idDict)){ 
    35                         idDict['doi'] = 'test/doi.string.123456' 
    36                 } 
     36                //if (!('doi' in idDict)){ 
     37                //      idDict['doi'] = 'test/doi.string.123456' 
     38                //} 
    3739                return idDict 
    3840        } 
     
    4042        function getRelatedParties(coObs){ 
    4143                var relatedPartyDict = {}; 
    42                 for (loopVal=0; loopVal<coObs.relatedParty.length; loopVal++) 
    43                         { 
     44                for (loopVal=0; loopVal<coObs.relatedParty.length; loopVal++){ 
    4445                        var names=[]; 
    45                         if (typeof coObs.relatedParty[loopVal].role !='undefined') 
    46                                 { 
     46                        var types=[]; 
     47                        if (typeof coObs.relatedParty[loopVal].role !='undefined'){ 
    4748                                 
    48                                 if (typeof coObs.relatedParty[loopVal].role.name !='undefined') 
    49                                         { 
     49                                if (typeof coObs.relatedParty[loopVal].role.name !='undefined'){ 
    5050                                        console.log(coObs.relatedParty[loopVal].role.name,loopVal) 
    51                                         for (loopInner=0; loopInner<coObs.relatedParty[loopVal].party.length; loopInner++) 
    52                                                 { 
     51                                        for (loopInner=0; loopInner<coObs.relatedParty[loopVal].party.length; loopInner++){ 
    5352                                                        names.push(coObs.relatedParty[loopVal].party[0].name) 
    5453                                                } 
    5554                                                 
    5655                                                if (coObs.relatedParty[loopVal].role.name == 'cl_pointofcontact'){ 
    57                                                         try{var helpEmail = coObs.relatedParty[loopVal].party[0].contactInfo[0].address.electronicMailAddress[0]; 
     56                                                        try{ 
     57                                                                var helpEmail = coObs.relatedParty[loopVal].party[0].contactInfo[0].address.electronicMailAddress[0]; 
    5858                                                        //helpEmail = "badc@rl.ac.uk" 
    59                                                         var helpString = '<p>For assistance please contact <a href="mailto:' + helpEmail + '">'+ coObs.relatedParty[loopVal].party[0].name +'</a>.</p>' 
     59                                                                var helpString = '<p>For assistance please contact <a href="mailto:' + helpEmail + '">'+ coObs.relatedParty[loopVal].party[0].name +'</a>.</p>' 
    6060                                                        } 
    6161                                                        catch(err){ 
    62                                                         helpString = '<p>For assistance SHOUT that this is a holding statement</p>' 
     62                                                                helpString = '<p>For assistance email <a href="mailto:badc@rl.ac.uk"> BADC Support</a>.</p>' 
    6363                                                        } 
    6464                                                } 
    6565                                        relatedPartyDict[coObs.relatedParty[loopVal].role.name] = names; 
    6666                                        } 
    67                                          
    6867                                } 
    6968                        } 
     
    7776                return docLinkString 
    7877        } 
     78        function citeNameArrange(nameIn){ 
     79        // function to strip off additional info from the name and then to prepare the name if individual for citation, e.g.  
     80        // G Vaughan (University of Manchester), PI should be just "Vaughan, G" in citation. 
     81         
     82                var nameInPartsClean = nameIn.split(',') 
     83                var nameInParts = nameInPartsClean[0].split(' ') 
     84                return citeNameOut 
     85        } 
    7986         
    8087        function createCitation(coObs,ids,rps,pubDetails){ 
    8188                var citationString =''; 
    82                 citationString += rps['cl_author']; 
     89                citationString += '<p>' + rps['cl_author']; 
    8390                if (rps.hasOwnProperty('cl_coinvestigator')){ 
    84                         for (loopVal=0; loopVal<rps['cl_coinvestigator'].length; loopVal++) 
    85                                 { citationString += ', ' + rps['cl_coinvestigator'][loopVal] 
    86                                 } 
    87                 } 
    88                 if (rps.hasOwnProperty('cl_publisher')) 
    89                 {  
    90                         citationString += '. ' + ids['ceda_title'] + '. ' + rps['cl_publisher'] +'.'; 
     91                        for (loopVal=0; loopVal<rps['cl_coinvestigator'].length; loopVal++){  
     92                                citationString += ', ' + rps['cl_coinvestigator'][loopVal] 
    9193                        } 
     94                } 
     95                citationString += ', (' + pubDetails['pubYear'] + '): ' + ids['ceda_title'] 
     96                if (ids['ceda_title'].substring[ids['ceda_title'].length -1, ids['ceda_title'].length] != '.'){ 
     97                        citationString += '.'; 
     98                } 
     99                 
     100                if (rps.hasOwnProperty('cl_publisher')){  
     101                        citationString += ' ' + rps['cl_publisher'] +'.'; 
     102                } 
     103                else{ 
     104                        citationString += ' Centre for Environmental Data Archival.'; 
     105                } 
    92106                if ('doi' in ids){ 
    93                         citationString += ' ' + ids['doi']; 
    94                 } 
     107                        var doiHttps = 'http://dx.doi.org/' + ids['doi'].substring[18,ids['doi'].length] 
     108                        citationString += ' ' + ids['doi'] + '. ' + '<a href="' + doiHttp + '">' + doiHttp + '</a>'; 
     109                } 
     110                else{ 
     111                        citationString += 'Available from: ' + '<a href="' + ids['moles2url'] + '">' + ids['moles2url'] + '</a>'; 
     112                } 
     113                citationString += '</p>' 
    95114                return citationString 
    96115        } 
     
    108127                         
    109128                } 
    110                 if (accessString == '' ){accessString = '<p>These data may be open access. Please contact the data centre to enquire about access to these data.</p>'} 
     129                if (accessString == '' ){ 
     130                        accessString = '<p>These data may be open access. Please contact the data centre to enquire about access to these data.</p>' 
     131                } 
     132                 
    111133                return accessString 
    112134        } 
    113135         
    114         function drawMap(extents, map_id) 
    115                 { 
     136        function drawMap(extents, map_id){ 
    116137                map = new OpenLayers.Map(map_id); 
    117138        var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0?", {layers: 'basic'} ); 
     
    133154        renderers: renderer}) 
    134155 
    135                 if (extents[0]) 
    136                 {  
    137                         if (extents[0].__class__ == 'EX_GeographicBoundingBox') 
    138                         { 
     156                if (extents[0]){  
     157                        if (extents[0].__class__ == 'EX_GeographicBoundingBox'){ 
    139158                         
    140159                                if (Math.abs(extents[0].westBoundLongitude.value - extents[0].eastBoundLongitude.value) > 1.0 && Math.abs(extents[0].northBoundLatitude.value - extents[0].southBoundLatitude.value) > 1.0 ){ 
     
    149168                                                map.addLayer(boxes); 
    150169                                                var boxes  = new OpenLayers.Layer.Vector( "boxes" ); 
    151  
    152170                                           } 
    153171                                } 
    154                                 else { 
     172                                else{ 
    155173                                        var box_extents = [[extents[0].westBoundLongitude.value,extents[0].southBoundLatitude.value,extents[0].eastBoundLongitude.value,extents[0].northBoundLatitude.value]] 
    156174                                        ext = box_extents[0]; 
     
    168186                                        map.addLayer(vectorLayer); 
    169187                                        vectorLayer.addFeatures([pointFeature]); 
    170                                  
    171188                                } 
    172189                         
    173190                        } 
    174191                } 
    175                 else { 
     192                else{ 
    176193                                //in cases where no geographicExtent is given put in global box 
    177194                                ext = [-180.0,-90.0,180.0,90.0] 
     
    219236                         //obs_id.startup(); 
    220237                          
    221                          var button = new dijit.form.Button( 
    222                                  { 
     238                         var button = new dijit.form.Button({ 
    223239                                 type: "submit", 
    224240                         label: "Search", 
     
    264280                                 var coObs = dojo.fromJson(json); 
    265281                                  
    266                                  if (coObs){var ids = getIDs(coObs); 
     282                                 if (coObs){ 
     283                                        var ids = getIDs(coObs); 
    267284                                        console.log(coObs) 
    268285                                        console.log(coObs.identifier.length) 
     
    274291                                        var help_id  = new dojo.html.set(dojo.byId("help_id"),rps[1]); 
    275292                                        var docLink_id  = new dojo.html.set(dojo.byId("docLink_id"),docLinkObj(ids['moles2url'])); 
     293                                        var citation_id = new dojo.html.set(dojo.byId("citation_id"),createCitation(coObs,ids,rps[0],pubDetails)); 
     294                                        console.log(rps[1]); 
    276295                                         
    277                                         console.log(rps[1]) 
    278  
     296                                         
    279297                                        dojo.attr("title_id", 'value', ids['ceda_title']); 
    280                                         dojo.attr("citation_id", 'value', createCitation(coObs,ids,rps[0],pubDetails)); 
     298//                                      dojo.attr("citation_id", 'value', createCitation(coObs,ids,rps[0],pubDetails)); 
    281299                                        dojo.attr("records_dataLineage", 'value', coObs.dataLineage); 
    282300                                        dojo.attr("description_id", 'value', coObs.description); 
  • mauRepo/MolesManager/trunk/src/MolesManager/static/templates/cedaObservation.html

    r8232 r8233  
    2020                <div id='pubDetails_id'></div> 
    2121                <label for="title">Title</label><div id="title_id" class = "coObs_cite"></div>  <br /> 
    22                 <label for="citation">Citation</label><div id="citation_id"></div><br /> 
     22                <div id="citation_id"></div> 
    2323                <label for="keywords">Keywords</label><div id="keywords_id"></div><br /> 
    2424        </div> <!-- End of div upper_middle_top --> 
Note: See TracChangeset for help on using the changeset viewer.