Commit 1ad490f7 authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki

add old ListBox related page templates because this tutorial is still intended...

add old ListBox related page templates because this tutorial is still intended to use on old ERP5 environment.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@43880 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 5f4e96b4
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block metal:define-macro="main"\n
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:define="listbox_max_lines python: int(here.getMaxLineNumber());\n
total_line python: int(here.total_size);\n
current_page python: int(here.current_page) + 1;\n
current_page_max python: listbox_max_lines * current_page;\n
current_page_start python: (listbox_max_lines * (current_page - 1)) + 1;\n
current_page_stop python: (total_line < current_page_max) and total_line or current_page_max;\n
your_search_text python:here.getParamDict().get(\'your_search_text\', None)">\n
\n
<!-- ListBox (search mode) starts here. -->\n
<input type="hidden" \n
name="list_selection_name" \n
value="default" \n
tal:attributes="value selection_name" />\n
<input tal:condition="md5_string" \n
type="hidden" \n
name="md5_object_uid_list" \n
value="checksum" \n
tal:attributes="value md5_string" />\n
<input type="hidden" name="listbox_uid" value="1"/>\n
\n
<input tal:condition="python:form_id and is_gadget_mode" type="hidden" name="gadget_form_id" tal:attributes="value form_id" />\n
\n
<tal:block tal:define="expand python: 1;\n
date_renderer python: context.getContext().ERP5Site_viewSearchResult.listbox_modification_date.render_pdf;">\n
<tal:block metal:use-macro="template/macros/ListBoxContainer">\n
<tal:block metal:fill-slot="ListBoxBody">\n
\n
<div class="search result">\n
\n
<!-- Advanced Search header -->\n
<div class="centeredInner searchBar extendedSearchBar"\n
tal:define="search_default_text python:context.getContext().Base_translateString(\'Search\')"\n
tal:condition="python:not is_gadget_mode and show_search_line">\n
<input name="top_your_search_text" size="40" value="" type="text"\n
value="Search" tal:attributes="value your_search_text | search_default_text;\n
onfocus string:if (this.value==\'${search_default_text}\') this.value=\'\';"\n
\n
onfocus="this.value=\'\';"\n
onkeypress="submitFormOnEnter(event, this.form, \'ERP5Site_processAdvancedSearch\');"/>\n
<input class="button" i18n:domain="ui" i18n:attributes="value"\n
value="Search" name="ERP5Site_processAdvancedSearch:method" type="submit" />\n
</div>\n
\n
<!-- Result Header -->\n
<div class="resultList">\n
<div class="searchResultHeader" >\n
\n
<span class="left" \n
tal:define="table_form_id request/current_form_id | form_id">\n
\n
<a tal:condition="not:is_gadget_mode"\n
tal:attributes="href string:${context_url}/${table_form_id}?list_style=table">\n
<img id="style_toggle_icon" \n
tal:attributes="src string:${portal_url_string}/images/search_style_icon.png" \n
alt="Search Icon"\n
height="16"\n
title="Table mode"\n
i18n:domain="ui" i18n:attributes="title"/>\n
</a>\n
\n
<input tal:condition="python:not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
type="image" src="text_block.png" id="listbox_flat_list_mode"\n
title="Flat List" name="setFlatListMode:method"\n
value="1" alt="Flat List"\n
tal:attributes="src string:${portal_url_string}/images/text_block.png;\n
id string:${field_id}_flat_list_mode"\n
i18n:domain="ui" i18n:attributes="title" />\n
<input tal:condition="python: not is_gadget_mode and is_report_tree_supported"\n
type="image" src="view_tree.png" id="listbox_report_tree_mode"\n
title="Report Tree" name="setReportTreeMode:method"\n
value="1" alt="Report Tree"\n
tal:attributes="src string:${portal_url_string}/images/view_tree.png;\n
id string:${field_id}_report_tree_mode"\n
i18n:domain="ui" i18n:attributes="title" />\n
<input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"\n
type="image" src="view_choose.png" id="listbox_domain_tree_mode"\n
title="Domain Tree" name="setDomainTreeMode:method"\n
value="1" alt="Domain Tree"\n
tal:attributes="src string:${portal_url_string}/images/view_choose.png;\n
id string:${field_id}_domain_tree_mode"\n
i18n:domain="ui" i18n:attributes="title" />\n
\n
<input tal:condition="python:not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
type="image" src="images/showall.png" id="listbox_reset_selection"\n
title="Show All" name="Folder_show:method"\n
id="listbox_reset_selection"\n
value="1" alt="Flat List"\n
tal:attributes="src string:${portal_url_string}/images/showall.png;"\n
i18n:domain="ui" i18n:attributes="title" />\n
\n
<!-- supporting table mode for gadget mode -->\n
<button tal:condition="is_gadget_mode"\n
tal:define = "params python: {\'list_style\':\'table\'}"\n
title="Table mode"\n
type="button"\n
tal:attributes="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+table_form_id,box,box_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<img id="style_toggle_icon"\n
alt="Table Mode Icon"\n
tal:attributes="src string:${portal_url_string}/images/search_style_icon.png" \n
height="16"/>\n
</button>\n
\n
<a tal:attributes="id string:${field_id}_title; href here/getListActionUrl"\n
tal:condition="python: here.field.get_value(\'list_action\')">\n
<em i18n:translate="" \n
i18n:domain="ui" tal:content="here/getTitle" />\n
</a>\n
<tal:block tal:condition="python: not here.field.get_value(\'list_action\')">\n
<em i18n:translate="" \n
i18n:domain="ui" tal:content="here/getTitle" />\n
</tal:block>\n
\n
<!-- supporting domain tree mode for gadget mode (disabled)-->\n
<!--\n
<br tal:condition="is_gadget_mode"/>\n
<button tal:condition="python: is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
tal:define = "params python: {\'setFlatListMode:method\':1}"\n
id="listbox_flat_list_mode"\n
type="button"\n
title="Flat List"\n
alt="Flat List"\n
tal:attributes="id string:${field_id}_flat_list_mode;\n
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,box_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<img src="text_block.png"\n
tal:attributes="src string:${portal_url_string}/images/text_block.png;"/></button>\n
\n
<button tal:condition="python: is_gadget_mode and is_report_tree_supported"\n
tal:define = "params python: {\'setReportTreeMode:method\':1}"\n
style="cursor:pointer;" id="listbox_report_tree_mode"\n
type="button"\n
title="Report Tree"\n
alt="Report Tree"\n
tal:attributes="id string:${field_id}_report_tree_mode;\n
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,box_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<img src="view_tree.png"\n
tal:attributes="src string:${portal_url_string}/images/view_tree.png;"/></button>\n
\n
<button tal:condition="python: is_gadget_mode and is_domain_tree_supported"\n
tal:define = "params python: {\'setDomainTreeMode:method\':\'1\'}"\n
style="cursor:pointer;" id="listbox_domain_tree_mode"\n
type="button"\n
title="Domain Tree"\n
alt="Domain Tree"\n
tal:attributes="id string:${field_id}_domain_tree_mode;\n
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,box_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<img src="view_choose.png"\n
tal:attributes="src string:${portal_url_string}/images/view_choose.png;"/></button>\n
-->\n
</span>\n
\n
<span class="right">\n
<tal:block tal:condition="python: total_line > 0"\n
tal:replace="structure python: real_context.Base_translateString(\'Results <em>${start} - ${stop}</em> of <em>${total}</em>.\', mapping=dict(start=current_page_start, stop=current_page_stop, total=total_line))"/>\n
\n
<span tal:condition="python: total_line == 0" \n
class="warning" \n
i18n:translate="" \n
i18n:domain="ui">No result !</span>\n
</span>\n
<div class="clear"></div>\n
</div>\n
\n
<!-- Found results -->\n
<tal:block \n
tal:condition="is_web_mode">\n
<tal:block tal:define="global website python: real_context.getWebSiteValue()" />\n
</tal:block>\n
<table cellpadding="0" cellspacing="0" class="listbox search">\n
<tal:block tal:repeat="line line_list">\n
<tr tal:define="css python: test(repeat[\'line\'].index % 2, \'DataB\', \'DataA\');\n
obj line/getObject;\n
url obj/absolute_url;\n
portal_type obj/getPortalType;\n
is_document python:portal_type in\n
real_context.getPortalDocumentTypeList() and portal_type != \'Web Page\';\n
hidden_pop_dom_id string:dom_popup_${field_id}_${repeat/line/index};\n
details_dom_id string:${field_id}_search_details_${repeat/line/index};"\n
tal:attributes="id string:${field_id}_data_line_${repeat/line/index}; \n
class python: \'%s tbody\' % css;">\n
\n
<td class="icon">\n
<a tal:condition="is_document"\n
tal:attributes="href string: ${url}/Base_download"\n
i18n:translate="" \n
i18n:domain="ui" \n
title="Download Document">\n
<img tal:attributes="src obj/getIcon"\n
alt="Document Icon"/>\n
</a>\n
<img tal:condition="not: is_document"\n
tal:attributes="src obj/getIcon"\n
alt="Object Icon"\n
/>\n
</td>\n
\n
<td>\n
<div class="item_nohighlight"\n
tal:attributes="onmouseover python: is_web_mode and \'showPopik(\\\'%s\\\', true)\' % hidden_pop_dom_id or None;\n
onmouseout python: is_web_mode and \'showPopik(\\\'%s\\\', false)\' % hidden_pop_dom_id or None;">\n
\n
<div class="search_popup" \n
style="z-index:100;"\n
tal:condition="is_web_mode" \n
tal:attributes="id hidden_pop_dom_id">\n
<span tal:replace="structure python: obj.Document_getPopupInfo(website)"/>\n
</div>\n
\n
<div>\n
<a tal:attributes="href string:${url}/view">\n
<span class="search_result_title" tal:content="python: obj.getTitle() or (hasattr(obj, \'getReference\') and obj.getReference()) or obj.getId()" />\n
<span class="search_result_portal_type" tal:condition="python:portal_type != \'Web Page\'" tal:content="obj/getTranslatedPortalType" />\n
</a>\n
</div>\n
\n
<span class="searchDetails found" \n
tal:content="structure python: obj.Base_showFoundText(selection=selection)"/>\n
\n
<div tal:condition="is_web_mode"\n
class="searchDetails coordinates">\n
<tal:block tal:condition="obj/getReference|nothing">\n
<a tal:attributes="href python: \'%s/view\' % website.getPermanentURL(obj)"\n
tal:content="obj/getReference|nothing"/>&nbsp;-&nbsp;\n
</tal:block>\n
\n
<tal:block tal:repeat="section python: website.getWebSectionValueList(obj)">\n
<a href="#" \n
tal:content="section/getCompactTranslatedTitle"\n
tal:attributes="href python: \'%s/view\' %section.absolute_url()"/>\n
&nbsp;-&nbsp;\n
</tal:block>\n
\n
\n
<tal:block tal:repeat="owner obj/Base_getOwnerInfoList">\n
<a tal:content="owner/title" \n
tal:attributes="href owner/url"/>\n
&nbsp;-&nbsp;\n
</tal:block>\n
<a tal:content="python: date_renderer(obj.getModificationDate())" \n
tal:attributes="href string: ${url}/Base_viewHistory"/>\n
</div>\n
<div tal:condition="not: is_web_mode"\n
class="searchDetails coordinates">\n
<tal:block tal:condition="obj/getReference|nothing">\n
<a tal:attributes="href string: ${url}/view"\n
tal:content="obj/getReference|nothing"/>&nbsp;-&nbsp;\n
</tal:block>\n
<a tal:content="python: date_renderer(obj.getModificationDate())" \n
tal:attributes="href string: ${url}/Base_viewHistory"/>\n
</div>\n
</div>\n
</td>\n
</tr>\n
</tal:block>\n
<tr>\n
<td class="pageNavigation" colspan="2" style="white-space: nowrap; vertical-align: middle; text-align: right;">\n
<tal:block metal:use-macro="real_context/page_navigation_render/macros/page_navigation" />\n
</td>\n
</tr>\n
</table>\n
</div>\n
\n
<!-- Advanced Search footer -->\n
<div class="centeredInner searchBar extendedSearchBar" \n
tal:condition="python: not is_gadget_mode and show_search_line">\n
<input name="bottom_your_search_text" size="40" value="" type="text"\n
onkeypress="submitFormOnEnter(event, this.form, \'ERP5Site_processAdvancedSearchBottom\');"\n
tal:attributes="value your_search_text" />\n
<input class="button" i18n:domain="ui" i18n:attributes="value"\n
value="Search" name="ERP5Site_processAdvancedSearchBottom:method" type="submit" />\n
</div>\n
\n
<!-- Advanced Search footer for gadgets -->\n
<div class="centeredInner searchBar extendedSearchBar" \n
tal:condition="python: is_gadget_mode and show_search_line">\n
<input tal:define ="params python: {\'ERP5Site_processAdvancedSearchBottom:method\':\'\',\'bottom_your_search_text\':\'this.value\'};"\n
name="bottom_your_search_text" size="25" value="" type="text"\n
tal:attributes=\'value your_search_text;\n
onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box,box_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
</div>\n
\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
<!-- ListBox ends here. -->\n
\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ListBox_asSearchStyleHTML</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Listboxes in search engine style</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block metal:define-macro="main"\n
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
\n
<tal:block tal:define="expand python: 1">\n
<tal:block metal:use-macro="template/macros/ListBoxContainer">\n
<tal:block metal:fill-slot="ListBoxBody">\n
<div class="ListSummary">\n
<table cellpadding="0" cellspacing="0"\n
summary="This table contains the listbox headers">\n
<tr>\n
<td style="height: 10px">\n
<img src="Left.png" alt="left"\n
tal:attributes="src string:${portal_url_string}/images/Left.png" />\n
</td>\n
<td class="Top" colspan="2" style="height: 10px">\n
<img src="spacer.png" style="width: 5px; height: 10px;" alt="spacer"\n
tal:attributes="src string:${portal_url_string}/images/spacer.png" />\n
</td>\n
<td class="Top" colspan="3" style="height: 10px">\n
<img src="spacer.png" style="width: 5px; height: 10px" alt="spacer"\n
tal:attributes="src string:${portal_url_string}/images/spacer.png" />\n
</td>\n
</tr>\n
<tr id="listbox_title_line" class="listbox_title_line" \n
tal:attributes="id string:${field_id}_title_line">\n
<td class="Left" style="width: 17px">\n
<img src="spacer.png" style="width: 5px; height: 5px" alt="spacer"\n
tal:attributes="src string:${portal_url_string}/images/spacer.png" />\n
</td>\n
\t <td style="white-space: nowrap; vertical-align: middle"\n
tal:condition="not: is_gadget_mode">\n
<input tal:condition="python: is_domain_tree_supported or is_report_tree_supported"\n
type="image" src="text_block.png" id="listbox_flat_list_mode"\n
class="listbox_flat_list_mode"\n
title="Flat List" name="setFlatListMode:method"\n
value="1" alt="Flat List"\n
tal:attributes="src string:${portal_url_string}/images/text_block.png;\n
id string:${field_id}_flat_list_mode"\n
i18n:domain="ui" i18n:attributes="title" />\n
<input tal:condition="is_report_tree_supported"\n
type="image" src="view_tree.png" id="listbox_report_tree_mode"\n
title="Report Tree" name="setReportTreeMode:method"\n
value="1" alt="Report Tree" class="listbox_report_tree_mode"\n
tal:attributes="src string:${portal_url_string}/images/view_tree.png;\n
id string:${field_id}_report_tree_mode"\n
i18n:domain="ui" i18n:attributes="title" />\n
<input tal:condition="is_domain_tree_supported"\n
type="image" src="view_choose.png" id="listbox_domain_tree_mode"\n
title="Domain Tree" name="setDomainTreeMode:method"\n
value="1" alt="Domain Tree" class="listbox_domain_tree_mode"\n
tal:attributes="src string:${portal_url_string}/images/view_choose.png;\n
id string:${field_id}_domain_tree_mode"\n
i18n:domain="ui" i18n:attributes="title" />\n
</td>\n
<td style="width: 100%; vertical-align: middle">\n
&nbsp;\n
<a class="listbox_title"\n
tal:attributes="id string:${field_id}_title; href here/getListActionUrl"\n
tal:condition="python: here.field.get_value(\'list_action\')">\n
<tal:block i18n:translate="" \n
i18n:domain="ui" tal:content="here/getTitle" />:\n
</a>\n
<tal:block tal:condition="python: not here.field.get_value(\'list_action\')">\n
<span class="listbox_title" i18n:translate="" \n
i18n:domain="ui" tal:content="here/getTitle" />:\n
</tal:block>\n
<span id="listbox_record_number" class="listbox_record_number"\n
tal:attributes="id string:${field_id}_record_number"\n
i18n:translate="" i18n:domain="ui"><tal:block tal:replace="here/total_size" i18n:name="number">0</tal:block> records</span>\n
<span id="listbox_item_number" class="listbox_item_number"\n
tal:attributes="id string:${field_id}_item_number"\n
tal:condition="show_select_column"\n
i18n:translate="" i18n:domain="ui"> - <tal:block tal:replace="python: len(here.getCheckedUidList())" i18n:name="number">0</tal:block> items selected</span>\n
</td>\n
\n
<td class="pageNavigation" style="white-space: nowrap; vertical-align: middle; text-align: center;">\n
<tal:block metal:use-macro="real_context/page_navigation_render/macros/page_navigation" />\n
</td>\n
</tr>\n
</table>\n
</div>\n
<div class="listbox">\n
<table cellpadding="0" cellspacing="0"\n
summary="This table contains the listbox content">\n
<tr id="listbox_label_line" class="listbox_label_line"\n
tal:attributes="id string:${field_id}_label_line">\n
<td tal:condition="is_report_tree_mode"\n
class="Data" style="width: 50px; text-align: left; vertical-align: middle">\n
<select name="report_root_url"\n
tal:attributes="onChange string:submitAction(this.form, \'${context_url}/setReportRoot\')">\n
<tal:block tal:repeat="c here/getReportRootList">\n
<option value="base_domain"\n
tal:define="path python: c[0]; title python: c[1]"\n
tal:attributes="selected python: path == here.getSelectedReportPath(); value path"\n
tal:content="title" i18n:domain="ui" i18n:translate="">Domain</option>\n
</tal:block>\n
</select>\n
</td>\n
<td class="AnchorColumn Data" tal:condition="show_anchor_column">&nbsp;</td>\n
<td tal:condition="show_select_column"\n
class="Data" style="width: 50px; text-align: center; vertical-align: middle">\n
<input id="listbox_check_all" type="image"\n
name="checkAll:method" value="1"\n
src="checkall.png" alt="Check All" title="Check All"\n
class="listbox_check_all"\n
tal:attributes="id string:${field_id}_check_all;\n
name string:${field_id}_checkAll:method;\n
src string:${portal_url_string}/images/checkall.png"\n
i18n:domain="ui" i18n:attributes="title" />&nbsp;<input id="listbox_uncheck_all" type="image" name="uncheckAll:method" value="1"\n
src="%(portal_url_string)s/images/decheckall.png" style="border: 0" alt="Uncheck All" title="Uncheck All" class="listbox_uncheck_all"\n
tal:attributes="id string:${field_id}_uncheck_all;\n
name string:${field_id}_uncheckAll:method;\n
src string:${portal_url_string}/images/decheckall.png"\n
i18n:domain="ui" i18n:attributes="title" />\n
</td>\n
<tal:block tal:repeat="value here/getLabelValueList">\n
<tal:block tal:define="sql python: value[0];\n
title python: value[1];\n
sort_order python: value[2]">\n
<td tal:condition="sql" class="Data">\n
<button type="submit" class="sort_button"\n
tal:condition="not: is_gadget_mode"\n
name="setSelectionQuickSortOrder:method"\n
tal:attributes="title string:${title}; \n
value string:${field_id}.${sql}"\n
i18n:domain="ui" i18n:attributes="title">\n
<span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>\n
</button>\n
<button tal:condition="is_gadget_mode" \n
tal:define ="params python: {\'setSelectionQuickSortOrder:method\':field_id+\'.\'+sql};"\n
type="button" class="sort_button"\n
tal:attributes="title string:${title}; \n
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box_relative_url,box_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>\n
</button>\n
<img tal:condition="python: sort_order == \'ascending\'"\n
src="1bottomarrow.png" alt="Ascending Display" title="Ascending Display"\n
tal:attributes="src string:${portal_url_string}/images/1bottomarrow.png"\n
i18n:domain="ui" i18n:attributes="title" />\n
<img tal:condition="python: sort_order == \'descending\'"\n
src="1toparrow.png" alt="Descending Display" title="Descending Display"\n
tal:attributes="src string:${portal_url_string}/images/1toparrow.png"\n
i18n:domain="ui" i18n:attributes="title" />\n
</td>\n
<td tal:condition="not: sql" class="Data" tal:content="title"\n
i18n:domain="ui" i18n:translate="">\n
ID\n
</td>\n
</tal:block>\n
</tal:block>\n
</tr>\n
\n
<tr tal:condition="python: show_search_line or is_report_tree_mode"\n
id="listbox_search_line" class="listbox_search_line"\n
tal:attributes="id python: show_search_line and (\'%s_search_line\' % field_id) or (\'%s_report_depth_line\' % field_id)">\n
<tal:block tal:condition="is_report_tree_mode">\n
<td class="Data" style="width: 50px; text-align: left; vertical-align: middle" colspan="1"\n
tal:attributes="colspan python: show_search_line and 1 or (len(here.getSelectedColumnList()) + show_select_column + show_anchor_column + 1)"\n
tal:define="selection_index here/getSelectionIndex;\n
index python: selection_index is not None and \'&amp;selection_index=%s\' % selection_index or \'\';\n
is_report_opened python: int(not here.getSelection().isReportOpened());\n
requested_selection_name here/getRequestedSelectionName;\n
url here/getUrl"><tal:block tal:repeat="i python: range(0, 6)">&nbsp;<a href="?selection_name=default&amp;selection_index=0&amp;report_depth:int=0"\n
tal:attributes="href string:${url}?selection_name=${requested_selection_name}${index}&amp;report_depth:int=${i}"\n
tal:content="i">0</a></tal:block>&nbsp;-&nbsp;<a href="?selection_name=default&amp;selection_index=0&amp;is_report_opened:int=0"\n
tal:attributes="href string:${url}?selection_name=${requested_selection_name}${index}&amp;is_report_opened:int=${is_report_opened}"\n
tal:content="python: is_report_opened and \'Show\' or \'Hide\'"\n
i18n:domain="ui" i18n:translate="">Show</a>\n
</td>\n
</tal:block>\n
<td class="AnchorColumn" tal:condition="show_anchor_column">&nbsp;</td>\n
<td tal:condition="python: show_select_column and show_search_line"\n
class="Data" style="width: 50px; text-align: center; vertical-align: middle">\n
<input id="listbox_select" type="image" src="exec16.png"\n
title="Action" alt="Action" name="Base_doSelect:method"\n
class="listbox_select"\n
tal:attributes="id string:${field_id}_select;\n
src string:${portal_url_string}/images/exec16.png"\n
i18n:domain="ui" i18n:attributes="title" />\n
</td>\n
<tal:block tal:condition="show_search_line"\n
tal:repeat="value here/getSearchValueList">\n
<td class="DataB" style="padding-right: 5px"\n
tal:define="alias python: value[0];\n
param python: value[1];\n
search_field python: value[2]">\n
<span tal:condition="alias" style="font-size: -3">\n
<tal:block tal:condition="python: search_field is not None"\n
tal:replace="structure python: search_field.render(value = param, key = alias)" />\n
<tal:block tal:condition="python: search_field is None">\n
<input tal:condition="not: is_gadget_mode" name="id" size="8" value=""\n
tal:attributes="name alias; value param" style="width: 100%"\n
onkeypress="submitFormOnEnter(event, this.form, \'Base_doSelect\');" />\n
<input tal:condition="is_gadget_mode" \n
tal:define ="params python: {alias:\'this.value\'};"\n
size="8" type="textarea" \n
tal:attributes=\'value python: selection.getParams().get(alias,"");\n
onkeypress python:"if(event.keyCode==13){" + real_context.KnowledgePad_generateAjaxCall(context_url+"/"+form_id,box_relative_url,box_id,params).replace("\\"this.value\\"","this.value")+ "return false;;}"\'/>\n
</tal:block>\n
</span>\n
</td>\n
</tal:block>\n
</tr>\n
<tal:block tal:repeat="line line_list" tal:define="checked_uid_set here/getCheckedUidSet">\n
\n
<tr id="listbox_data_line_0" class="DataA"\n
tal:define="css python: line.getRowCSSClassName() or test(repeat[\'line\'].index % 2, \'DataB\', \'DataA\');\n
render_result line/render;"\n
tal:attributes="id string:${field_id}_data_line_${repeat/line/index}; class css">\n
<td tal:condition="is_report_tree_mode" class="DataA" align="left" valign="middle"\n
tal:attributes="class css"\n
tal:define="section_name python: line.getDomainTitle()">\n
<a tal:condition="section_name"\n
tal:define="method_id python: line.isOpen() and \'foldReport\' or \'unfoldReport\'"\n
tal:attributes="href string:${method_id}?report_url=${line/getDomainUrl}&amp;form_id=${form_id}&amp;list_selection_name=${selection_name};\n
class python:test(line.isOpen(), \'tree_open\', \'tree_closed\');\n
style python:\'white-space: nowrap;; margin-left: %spx\' % (line.getDepth() * 15)"\n
tal:content="section_name"/>\n
</td>\n
<td class="AnchorColumn Data" tal:condition="python:show_anchor_column and len(render_result)" style="width: 20px;">\n
<a href="#" tal:attributes="href python:render_result[0][4]"><img src="document_icon.gif" alt="document" tal:attributes="src string:${portal_url_string}/images/line_clickable.png" /></a>\n
</td>\n
<td tal:condition="show_select_column"\n
class="DataA" style="width: 50px; text-align: center; vertical-align: middle"\n
tal:attributes="class css">\n
<input tal:condition="python: not line.isSummary() and line.getObject() is not None"\n
type="checkbox" value="checked" name="uids:list"\n
tal:attributes="checked python: line.getUid() in checked_uid_set;\n
value line/getUid;" />\n
<tal:block tal:condition="python: line.isSummary() or line.getObject() is None"></tal:block>\n
</td>\n
<tal:block tal:repeat="value render_result">\n
<td tal:define="html python: value[0];\n
original_value python: value[1];\n
error python: value[2]"\n
class="DataA" align="left"\n
tal:attributes="class python: error and (css + \'Error\') or css;\n
align python: isinstance(original_value, (float, int, long)) and \'right\' or \'left\'">\n
<input tal:condition="not: repeat/value/index"\n
type="hidden" value="1" name="listbox_uid:list"\n
tal:attributes="value python: line.getUid() or \'\';\n
name string:${field_id}_uid:list" />\n
<span tal:replace="structure html">value</span>\n
</td>\n
</tal:block>\n
</tr>\n
</tal:block>\n
\n
<tr tal:condition="hide_rows_on_no_search_criterion"\n
class="listbox_missing_search_criterion">\n
<td tal:attributes="colspan python: len(here.getSearchValueList()) + 1">\n
<span i18n:translate="" \n
i18n:domain="ui">\n
To display actual content, please fill in one or more search criterion.\n
</span>\n
</td>\n
</tr>\n
\n
<tr tal:condition="python:here.showStat() and not hide_rows_on_no_search_criterion" id="listbox_stat_line"\n
class="listbox_stat_line"\n
tal:attributes="id string:${field_id}_stat_line">\n
<td tal:condition="is_report_tree_mode" class="Data">&nbsp;</td>\n
<td class="AnchorColumn Data" tal:condition="show_anchor_column">&nbsp;</td>\n
<td tal:condition="show_select_column" class="Data">&nbsp;</td>\n
<tal:block tal:repeat="value here/getStatValueList">\n
<td class="Data" align="left"\n
tal:define="original_value python: value[0]; processed_value python: value[1]"\n
tal:attributes="align python: isinstance(original_value, (float, int, long)) and \'right\' or \'left\'"\n
tal:content="structure processed_value" />\n
</tal:block>\n
</tr>\n
\n
</table>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
<!-- ListBox ends here. -->\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ListBox_asStandardHTML</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block metal:define-macro="main"\n
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
\n
<!-- ListBox (table mode) starts here -->\n
\n
<input tal:replace="nothing" type="hidden" name="form_id" tal:attributes="value form_id" tal:condition="form_id"/>\n
\n
<!--<input type="hidden" name="selection_name" tal:attributes="value selection_name" tal:condition="selection_name"/>\n
<input type="hidden" name="selection_index" tal:attributes="value selection_index" tal:condition="selection_index"/>-->\n
\n
<!--<input type="hidden" name="listbox_uid:list" value="" tal:attributes="name string:${field_id}_uid:list"/>\n
<input type="hidden" name="total_size" value="" tal:attributes="value here/total_size"/> -->\n
<input id="listbox_select" tal:attributes="id string:${field_id}_select"\n
title="Filter" alt="Filter" name="Base_doSelect:method"\n
type="submit" style="display: none"/>\n
\n
<tal:block tal:define="expand python: 1;\n
table_form_id request/current_form_id | form_id;\n
your_search_text python:here.getParamDict().get(\'your_search_text\', None)">\n
<tal:block metal:use-macro="template/macros/ListBoxContainer">\n
<tal:block metal:fill-slot="ListBoxBody">\n
\n
<input tal:condition="python:is_gadget_mode" type="hidden" name="dom_id" tal:attributes="value dom_id" />\n
\n
<table class="listbox table">\n
\n
<caption>\n
<span class="left">\n
\n
<a tal:condition="not:is_gadget_mode" tal:attributes="href string:${context_url}/${table_form_id}?list_style=search">\n
<img id="style_toggle_icon"\n
tal:attributes="src string:${context_url}/images/table_style_icon.png"\n
height="16"\n
title="Search mode"\n
alt="Search mode"\n
i18n:domain="ui" i18n:attributes="title"/>\n
</a>\n
\n
<input tal:condition="python:not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
type="image" src="text_block.png" id="listbox_flat_list_mode"\n
title="Flat List" name="setFlatListMode:method"\n
value="1" alt="Flat List"\n
tal:attributes="src string:${portal_url_string}/images/text_block.png;\n
id string:${field_id}_flat_list_mode"\n
i18n:domain="ui" i18n:attributes="title" />\n
<input tal:condition="python: not is_gadget_mode and is_report_tree_supported"\n
type="image" src="view_tree.png" id="listbox_report_tree_mode"\n
title="Report Tree" name="setReportTreeMode:method"\n
value="1" alt="Report Tree"\n
tal:attributes="src string:${portal_url_string}/images/view_tree.png;\n
id string:${field_id}_report_tree_mode"\n
i18n:domain="ui" i18n:attributes="title" />\n
<input tal:condition="python: not is_gadget_mode and is_domain_tree_supported"\n
type="image" src="view_choose.png" id="listbox_domain_tree_mode"\n
title="Domain Tree" name="setDomainTreeMode:method"\n
value="1" alt="Domain Tree"\n
tal:attributes="src string:${portal_url_string}/images/view_choose.png;\n
id string:${field_id}_domain_tree_mode"\n
i18n:domain="ui" i18n:attributes="title" />\n
\n
<input tal:condition="python:not is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
type="image" id="listbox_reset_selection"\n
title="Show All" name="Folder_show:method"\n
id="listbox_reset_selection"\n
value="1" alt="Flat List"\n
tal:attributes="src string:${portal_url_string}/images/showall.png;"\n
i18n:domain="ui" i18n:attributes="title" />\n
\n
<!-- supporting search mode for gadget mode -->\n
\n
<button tal:condition="is_gadget_mode"\n
tal:define = "params python: {\'list_style\':\'search\'}"\n
type="button"\n
title="Search mode"\n
tal:attributes="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<img id="style_toggle_icon"\n
alt="Search mode"\n
tal:attributes="src string:${context_url}/images/table_style_icon.png"\n
height="16"/></button>\n
<a tal:attributes="id string:${field_id}_title; href here/getListActionUrl"\n
tal:condition="python: here.field.get_value(\'list_action\')">\n
<em i18n:translate="" \n
i18n:domain="ui" tal:content="here/getTitle" />\n
</a>\n
<tal:block tal:condition="python: not here.field.get_value(\'list_action\')">\n
<em i18n:translate="" \n
i18n:domain="ui" tal:content="here/getTitle" />\n
</tal:block>\n
<!-- supporting domain tree mode for gadget mode (disabled)-->\n
<!--\n
<br tal:condition="is_gadget_mode"/>\n
<button tal:condition="python: is_gadget_mode and (is_domain_tree_supported or is_report_tree_supported)"\n
tal:define = "params python: {\'setFlatListMode:method\':1}"\n
id="listbox_flat_list_mode"\n
type="button"\n
title="Flat List"\n
alt="Flat List"\n
tal:attributes="id string:${field_id}_flat_list_mode;\n
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<img tal:attributes="src string:${portal_url_string}/images/text_block.png;"/></button>\n
\n
<button tal:condition="python: is_gadget_mode and is_report_tree_supported"\n
tal:define = "params python: {\'setReportTreeMode:method\':1}"\n
style="cursor:pointer;" id="listbox_report_tree_mode"\n
type="button"\n
title="Report Tree"\n
alt="Report Tree"\n
tal:attributes="id string:${field_id}_report_tree_mode;\n
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<img src="view_tree.png"\n
tal:attributes="src string:${portal_url_string}/images/view_tree.png;"/></button>\n
\n
<button tal:condition="python: is_gadget_mode and is_domain_tree_supported"\n
tal:define = "params python: {\'setDomainTreeMode:method\':\'1\'}"\n
style="cursor:pointer;" id="listbox_domain_tree_mode"\n
type="button"\n
title="Domain Tree"\n
alt="Domain Tree"\n
tal:attributes="id string:${field_id}_domain_tree_mode;\n
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<img tal:attributes="src string:${portal_url_string}/images/view_choose.png;"/></button>\n
-->\n
</span>\n
\n
<span class="right"\n
tal:define="listbox_max_lines python: int(here.getMaxLineNumber());\n
total_line python: int(here.total_size);\n
current_page python: int(here.current_page) + 1;\n
current_page_max python: listbox_max_lines * current_page;\n
current_page_start python: (listbox_max_lines * (current_page - 1)) + 1;\n
current_page_stop python: (total_line < current_page_max) and total_line or current_page_max;">\n
<tal:block condition="python: total_line > 0"\n
tal:replace="structure python: real_context.Base_translateString(\'Results <em>${start} - ${stop}</em> of <em>${total}</em>.\', mapping=dict(start=current_page_start, stop=current_page_stop, total=total_line))"/>\n
<span tal:condition="python: total_line == 0" class="warning" i18n:translate="" i18n:domain="ui">No result !</span>\n
</span>\n
</caption>\n
\n
<tr class ="thead listbox_search_line">\n
<td tal:condition="python:not is_gadget_mode and show_select_column"\n
class="Data" style="width: 50px; text-align: center; vertical-align: middle; white-space: nowrap;">\n
<input id="listbox_check_all" type="image"\n
name="checkAll:method" value="1"\n
alt="Check All" title="Check All"\n
tal:attributes="id string:${field_id}_check_all;\n
name string:${field_id}_checkAll:method;\n
src string:${portal_url_string}/images/checkall.png"\n
i18n:domain="ui" i18n:attributes="title" />&nbsp;<input id="listbox_uncheck_all"\n
type="image" name="uncheckAll:method" value="1"\n
style="border: 0" alt="Uncheck All" title="Uncheck All"\n
tal:attributes="id string:${field_id}_uncheck_all;\n
src string:${portal_url_string}/images/decheckall.png;\n
name string:${field_id}_uncheckAll:method;"\n
i18n:domain="ui" i18n:attributes="title" />\n
</td>\n
\n
<tal:block tal:repeat="value here/getLabelValueList">\n
<tal:block tal:define="sql python: value[0];\n
title python: value[1];\n
sort_order python: value[2]">\n
<th tal:condition="sql">\n
\n
<button tal:condition="not:is_gadget_mode" type="submit" class="sort_button"\n
name="setSelectionQuickSortOrder:method"\n
tal:attributes="title string:${title}; \n
value string:${field_id}.${sql}"\n
i18n:domain="ui" i18n:attributes="title">\n
<span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>\n
</button>\n
\n
<!-- Sort for gadget mode -->\n
<button tal:condition="is_gadget_mode" \n
tal:define ="params python: {\'setSelectionQuickSortOrder:method\':field_id+\'.\'+sql};"\n
type="button" \n
class="sort_button"\n
tal:attributes="title string:${title}; \n
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);"\n
i18n:domain="ui" i18n:attributes="title">\n
<span tal:content="title" i18n:domain="ui" i18n:translate="">ID</span>\n
</button>\n
\n
<img tal:condition="python: sort_order == \'ascending\'"\n
alt="Ascending Display" title="Ascending Display"\n
tal:attributes="src string:${portal_url_string}/images/1bottomarrow.png"\n
style="float:left"\n
i18n:domain="ui" i18n:attributes="title"/>\n
<img tal:condition="python: sort_order == \'descending\'"\n
alt="Descending Display" title="Descending Display"\n
tal:attributes="src string:${portal_url_string}/images/1toparrow.png"\n
style="float:left"\n
i18n:domain="ui" i18n:attributes="title"/>\n
</th>\n
<th tal:condition="not: sql" tal:content="title" i18n:domain="ui" i18n:translate=""/>\n
</tal:block>\n
</tal:block>\n
</tr>\n
<tr class="thead listbox_search_line" tal:condition="show_search_line">\n
<td tal:condition="python: show_select_column and show_search_line and not is_gadget_mode"\n
class="Data" style="width: 50px; text-align: center; vertical-align: middle">\n
<input id="listbox_select" type="image"\n
title="Action" alt="Action" name="Base_doSelect:method"\n
tal:attributes="id string:${field_id}_select;\n
src string:${portal_url_string}/images/exec16.png"\n
i18n:domain="ui" i18n:attributes="title" />\n
\n
</td>\n
<td tal:repeat="value here/getSearchValueList">\n
<tal:block tal:define="alias python: value[0];\n
param python: value[1];\n
search_field python: value[2]"\n
tal:condition="alias">\n
<tal:block\n
tal:condition="python: search_field is not None"\n
tal:replace="structure python: search_field.render(value=param, key=alias)"/>\n
\n
<input tal:condition="python: not is_gadget_mode and search_field is None" \n
name="id" size="5" value=""\n
type="text" tal:attributes="name alias; value param"/>\n
\n
<!-- Search for gadget mode -->\n
<input tal:condition="python: is_gadget_mode and search_field is None" \n
tal:define ="params python: {alias:\'this.value\'};"\n
size="8"\n
type="textarea" \n
tal:attributes=\'value python: selection.getParams().get(alias,"");\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>\n
</td>\n
</tr>\n
\n
<tal:replace tal:content="nothing">\n
TODO: Move pagination pre-calcultion higher in that code.\n
</tal:replace>\n
<tr class="tbody" tal:condition="line_list"\n
tal:repeat="line line_list" tal:define="checked_uid_set here/getCheckedUidSet">\n
<td tal:condition="python: show_select_column and not is_gadget_mode"\n
class="DataA" style="width: 50px; text-align: center; vertical-align: middle"\n
>\n
<input tal:condition="python: not line.isSummary() and line.getObject() is not None"\n
type="checkbox" value="checked" id="listbox_cb_1" name="uids:list"\n
tal:attributes="checked python: line.getUid() in checked_uid_set;\n
value line/getUid;\n
id string:${field_id}_cb_${line/getUid}" />\n
<tal:block tal:condition="python: line.isSummary() or line.getObject() is None"></tal:block>\n
</td>\n
\n
<tal:block tal:repeat="value line/render">\n
<td tal:define="html python: value[0];\n
original_value python: value[1];\n
error python: value[2];\n
editable_field python: value[3];\n
editable_field_css python: editable_field != None and editable_field.get_value(\'css_class\')">\n
<input tal:condition="not: repeat/value/index"\n
type="hidden" value="1" name="listbox_uid:list"\n
tal:attributes="value python: line.getUid() or \'\';\n
name string:${field_id}_uid:list" />\n
<tal:block tal:replace="structure html">value</tal:block>\n
</td>\n
</tal:block>\n
</tr>\n
<tr tal:condition="python: int(here.total_size) > int(here.getMaxLineNumber())"\n
class="tfoot">\n
<td class="pageNavigation" style="white-space: nowrap; vertical-align: middle; text-align: right;"\n
tal:attributes="colspan python: len(here.getSelectedColumnList()) + bool(show_select_column)">\n
<tal:block metal:use-macro="real_context/page_navigation_render/macros/page_navigation" />\n
</td>\n
</tr>\n
\n
<tr tal:condition="hide_rows_on_no_search_criterion"\n
class="listbox_missing_search_criterion">\n
<td tal:attributes="colspan python: len(here.getSearchValueList()) + 1">\n
<span i18n:translate="" \n
i18n:domain="ui">\n
To display actual content, please fill in one or more search criterion.\n
</span>\n
</td>\n
</tr>\n
\n
</table>\n
\n
<!-- Advanced Search footer -->\n
<div class="centeredInner extendedSearchBar"\n
tal:condition="python:not is_gadget_mode and show_search_line and your_search_text is not None">\n
<input name="bottom_your_search_text" size="40" value=""\n
type="text" tal:attributes="value your_search_text"\n
onkeypress="submitFormOnEnter(event, this.form, \'ERP5Site_processAdvancedSearchBottom\');"/>\n
<input class="button" value="Search" name="ERP5Site_processAdvancedSearchBottom:method" type="submit" />\n
</div>\n
\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
<!-- ListBox ends here -->\n
\n
</tal:block>\n
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ListBox_asTableStyleHTML</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Listbox as tables renderer</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<tal:block tal:replace="nothing"\n
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
\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 type="image" src="2leftarrowv.png"\n
title="First Page" name="firstPage:method"\n
class="listbox_first_page"\n
tal:attributes="name string:${field_id}_firstPage:method;\n
src string:${portal_url_string}/images/2leftarrowv.png;\n
class python: test(is_default_listbox_field, \'listbox_first_page\', \'listbox_first_page %s_first_page\' %field_id)"\n
i18n:domain="ui" i18n:attributes="title">\n
<span class="image"/>\n
</button>\n
<button type="image" src="1leftarrowv.png"\n
title="Previous Page" name="previousPage:method"\n
class="listbox_previous_page"\n
tal:attributes="name string:${field_id}_previousPage:method;\n
src string:${portal_url_string}/images/1leftarrowv.png;\n
class python: test(is_default_listbox_field, \'listbox_previous_page\', \'listbox_previous_page %s_previous_page\' %field_id)"\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 type="image" src="1rightarrowv.png"\n
title="Next Page" name="nextPage:method" class="listbox_next_page"\n
tal:attributes="name string:${field_id}_nextPage:method;\n
src string:${portal_url_string}/images/1rightarrowv.png;\n
class python: test(is_default_listbox_field, \'listbox_next_page\', \'listbox_next_page %s_next_page\' %field_id)"\n
i18n:domain="ui" i18n:attributes="title">\n
<span class="image"/>\n
</button>\n
<button type="image" src="2rightarrowv.png"\n
title="Last Page" name="lastPage:method" class="listbox_last_page"\n
tal:attributes="name string:${field_id}_lastPage:method;\n
src string:${portal_url_string}/images/2rightarrowv.png;\n
class python: test(is_default_listbox_field, \'listbox_last_page\', \'listbox_last_page %s_last_page\' %field_id)"\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
type = "button" \n
class = "listbox_first_page"\n
tal:attributes="value string:|&lt;;\n
onclick python:\n
real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);\n
class python: test(is_default_listbox_field, \'listbox_first_page\', \'listbox_first_page %s_first_page\' %field_id)"\n
i18n:domain="ui" i18n:attributes="title">\n
<span class="image"/>\n
</button>\n
<button tal:define ="params python: {field_id+\'_previousPage:method\':\'\',\'page_start\':here.current_page+1,\'list_style\':list_style}"\n
title="Previous Page"\n
name="previousPage"\n
type="button"\n
class="listbox_previous_page"\n
tal:attributes="value string:&lt;&lt;;\n
onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);\n
class python: test(is_default_listbox_field, \'listbox_previous_page\', \'listbox_previous_page %s_previous_page\' %field_id)"\n
i18n:domain="ui" i18n:attributes="title">\n
<span class="image"/>\n
</button>\n
</tal:block>\n
\n
</tal:block>\n
\n
<!-- Next & Last button navigation (asynchronous mode) --> \n
<tal:block metal:define-macro="next_last_page_navigation_asynchronous">\n
\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="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);\n
class python: test(is_default_listbox_field, \'listbox_next_page\', \'listbox_next_page %s_next_page\' %field_id)"\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="onclick python: real_context.KnowledgePad_generateAjaxCall(context_url+\'/\'+form_id,box,dom_id,params);\n
class python: test(is_default_listbox_field, \'listbox_last_page\', \'listbox_last_page %s_last_page\' %field_id)"\n
i18n:domain="ui" i18n:attributes="title">\n
<span class="image"/>\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 class="listbox_set_page" \n
name="page_start" onblur="this.value=this.defaultValue"\n
tal:attributes="name string:${field_id}_page_start;\n
class python: test(is_default_listbox_field, \'listbox_set_page\', \'listbox_set_page %s_set_page\' %field_id);\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 class="listbox_set_page" \n
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=\'name string:${field_id}_page_start;\n
class python: test(is_default_listbox_field, "listbox_set_page", "listbox_set_page %s_set_page" %field_id);\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
is_default_listbox_field python: field_id==\'listbox\';">\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:define="is_default_listbox_field python: field_id==\'listbox\';">\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
]]></string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>page_navigation_render</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
1
\ No newline at end of file
2
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment