[Erp5-report] r37935 ivan - in /erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style: SkinTe...
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Aug 23 09:18:56 CEST 2010
Author: ivan
Date: Mon Aug 23 09:18:54 2010
New Revision: 37935
URL: http://svn.erp5.org?rev=37935&view=rev
Log:
Extend PT to provide additional "text" listbox navigation (i.e. list of direct listbox page selection links, 1,2,3,4..n)
Modified:
erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/page_navigation_render.xml
erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/bt/revision
Modified: erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/page_navigation_render.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/page_navigation_render.xml?rev=37935&r1=37934&r2=37935&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/page_navigation_render.xml [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/page_navigation_render.xml [utf8] Mon Aug 23 09:18:54 2010
@@ -2,10 +2,7 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
- <tuple>
- <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
- <tuple/>
- </tuple>
+ <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
@@ -43,61 +40,65 @@
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
- <tal:block metal:define-macro="page_navigation">\n
- <tal:block tal:condition="python: here.total_pages > 1">\n
- <tal:block tal:condition="not: is_gadget_mode">\n
- <tal:block tal:condition="python: here.current_page > 0">\n
- <input\n
- id="listbox_first_page" type="image" src="2leftarrowv.png"\n
- title="First Page" name="firstPage:method"\n
- class="listbox_first_page"\n
- tal:attributes="id string:${field_id}_first_page;\n
- name string:${field_id}_firstPage:method;\n
- src string:${portal_url_string}/images/2leftarrowv.png"\n
- i18n:domain="ui" i18n:attributes="title" />\n
- <input\n
- id="listbox_previous_page" type="image" src="1leftarrowv.png"\n
- title="Previous Page" name="previousPage:method"\n
- class="listbox_previous_page"\n
- tal:attributes="id string:${field_id}_previous_page;\n
- name string:${field_id}_previousPage:method;\n
- src string:${portal_url_string}/images/1leftarrowv.png"\n
- i18n:domain="ui" i18n:attributes="title" />\n
- </tal:block>\n
- <input id="listbox_set_page" name="page_start" onblur="this.value=this.defaultValue"\n
- tal:attributes="id string:${field_id}_set_page;\n
- name string:${field_id}_page_start;\n
- value python:here.current_page + 1;\n
- size python:len(str(here.total_pages));\n
- onkeypress string:submitFormOnEnter(event, this.form, \'${field_id}_setPage\')" />\n
- / \n
- <tal:block content="here/total_pages" />\n
- <tal:block tal:condition="python: here.current_page < here.total_pages - 1">\n
- <input\n
- id="listbox_next_page" type="image" src="1rightarrowv.png"\n
- title="Next Page" name="nextPage:method" class="listbox_next_page"\n
- tal:attributes="id string:${field_id}_next_page;\n
- name string:${field_id}_nextPage:method;\n
- src string:${portal_url_string}/images/1rightarrowv.png"\n
- i18n:domain="ui" i18n:attributes="title" />\n
- <input\n
- id="listbox_last_page" type="image" src="2rightarrowv.png"\n
- title="Last Page" name="lastPage:method" class="listbox_last_page"\n
- tal:attributes="id string:${field_id}_last_page;\n
- name string:${field_id}_lastPage:method;\n
- src string:${portal_url_string}/images/2rightarrowv.png"\n
- i18n:domain="ui" i18n:attributes="title" />\n
- </tal:block>\n
- </tal:block>\n
- \n
- <tal:block tal:condition="is_gadget_mode"\n
- tal:define="max_lines python: here.getMaxLineNumber();\n
- total_page python: here.total_pages;\n
- page_id python: here.current_page;\n
- current_page python: page_id + 1;\n
- previous_page python: current_page - 1;\n
- next_page python: current_page + 1;">\n
- <tal:block tal:condition="python: here.current_page > 0">\n
+ \n
+\n
+ <!-- First & Previous button navigation --> \n
+ <tal:block metal:define-macro="first_previous_page_navigation">\n
+\n
+ <tal:block tal:condition="python: here.current_page > 0">\n
+ <button id="listbox_first_page" \n
+ type="image" src="2leftarrowv.png"\n
+ title="First Page" name="firstPage:method"\n
+ class="listbox_first_page"\n
+ tal:attributes="id string:${field_id}_first_page;\n
+ name string:${field_id}_firstPage:method;\n
+ src string:${portal_url_string}/images/2leftarrowv.png"\n
+ i18n:domain="ui" i18n:attributes="title">\n
+ <span class="image"/>\n
+ </button>\n
+ <button id="listbox_previous_page" type="image" src="1leftarrowv.png"\n
+ title="Previous Page" name="previousPage:method"\n
+ class="listbox_previous_page"\n
+ tal:attributes="id string:${field_id}_previous_page;\n
+ name string:${field_id}_previousPage:method;\n
+ src string:${portal_url_string}/images/1leftarrowv.png"\n
+ i18n:domain="ui" i18n:attributes="title">\n
+ <span class="image"/>\n
+ </button>\n
+\n
+ </tal:block>\n
+\n
+ </tal:block>\n
+\n
+ <!-- Next & Last button navigation --> \n
+ <tal:block metal:define-macro="next_last_page_navigation">\n
+\n
+ <tal:block tal:condition="python: here.current_page < here.total_pages - 1">\n
+ <button id="listbox_next_page" type="image" src="1rightarrowv.png"\n
+ title="Next Page" name="nextPage:method" class="listbox_next_page"\n
+ tal:attributes="id string:${field_id}_next_page;\n
+ name string:${field_id}_nextPage:method;\n
+ src string:${portal_url_string}/images/1rightarrowv.png"\n
+ i18n:domain="ui" i18n:attributes="title">\n
+ <span class="image"/>\n
+ </button>\n
+ <button id="listbox_last_page" type="image" src="2rightarrowv.png"\n
+ title="Last Page" name="lastPage:method" class="listbox_last_page"\n
+ tal:attributes="id string:${field_id}_last_page;\n
+ name string:${field_id}_lastPage:method;\n
+ src string:${portal_url_string}/images/2rightarrowv.png"\n
+ i18n:domain="ui" i18n:attributes="title" >\n
+ <span class="image"/>\n
+ </button>\n
+\n
+ </tal:block>\n
+\n
+ </tal:block>\n
+\n
+ <!-- First & Previous button navigation (asynchronous mode) --> \n
+ <tal:block metal:define-macro="first_previous_page_navigation_asynchronous">\n
+\n
+ <tal:block tal:condition="python: here.current_page > 0">\n
<button tal:define ="params python: {field_id+\'_firstPage:method\':\'\', \'list_style\':list_style}"\n
title="First Page" \n
name="firstPage"\n
@@ -123,40 +124,136 @@
<span class="image"/>\n
</button>\n
</tal:block>\n
- <input id="listbox_set_page" name="page_start" onblur="this.value=this.defaultValue"\n
- tal:define="params python: {field_id+\'_setPage:method\':\'\',field_id+\'_page_start\':\'this.value\',\'list_style\':list_style}"\n
- tal:attributes=\'id string:${field_id}_set_page;\n
- name string:${field_id}_page_start;\n
- value python:here.current_page + 1;\n
- size python:len(str(here.total_pages));\n
- onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,dom_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
- / \n
- <tal:block content="here/total_pages" />\n
- <tal:block tal:condition="python: current_page < total_page">\n
- <button tal:define ="params python: {field_id+\'_nextPage:method\':\'\',\'page_start\':here.current_page+1,\'list_style\':list_style}"\n
- title="Next Page"\n
- name="nextPage"\n
- type="button"\n
- class="listbox_next_page"\n
- tal:attributes="id string:${field_id}_next_page;\n
- onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params)"\n
- i18n:domain="ui" i18n:attributes="title">\n
+ \n
+ </tal:block>\n
+\n
+ <!-- Next & Last button navigation (asynchronous mode) --> \n
+ <tal:block metal:define-macro="next_last_page_navigation_asynchronous">\n
+ <tal:block tal:condition="python: current_page < total_page">\n
+ <button tal:define ="params python: {field_id+\'_nextPage:method\':\'\',\'page_start\':here.current_page+1,\'list_style\':list_style}"\n
+ title="Next Page"\n
+ name="nextPage"\n
+ type="button"\n
+ class="listbox_next_page"\n
+ tal:attributes="id string:${field_id}_next_page;\n
+ onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params)"\n
+ i18n:domain="ui" i18n:attributes="title">\n
<span class="image"/>\n
- </button>\n
- <button tal:define ="params python: {field_id+\'_lastPage:method\':\'\',\'total_size\':int(here.total_size), \'list_style\':list_style}"\n
- title="Last Page"\n
- name="lastPage"\n
- type="button"\n
- class="listbox_last_page"\n
- tal:attributes="id string:${field_id}_last_page;\n
- onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params)"\n
- i18n:domain="ui" i18n:attributes="title">\n
+ </button>\n
+ <button tal:define ="params python: {field_id+\'_lastPage:method\':\'\',\'total_size\':int(here.total_size), \'list_style\':list_style}"\n
+ title="Last Page"\n
+ name="lastPage"\n
+ type="button"\n
+ class="listbox_last_page"\n
+ tal:attributes="id string:${field_id}_last_page;\n
+ onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params)"\n
+ i18n:domain="ui" i18n:attributes="title">\n
<span class="image"/>\n
- </button>\n
- </tal:block>\n
+ </button>\n
+ </tal:block>\n
+\n
+ </tal:block>\n
+\n
+ <!-- Type in listbox navigation --> \n
+ <tal:block metal:define-macro="type_in_page_navigation">\n
+ <input id="listbox_set_page" name="page_start" onblur="this.value=this.defaultValue"\n
+ tal:attributes="id string:${field_id}_set_page;\n
+ name string:${field_id}_page_start;\n
+ value python:here.current_page + 1;\n
+ size python:len(str(here.total_pages));\n
+ onkeypress string:submitFormOnEnter(event, this.form, \'${field_id}_setPage\')" />\n
+ / <tal:block content="here/total_pages" />\n
+ </tal:block>\n
+\n
+ <!-- Type in listbox page number navigation (asyncronous) --> \n
+ <tal:block metal:define-macro="type_in_page_navigation_asynchronous">\n
+\n
+ <input id="listbox_set_page" name="page_start" onblur="this.value=this.defaultValue"\n
+ tal:define="params python: {field_id+\'_setPage:method\':\'\',field_id+\'_page_start\':\'this.value\',\'list_style\':list_style}"\n
+ tal:attributes=\'id string:${field_id}_set_page;\n
+ name string:${field_id}_page_start;\n
+ value python:here.current_page + 1;\n
+ size python:len(str(here.total_pages));\n
+ onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,dom_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
+ / <tal:block content="here/total_pages" />\n
+ </tal:block>\n
+\n
+ <!-- Show list of direct listbox page selection -->\n
+ <tal:block metal:define-macro="text_link_page_navigation">\n
+ <tal:block tal:repeat="page_index page_index_list ">\n
+ <a tal:attributes="href python: \'%s_setPage?%s_page_start=%s&list_selection_name=%s&listbox_uid:list=[]\' %(field_id, field_id, page_index, selection_name);\n
+ class python: test(page_index==current_page, \'selected\', \'\');\n
+ title string:Page ${page_index}"\n
+ tal:content="page_index"/>\n
+ </tal:block>\n
+ </tal:block>\n
+\n
+ <!-- Show list of direct listbox page selection (asynchronous) -->\n
+ <tal:block metal:define-macro="text_link_page_navigation_asynchronous">\n
+ <tal:block tal:repeat="page_index page_index_list ">\n
+ <a tal:define="params python: {field_id+\'_setPage:method\':\'\',field_id+\'_page_start\':page_index,\'list_style\':list_style, \'list_selection_name\':selection_name, \'listbox_uid\':[]}"\n
+ tal:attributes="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);\n
+ class python: test(page_index==current_page, \'selected\', \'\');\n
+ title string:Page ${page_index}"\n
+ tal:content="page_index"/>\n
+ </tal:block>\n
+ </tal:block>\n
+\n
+\n
+ <!-- Text navigation (i.e. 1 2 3 4 .. n links)-->\n
+ <tal:block metal:define-macro="text_navigation"\n
+ tal:define="offset python: 7;\n
+ all_page_index_list python: range(1, here.total_pages + 1);\n
+ page_index_list python: all_page_index_list[max(current_page-offset, 1)-1: min(current_page+offset, len(all_page_index_list))];">\n
+\n
+ <!-- Non gadget mode -->\n
+ <tal:block tal:condition="not: is_gadget_mode">\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/first_previous_page_navigation" />\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/text_link_page_navigation" />\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/next_last_page_navigation" />\n
+ </tal:block>\n
+\n
+ <!-- Gadget mode -->\n
+ <tal:block tal:condition="is_gadget_mode"\n
+ tal:define="max_lines python: here.getMaxLineNumber();\n
+ total_page python: here.total_pages;\n
+ page_id python: here.current_page;\n
+ current_page python: page_id + 1;\n
+ previous_page python: current_page - 1;\n
+ next_page python: current_page + 1;">\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/first_previous_page_navigation_asynchronous" />\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/text_link_page_navigation_asynchronous" />\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/next_last_page_navigation_asynchronous" />\n
+ </tal:block>\n
+\n
+ </tal:block>\n
+\n
+ <!-- Slider navigation with input (i.e. first, previous, next, last links)-->\n
+ <tal:block metal:define-macro="page_navigation">\n
+ <tal:block tal:condition="python: here.total_pages > 1">\n
+\n
+ <!-- Non gadget mode -->\n
+ <tal:block tal:condition="not: is_gadget_mode">\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/first_previous_page_navigation" />\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/type_in_page_navigation" />\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/next_last_page_navigation" />\n
+ </tal:block>\n
+\n
+ <!-- Gadget mode -->\n
+ <tal:block tal:condition="is_gadget_mode"\n
+ tal:define="max_lines python: here.getMaxLineNumber();\n
+ total_page python: here.total_pages;\n
+ page_id python: here.current_page;\n
+ current_page python: page_id + 1;\n
+ previous_page python: current_page - 1;\n
+ next_page python: current_page + 1;">\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/first_previous_page_navigation_asynchronous" />\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/type_in_page_navigation_asynchronous" />\n
+ <tal:block metal:use-macro="real_context/page_navigation_render/macros/next_last_page_navigation_asynchronous" />\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
+\n
</tal:block>\n
Modified: erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/bt/revision
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/bt/revision?rev=37935&r1=37934&r2=37935&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/bt/revision [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_xhtml_style/bt/revision [utf8] Mon Aug 23 09:18:54 2010
@@ -1 +1 @@
-971
\ No newline at end of file
+975
\ No newline at end of file
More information about the Erp5-report
mailing list