Changeset 23298


Ignore:
Timestamp:
2010-11-08T17:31:20+13:00 (12 years ago)
Author:
sjb48
Message:

Iframe for preview working. Links are modified to use excerptid=gs_content

Location:
main/trunk/greenstone3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/core/TransformingReceptionist.java

    r23270 r23298  
    195195    {
    196196        Node selectedElement = getNodeByIdRecursive(transformed_page, excerptID);
     197        modifyNodesByTagRecursive(selectedElement, "a");
    197198        return selectedElement;
    198199    }
    199200    else if(excerptTag != null)
    200201    {
    201         Node selectedElement = getNodeByTagRecursive(transformed_page, excerptTag);
     202        // define a list
     203       
     204        Node selectedElement = modifyNodesByTagRecursive(transformed_page, excerptTag);
    202205        return selectedElement;
    203206    }
     
    242245    return null;
    243246  }
     247 
     248  protected Node modifyNodesByTagRecursive(Node parent, String tag)
     249  {
     250    if(parent.getNodeType() == Node.ELEMENT_NODE && ((Element)parent).getTagName().equals(tag))
     251    {
     252        return parent;
     253    }
    244254   
     255    NodeList children = parent.getChildNodes();
     256    for(int i = 0; i < children.getLength(); i++)
     257    {
     258        Node result = null;
     259        if((result = modifyNodesByTagRecursive(children.item(i), tag)) != null)
     260        {
     261            //return result;
     262            //logger.error("Modify node value = "+result.getNodeValue()); //NamedItem("href"););
     263            logger.error("BEFORE Modify node attribute = "+result.getAttributes().getNamedItem("href").getNodeValue());
     264            String url = result.getAttributes().getNamedItem("href").getNodeValue();
     265            url = url + "&excerptid=gs_content";
     266            result.getAttributes().getNamedItem("href").setNodeValue(url);
     267            logger.error("AFTER Modify node attribute = "+result.getAttributes().getNamedItem("href").getNodeValue());
     268           
     269        }
     270    }
     271    return null;
     272  }
     273
    245274  /** overwrite this to add any extra info that might be needed in the page before transformation */
    246275  protected void addExtraInfo(Element page) {}
  • main/trunk/greenstone3/web/interfaces/oran/js/gui_div.js

    r23276 r23298  
    4444        });
    4545}); */
    46 
     46/*
     47function loadXMLDoc()
     48{
     49    if (window.XMLHttpRequest)
     50    {// code for IE7+, Firefox, Chrome, Opera, Safari
     51        xmlhttp=new XMLHttpRequest();
     52    }
     53    else
     54    {// code for IE6, IE5
     55        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
     56    }
     57   
     58    xmlhttp.onreadystatechange=function()
     59    { 
     60        console.log("state changed to " + xmlhttp.readyState);
     61        console.log("status is " + xmlhttp.status);
     62        if (xmlhttp.readyState==4 && xmlhttp.status==200)
     63        {
     64            console.log("get code");
     65            console.log(xmlhttp.responseText);
     66            document.getElementById("gs_content").innerHTML=xmlhttp.responseText;
     67        }
     68    }
     69   
     70    xmlhttp.open("GET","http://localhost:8080/greenstone3/format?a=b&rt=s&s=ClassifierBrowse&c=simpleht&cl=CL1&excerptid=gs_content",true);
     71    //xmlhttp.open("GET","http://www.cs.waikato.ac.nz",true);
     72    //xmlhttp.open("GET","http://wand.net.nz/~sjb48/index.html",true);
     73    xmlhttp.send();
     74}
     75*/
    4776$(document).ready(function(){
    4877
     
    5180    var CURRENT_SELECT_VALUE = "";
    5281
    53     /*
    5482    var iframe = document.getElementById('iframe');
    5583    var iframe_document = iframe.document;
     
    6593        console.log("Chose content window");
    6694    }
     95
     96    // Edit the hrefs in preview_html - search for <a href="format?a=b&rt=r&s=ClassifierBrowse&c=simpleht&cl=CL1.2">
     97    var start_index = 0;
     98    var end_index = 0;
     99    while(start_index != -1)
     100    {
     101        start_index = preview_html.indexOf("href=\"format", start_index);
     102        console.log("start index = " + start_index);
     103        if(start_index != -1)
     104        {
     105            end_index = preview_html.indexOf("\">", start_index);
     106            console.log("end_index = " + end_index);
     107            a = preview_html.substring(0,end_index);
     108            b = preview_html.substring(end_index);
     109            preview_html = a.concat("&excerptid=gs_content", b);
     110            console.log(preview_html);
     111            start_index = end_index + "&excerptid=gs_content\">".length;
     112        }
     113    }
     114
    67115    // Put the content in the iframe
    68116    if(initialised_iframe == "false")
    69117    {
    70118        console.log("Initialised iframe with preview html");
     119        console.log(preview_html);
    71120        iframe_document.open();
    72121        iframe_document.writeln(preview_html); //.concat("&excerptid=gs_content"));
     
    74123        initialised_iframe = "true";
    75124    }
    76    
     125
     126    /*   
    77127    $(iframe_document.documentElement.innerHTML).find('a').each(function() {
    78128            console.log("data "+$(this).data('href'));
     
    132182    })
    133183
    134     $(".draggable_text").draggable({
    135             cursor: 'crosshair',
    136             connectToSortable: '.gsf_otherwise, .gsf_link, .gsf_choose, .gsf_when',
     184    $(".draggable_gsf_text").draggable({
     185            cursor: 'crosshair',
     186            connectToSortable: '.td-div, .gsf_when, .gsf_otherwise, .gsf_link, .gsf_choose_metadata, .gsf_default',
    137187            helper: 'clone',
    138188            revert: 'invalid'
     
    185235    $(".draggable_gsf_icon").draggable({
    186236            cursor: 'crosshair',
    187             connectToSortable: '.gsf_link',
     237            connectToSortable: '.td-div, .gsf_link, .gsf_choose, .gsf_when, .gsf_otherwise',
    188238            helper: 'clone',
    189239            revert: 'invalid'
  • main/trunk/greenstone3/web/interfaces/oran/transform/layouts/main.xsl

    r23276 r23298  
    177177
    178178    <xsl:call-template name="xml-to-gui">
    179         <xsl:with-param name="node-set" select="//format[@type='browse']"/>
     179        <xsl:with-param name="node-set" select="//format"/> <!-- [@type='browse']"/>  -->
    180180        <xsl:with-param name="metadataSets" select="//metadataSetList"/>
    181181    </xsl:call-template>
     
    212212        <div class="draggable_gsf_icon css_gsf_icon block" title="gsf:icon"><table class="header"><tbody><tr><td class="header">ICON<select><option value = "document" selected = "document">Document</option><option value = "classifier">Classifier</option><option value = "source">Source</option></select></td><td><a href="#" class="remove ui-icon ui-icon-closethick">[x]</a></td></tr></tbody></table></div>
    213213        <br/>
    214         <div class="draggable_gsf_text css_text" title="text">TEXT</div>
     214        <div class="draggable_gsf_text css_text" title="text"><table class="header"><tbody><tr><td class="header"><input type="text" name="rawtextinput" size="10" value=""/></td><td class="header"><a href="[myhref]" class="ui-icon ui-icon-closethick"/></td></tr></tbody></table></div>
    215215        <div class="draggable_table css_table" title="gsf:table">NEW TABLE</div>
    216216        <div class="draggable_tr css_tr" title="gsf:row">NEW TABLE ROW</div>
     
    239239<!-- *************************************************************************************** -->
    240240<H2>Preview</H2>
    241                     <!-- <iframe name="preview" id="iframe" width="98%" height="300">Your browser does not support iframes</iframe> -->
    242 
    243                     <!-- <xsl:variable name="preview"> -->
     241                    <iframe name="preview" id="iframe" width="98%" height="300">Your browser does not support iframes</iframe>
     242
     243                    <xsl:variable name="preview">
     244                    <!-- <button type="button" onclick="loadXMLDoc()">Change Content</button> -->
    244245                    <div id="gs_content">
    245246                        <!--
     
    250251
    251252                    </div>
    252                     <!-- </xsl:variable> -->
    253 
    254                     <!-- <script type="text/javascript">
     253                    </xsl:variable>
     254
     255                    <script type="text/javascript">
    255256                        preview_html = <xsl:text disable-output-escaping="yes">'</xsl:text><xsl:copy-of select="$preview"/><xsl:text disable-output-escaping="yes">';</xsl:text>
    256                     </script> -->
     257                    </script>
    257258
    258259                    <div id="gs_footer">
  • main/trunk/greenstone3/web/interfaces/oran/transform/layouts/xml-to-gui-templates.xsl

    r23255 r23298  
    129129            gsf_icon_element = <xsl:text disable-output-escaping="yes">'</xsl:text><xsl:copy-of select="$icon"/><xsl:text disable-output-escaping="yes">';</xsl:text>
    130130        </script>
     131
     132    <!-- ******** TEXT ************ -->
     133
     134        <xsl:variable name="text">
     135        <div class="block leaf gsf_text" title="gsf:text">
     136                <xsl:variable name="rawtext"><xsl:value-of select="."/></xsl:variable>
     137                <table class="header"><tbody><tr><td class="header"><input type="text" name="rawtextinput" size="10" value=""/></td><td class="header"><a href="[myhref]" class="ui-icon ui-icon-closethick"/></td></tr></tbody></table>
     138        </div>
     139        </xsl:variable>
     140
     141        <script type="text/javascript">
     142            gsf_text_element = <xsl:text disable-output-escaping="yes">'</xsl:text><xsl:copy-of select="$text"/><xsl:text disable-output-escaping="yes">';</xsl:text>
     143        </script>
     144
    131145    </xsl:template>
    132146
Note: See TracChangeset for help on using the changeset viewer.