Ignore:
Timestamp:
2012-01-26T14:13:20+13:00 (12 years ago)
Author:
sjm84
Message:

Added in the mapping features to the classifier file

File:
1 edited

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
Note: See TracChangeset for help on using the changeset viewer.