# HG changeset patch # User casties # Date 1333646990 -7200 # Node ID 70c3ae5eac7c268825bff6480c02b13f4608e3c6 # Parent 1a20621f25551ca2193a1250adaea11cdd928919 layers can have their own templates. first version of annotations layer. diff -r 1a20621f2555 -r 70c3ae5eac7c documentViewer.py --- a/documentViewer.py Thu Apr 05 14:56:01 2012 +0200 +++ b/documentViewer.py Thu Apr 05 19:29:50 2012 +0200 @@ -112,16 +112,28 @@ metadataService = None """MetaDataFolder instance""" + + # # templates and forms + # + # viewMode templates viewer_text = PageTemplateFile('zpt/viewer_text', globals()) viewer_xml = PageTemplateFile('zpt/viewer_xml', globals()) viewer_images = PageTemplateFile('zpt/viewer_images', globals()) viewer_index = PageTemplateFile('zpt/viewer_index', globals()) + # available layer types + availableLayers = {'text': ['dict','search','gis','annotator'], + 'xml': None, 'images': None, 'index': None} + # layer templates + layer_text_annotator = PageTemplateFile('zpt/layer_text_annotator', globals()) + layer_text_gis = PageTemplateFile('zpt/layer_text_gis', globals()) + # toc templates toc_thumbs = PageTemplateFile('zpt/toc_thumbs', globals()) toc_text = PageTemplateFile('zpt/toc_text', globals()) toc_figures = PageTemplateFile('zpt/toc_figures', globals()) toc_none = PageTemplateFile('zpt/toc_none', globals()) + # other templates common_template = PageTemplateFile('zpt/common_template', globals()) search_template = PageTemplateFile('zpt/search_template', globals()) info_xml = PageTemplateFile('zpt/info_xml', globals()) @@ -296,6 +308,10 @@ return ret + def getAvailableLayers(self): + """returns dict with list of available layers per viewMode""" + return self.availableLayers + def getBrowser(self): """getBrowser the version of browser """ bt = browserCheck(self) diff -r 1a20621f2555 -r 70c3ae5eac7c zpt/layer_text_annotator.zpt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/zpt/layer_text_annotator.zpt Thu Apr 05 19:29:50 2012 +0200 @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + +
+

Annotations

+
nothing to be seen here...
+
+ +
+ + + + diff -r 1a20621f2555 -r 70c3ae5eac7c zpt/layer_text_gis.zpt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/zpt/layer_text_gis.zpt Thu Apr 05 19:29:50 2012 +0200 @@ -0,0 +1,52 @@ + + + + + + + +
+ + +
+ + + +
+ +

Places

+ +
+
+ +
+ + + + diff -r 1a20621f2555 -r 70c3ae5eac7c zpt/viewer_text.zpt --- a/zpt/viewer_text.zpt Thu Apr 05 14:56:01 2012 +0200 +++ b/zpt/viewer_text.zpt Thu Apr 05 19:29:50 2012 +0200 @@ -3,26 +3,34 @@ - - - <link rel="stylesheet" href="template/docuviewer_css" type="text/css" /> - <script type="text/javascript" tal:attributes="src string:$rootUrl/template/jquery_js"></script> - <script type="text/javascript"> - // <!-- - $(document).ready(function() { - // autosubmit forms - $('form.autosubmit').find('.autosubmit').change(function() { - this.form.submit(); - }); - $('form.autosubmit input[type="submit"]').hide(); - }); - // --> - </script> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title tal:content="python:docinfo.get('creator',' ') + ' - ' + docinfo.get('title',' ')" /> +<link rel="stylesheet" href="template/docuviewer_css" type="text/css" /> +<script type="text/javascript" tal:attributes="src string:$rootUrl/template/jquery_js"></script> +<script type="text/javascript"> + // <!-- + $(document).ready(function() { + // autosubmit forms + $('form.autosubmit').find('.autosubmit').change(function() { + this.form.submit(); + }); + $('form.autosubmit input[type="submit"]').hide(); + }); +// --> +</script> +<!-- layer headers --> +<tal:block tal:repeat="layer viewLayers"> + <tal:block tal:define="mpath string:here/template/layer_text_${layer}/macros/html_head" + tal:condition="python:exists(mpath)"> + <metal:block metal:use-macro="python:path(mpath)" /> + </tal:block> +</tal:block> + </head> <body tal:condition="numPages"> <tal:block @@ -67,7 +75,7 @@ <!--"BEGIN SEARCH RESULTS" --> <div class="options"> <h4>Search results</h4> - <div metal:use-macro="here/template/search_template/macros/results_div"/> + <div metal:use-macro="here/template/search_template/macros/results_div" /> </div> </div> @@ -86,6 +94,7 @@ <input class="autosubmit" type="radio" name="viewMode" value="text" tal:attributes="checked python:viewMode=='text'" /> Text <ul> + <!-- text layers --> <li> <input type="checkbox" class="autosubmit" name="viewLayer" value="dict" tal:attributes="checked python:'dict' in viewLayers" /> @@ -94,12 +103,17 @@ <li tal:condition="python:query"> <input type="checkbox" class="autosubmit" name="viewLayer" value="search" - tal:attributes="checked python:'search' in viewLayers" /> Search hits + 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> + <!-- auto-layer select buttons --> + <tal:block tal:repeat="layer availableLayers"> + <tal:block + tal:define="mpath string:here/template/layer_text_${layer}/macros/layer_select_li" + tal:condition="python:exists(mpath)"> + <li metal:use-macro="python:path(mpath)" /> + </tal:block> + </tal:block> </ul> </li> <li> @@ -122,30 +136,32 @@ 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'"/> + <input type="hidden" name="viewLayer" tal:attributes="value vl" + tal:condition="python:vl != 'search'" /> </tal:block> - <input type="hidden" name="viewLayer" value="search"/> + <input type="hidden" name="viewLayer" value="search" /> <!-- query text --> - <input type="text" name="query" tal:attributes="value query"/> - <input type="submit" value="Search"/> - <a tal:attributes="href python:here.getLink('query',None)">Clear</a> + <input type="text" name="query" tal:attributes="value query" /> <input + type="submit" value="Search" /> <a + tal:attributes="href python:here.getLink('query',None)">Clear</a> <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> + <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> @@ -213,27 +229,14 @@ </div> <!--"END TEXT NORMALIZATION"--> - <!--"BEGIN PLACES"--> - <div class="options" tal:condition="python:'gis' in viewLayers"> - <tal:block tal:define=" - name docinfo/documentName; - places python:here.getPlacesOnPage(docinfo=docinfo, pn=pn); - pidlist python:','.join([p['id'] for p in places]);"> - <h4>Places</h4> - <ul> - <li><a - tal:attributes="href python:'http://mappit.mpiwg-berlin.mpg.de/db/RESTdb/db/mpdl/%s?id=%s&format=gis'%(name,pidlist)" - target="_blank">on this page</a> - </li> - <li> - <a - tal:attributes="href python:'http://mappit.mpiwg-berlin.mpg.de/db/RESTdb/db/mpdl/%s?format=gis'%(name)" - target="_blank">in whole document</a> - </li> - </ul> + <!-- auto-layer option boxes --> + <tal:block tal:repeat="layer viewLayers"> + <tal:block + tal:define="mpath string:here/template/layer_text_${layer}/macros/options_box" + tal:condition="python:exists(mpath)"> + <metal:block metal:use-macro="python:path(mpath)" /> </tal:block> - </div> - <!--"END PLACES"--> + </tal:block> </div> <!-- /col-right -->