Mercurial > hg > documentViewer
diff zpt/viewer_text.zpt @ 508:d5a47f82e755 elementtree
more cleanup.
search works mostly now.
layers work better now.
author | casties |
---|---|
date | Mon, 27 Feb 2012 21:26:52 +0100 |
parents | 67014399894d |
children | 9d05befdd462 |
line wrap: on
line diff
--- a/zpt/viewer_text.zpt Tue Feb 21 19:23:52 2012 +0100 +++ b/zpt/viewer_text.zpt Mon Feb 27 21:26:52 2012 +0100 @@ -2,7 +2,8 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" tal:define="docinfo options/docinfo; pageinfo options/pageinfo; viewMode pageinfo/viewMode; - tocMode pageinfo/tocMode; viewLayer pageinfo/viewLayer; viewerUrl docinfo/viewerUrl; + tocMode pageinfo/tocMode; viewLayer pageinfo/viewLayer; viewLayers pageinfo/viewLayers; + viewerUrl docinfo/viewerUrl; rootUrl here/getDocumentViewerURL; numPages docinfo/numPages | nothing;"> <head> @@ -28,6 +29,8 @@ tal:define="docpath docinfo/textURLPath; pn pageinfo/pn; flowLtr python:pageinfo.get('pageFlow','ltr')!='rtl'; + query python:request.get('query', None); + queryType python:request.get('queryType','fulltextMorph'); textPage python:here.getTextPage(mode=viewLayer, pn=pn, docinfo=docinfo, pageinfo=pageinfo) or '[no text here]';"> <!-- header --> <div class="page-head"> @@ -57,75 +60,152 @@ <tal:block tal:replace="structure textPage" /> </div> </div> - <!-- col-main --> + <!-- end of col-main --> <!-- right-side options --> <div class="col-right"> <!--"BEGIN TEXT DISPLAY" --> <div class="options"> <h4>Text display</h4> + <pre tal:content="python:repr(viewLayers)" /> <form tal:attributes="action viewerUrl" class="autosubmit"> <input type="hidden" tal:define="params python:here.getParams(params={'viewLayer':None,'viewMode':None})" tal:repeat="param params" - tal:attributes="name param; value python:params[param]" /> <input - class="autosubmit" type="radio" name="viewMode" value="text" - tal:attributes="checked python:viewMode=='text'" /> Text<br /> <span - class="optionsText"> <input type="checkbox" - class="autosubmit" name="viewLayer" value="dict" - tal:attributes="checked python:viewLayer=='dict'" /> Dictionary<br /> - </span> <span class="optionsText" tal:condition="python:docinfo.get('numPlaces',0)"> - <input type="checkbox" class="autosubmit" name="viewLayer" - value="gis" tal:attributes="checked python:viewLayer=='gis'" /> Places<br /> - </span> <input type="radio" class="autosubmit" name="viewMode" value="xml" - tal:attributes="checked python:viewMode=='xml'" /> XML<br /> <input - type="submit" value="Go!" /> + tal:attributes="name param; value python:params[param]" /> + <ul> + <li> + <input class="autosubmit" type="radio" name="viewMode" value="text" + tal:attributes="checked python:viewMode=='text'" /> Text + <ul> + <li> + <input type="checkbox" class="autosubmit" name="viewLayer" + value="dict" tal:attributes="checked python:'dict' in viewLayers" /> + Dictionary + </li> + <li tal:condition="query"> + <input type="checkbox" class="autosubmit" name="viewLayer" + value="search" + tal:attributes="checked python:'search' in viewLayers" /> Search hits + </li> + <li tal:condition="python:docinfo.get('numPlaces',0)"> + <input type="checkbox" class="autosubmit" name="viewLayer" value="gis" + tal:attributes="checked python:'gis' in viewLayers" /> Places<br /> + </li> + </ul> + </li> + <li> + <input type="radio" class="autosubmit" name="viewMode" value="xml" + tal:attributes="checked python:viewMode=='xml'" /> XML<br /> <input + type="submit" value="Go!" /> + </li> + </ul> </form> </div> <!--"END TEXT DISPLAY"--> + <!--"BEGIN SEARCH"--> + <div class="options"> + <h4>Search</h4> + <form tal:attributes="action viewerUrl"> + <input type="hidden" + tal:define="params python:here.getParams(params={'query':None,'queryType':None,'viewLayer':None})" + tal:repeat="param params" + tal:attributes="name param; value python:params[param]" /> + <!-- make sure we have one viewLayer=search --> + <tal:block tal:repeat="vl viewLayers"> + <input type="hidden" name="viewLayer" tal:attributes="value vl" tal:condition="python:vl != 'search'"/> + </tal:block> + <input type="hidden" name="viewLayer" value="search"/> + <!-- query text --> + <input type="text" name="query" tal:attributes="value query"/> + <input type="submit" value="Search"/> + <ul> + <li> + <input type="radio" name="queryType" value="fulltext" + tal:attributes="checked python:queryType=='fulltext'"/> Exact + </li> + <li> + <input type="radio" name="queryType" value="fulltextMorph" + tal:attributes="checked python:queryType=='fulltextMorph'"/> All forms + </li> + <li> + <input type="radio" name="queryType" value="ftIndex" + tal:attributes="checked python:queryType=='ftIndex'"/> Fulltext index + </li> + <li> + <input type="radio" name="queryType" value="ftIndexMorph" + tal:attributes="checked python:queryType=='ftIndexMorph'"/> Morphological index + </li> + </ul> + </form> + </div> + <!--"END SEARCH"--> + <!--"BEGIN TEXT SIZE"--> <div class="options"> <h4>Text size</h4> - <div class="fsizer"> - <a href="javascript:fontSize(12);" class="fs_sml">S</a> <a - href="javascript:fontSize(14);" class="fs_med">M</a> <a - href="javascript:fontSize(16);" class="fs_lrg">L</a> - </div> + <ul class="fsizer"> + <li> + <a href="javascript:fontSize(12);" class="fs_sml">S</a> + </li> + <li> + <a href="javascript:fontSize(14);" class="fs_med">M</a> + </li> + <li> + <a href="javascript:fontSize(16);" class="fs_lrg">L</a> + </li> + </ul> </div> <!--"END TEXT SIZE"--> <!--"BEGIN DICTIONARY OVERVIEW"--> - <div class="options" tal:condition="python:viewLayer=='dict'"> + <div class="options" tal:condition="python:'dict' in viewLayers"> <h4>Dictionary view</h4> <form name="f3" action=""> - <input type="radio" name="r3" />Tab<br /> <input type="radio" name="r3" />Window<br /> + <ul> + <li> + <input type="radio" name="r3" /> Tab + </li> + <li> + <input type="radio" name="r3" /> Window + </li> + </ul> </form> </div> <!--"END DICTIONARY OVERVIEW"--> <!--"BEGIN TEXT NORMALIZATION"--> - <div class="options" tal:condition="python:viewLayer!='xml'"> + <div class="options"> <h4>Text normalization</h4> <form tal:attributes="action viewerUrl" class="autosubmit" tal:define="norm python:pageinfo.get('characterNormalization','regPlusNorm');"> <input type="hidden" tal:define="params python:here.getParams('characterNormalization',None)" tal:repeat="param params" - tal:attributes="name param; value python:params[param]" /> <input - type="radio" class="autosubmit" name="characterNormalization" value="orig" - tal:attributes="checked python:norm=='orig'" /> Original<br /> <input - type="radio" class="autosubmit" name="characterNormalization" value="reg" - tal:attributes="checked python:norm=='reg'" /> Regularized<br /> <input - type="radio" class="autosubmit" name="characterNormalization" - value="regPlusNorm" tal:attributes="checked python:norm=='regPlusNorm'" /> - Normalized<br /> <input type="submit" value="Go!" /> + tal:attributes="name param; value python:params[param]" /> + <ul> + <li> + <input type="radio" class="autosubmit" name="characterNormalization" + value="orig" tal:attributes="checked python:norm=='orig'" /> Original + </li> + <li> + <input type="radio" class="autosubmit" name="characterNormalization" + value="reg" tal:attributes="checked python:norm=='reg'" /> Regularized + </li> + <li> + <input type="radio" class="autosubmit" name="characterNormalization" + value="regPlusNorm" tal:attributes="checked python:norm=='regPlusNorm'" /> + Normalized + </li> + </ul> + <input type="submit" value="Go!" /> </form> </div> <!--"END TEXT NORMALIZATION"--> <!--"BEGIN PLACES"--> - <div class="options" tal:condition="python:viewLayer=='gis'"> + <div class="options" tal:condition="python:'gis' in viewLayers"> <tal:block tal:define=" name docinfo/documentName; places python:here.getPlacesOnPage(docinfo=docinfo, pn=pn); @@ -148,6 +228,15 @@ </div> <!-- /col-right --> + <!-- right-side options --> + <div class="col-veryright" tal:condition="query"> + <!--"BEGIN SEARCH RESULTS" --> + <div class="options"> + <h4>Search results</h4> + <div tal:content="structure python:here.getResultsPage(mode=queryType,query=query,pn=1,pageinfo=pageinfo,docinfo=docinfo)"/> + </div> + </div> + </div> <!-- /page-body -->