Changeset 23298

Show
Ignore:
Timestamp:
08.11.2010 17:31:20 (9 years ago)
Author:
sjb48
Message:

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

Location:
main/trunk/greenstone3
Files:
4 modified

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