Changeset 24997

Show
Ignore:
Timestamp:
26.01.2012 14:13:20 (8 years ago)
Author:
sjm84
Message:

Added in the mapping features to the classifier file

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/oran/transform/pages/classifier.xsl

    r24649 r24997  
    55    xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil" 
    66    xmlns:gslib="http://www.greenstone.org/skinning" 
     7    xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" 
    78    extension-element-prefixes="java util" 
    8     exclude-result-prefixes="java util"> 
     9    exclude-result-prefixes="java util gsf"> 
    910     
    1011    <!-- use the 'main' layout --> 
    1112    <xsl:import href="layouts/main.xsl"/> 
    12     <xsl:include href="classifiertools.xsl"/> 
     13    <xsl:import href="classifiertools.xsl"/> 
    1314 
    1415    <!-- set page title --> 
     
    1617 
    1718    <!-- set page breadcrumbs --> 
    18     <xsl:template name="breadcrumbs"><gslib:siteLink/><gslib:rightArrow/> <gslib:collectionNameLinked/><gslib:rightArrow/></xsl:template> 
     19    <xsl:template name="breadcrumbs"><gslib:siteLink/><gslib:rightArrow/><gslib:collectionNameLinked/><gslib:rightArrow/></xsl:template> 
    1920 
    2021    <!-- the page content --> 
    2122    <xsl:template match="/page/pageResponse"> 
     23        <xsl:call-template name="classifierPre"/> 
     24         
    2225        <script type="text/javascript" src="interfaces/{$interface_name}/js/classifier_scripts.js"><xsl:text> </xsl:text></script> 
     26        <script type="text/javascript">$(window).load(openStoredClassifiers);</script> 
    2327         
    2428        <!-- this right sidebar --> 
     
    4751            <xsl:variable name="serviceName"><xsl:value-of select="service/@name"/></xsl:variable> 
    4852 
     53            <xsl:call-template name="classifierResultsPre"/> 
     54             
    4955            <xsl:apply-templates select="classifier"> 
    5056                <xsl:with-param name="collName" select="$collName"/> 
     
    5258            </xsl:apply-templates> 
    5359        </div> 
    54         <script type="text/javascript">openStoredClassifiers();</script> 
     60 
    5561        <div class="clear"><xsl:text> </xsl:text></div> 
    5662    </xsl:template> 
     
    5965    TEMPLATE FOR DOCUMENTS 
    6066    --> 
    61  
    6267    <xsl:template match="documentNode"><!-- priority="3"--> 
    6368        <!-- The book icon --> 
     
    7277        <td> 
    7378            <a> 
    74                 <xsl:attribute name="href"><xsl:value-of select="$library_name"/>?a=d&amp;c=<xsl:value-of select="/page/pageResponse/collection/@name"/>&amp;d=<xsl:value-of select="@nodeID"/>&amp;dt=<xsl:value-of select="@docType"/>&amp;p.a=b&amp;p.s=<xsl:value-of select="/page/pageResponse/service/@name"/>&amp;ed=1</xsl:attribute> 
     79                <xsl:choose> 
     80                    <xsl:when test="@docType = 'paged'"> 
     81                        <xsl:attribute name="href"><xsl:value-of select="$library_name"/>?a=d&amp;c=<xsl:value-of select="/page/pageResponse/collection/@name"/>&amp;d=<xsl:value-of select="@nodeID"/>&amp;dt=<xsl:value-of select="@docType"/>&amp;p.a=b&amp;p.s=<xsl:value-of select="/page/pageResponse/service/@name"/></xsl:attribute> 
     82                    </xsl:when> 
     83                    <xsl:otherwise> 
     84                        <xsl:attribute name="href"><xsl:value-of select="$library_name"/>?a=d&amp;c=<xsl:value-of select="/page/pageResponse/collection/@name"/>&amp;d=<xsl:value-of select="@nodeID"/>&amp;dt=<xsl:value-of select="@docType"/>&amp;p.a=b&amp;p.s=<xsl:value-of select="/page/pageResponse/service/@name"/>&amp;ed=1</xsl:attribute> 
     85                    </xsl:otherwise> 
     86                </xsl:choose> 
    7587                <xsl:value-of disable-output-escaping="yes"  select="metadataList/metadata[@name='Title']"/> 
    7688            </a> 
     
    8294    </xsl:template> 
    8395 
    84  
    8596    <!-- 
    8697    TEMPLATE FOR GROUPS OF DOCUMENTS 
     
    90101        <table id="title{@nodeID}"><tbody><tr> 
    91102            <!-- Expand/collapse button --> 
    92             <td class="headerTD"> 
     103            <!--<td class="headerTD"> 
    93104                <img id="toggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon">            
    94105                    <xsl:attribute name="src"> 
     
    96107                    </xsl:attribute> 
    97108                </img> 
    98             </td> 
     109            </td>--> 
    99110            <!-- Bookshelf icon --> 
    100111            <td> 
     
    124135        </xsl:if> 
    125136    </xsl:template> 
     137     
     138    <xsl:template name="classifierPre"> 
     139        <xsl:if test="/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='mapEnabled']/@value = 'true'"> 
     140            <xsl:call-template name="mapFeaturesJSONNodes"/> 
     141        </xsl:if> 
     142    </xsl:template> 
     143     
     144    <xsl:template name="classifierResultsPre"> 
     145        <xsl:if test="/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='mapEnabled']/@value = 'true'"> 
     146            <xsl:call-template name="mapFeaturesMap"/> 
     147        </xsl:if> 
     148    </xsl:template> 
     149     
     150    <xsl:template name="mapFeaturesJSONNodes"> 
     151        <div id="jsonNodes" style="display:none;"> 
     152            <xsl:text>[</xsl:text> 
     153            <xsl:for-each select="//documentNode"> 
     154                <xsl:if test="metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']"> 
     155                    <xsl:text>{</xsl:text> 
     156                    <xsl:text disable-output-escaping="yes">"nodeID":"</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">",</xsl:text> 
     157                    <xsl:text disable-output-escaping="yes">"title":"</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Title']"/><xsl:text disable-output-escaping="yes">",</xsl:text> 
     158                    <xsl:text disable-output-escaping="yes">"lat":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Latitude']"/><xsl:text>,</xsl:text> 
     159                    <xsl:text disable-output-escaping="yes">"lng":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Longitude']"/> 
     160                    <xsl:text>}</xsl:text> 
     161                    <xsl:if test="not(position() = count(//documentNode))"> 
     162                        <xsl:text>,</xsl:text> 
     163                    </xsl:if> 
     164                </xsl:if> 
     165            </xsl:for-each> 
     166            <xsl:text>]</xsl:text> 
     167        </div> 
     168         
     169        <!-- Although these aren't visible, they are necessary because it forces Greenstone to include this metadata in the page xml --> 
     170        <gsf:metadata name="Latitude"/> 
     171        <gsf:metadata name="Longitude"/> 
     172    </xsl:template> 
     173     
     174    <xsl:template name="mapFeaturesMap"> 
     175        <div id="map_canvas" style="margin:0px auto; width:450px; height:500px; float:right;"><xsl:text> </xsl:text></div> 
     176    </xsl:template> 
    126177</xsl:stylesheet> 
    127178