[Erp5-report] r9456 - /erp5/trunk/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widge...

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Aug 25 15:26:25 CEST 2006


Author: kevin
Date: Fri Aug 25 15:26:24 2006
New Revision: 9456

URL: http://svn.erp5.org?rev=9456&view=rev
Log:
Move "web styled listbox" related stuff to web widget library.

Added:
    erp5/trunk/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/ListBox_asWebStyleHTML.xml

Added: erp5/trunk/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/ListBox_asWebStyleHTML.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/ListBox_asWebStyleHTML.xml?rev=9456&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/ListBox_asWebStyleHTML.xml (added)
+++ erp5/trunk/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/ListBox_asWebStyleHTML.xml Fri Aug 25 15:26:24 2006
@@ -1,0 +1,264 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.PageTemplates.ZopePageTemplate</string>
+          <string>ZopePageTemplate</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <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>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<tal:block\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="field_id                 here/getId;\n
+              form_id                  python: here.getForm().id;\n
+              selection_name           here/getSelectionName;\n
+              requested_selection_name here/getRequestedSelectionName;\n
+              selection_index          here/getSelectionIndex;\n
+              selection                here/getSelection;\n
+              portal_url_string        here/getPortalUrlString;\n
+              real_context             here/getContext;\n
+              context_url              real_context/getUrl;\n
+              md5_string               here/getMD5Checksum;\n
+              line_list                here/query;\n
+              is_domain_tree_mode      here/isDomainTreeMode;\n
+              is_report_tree_mode      here/isReportTreeMode;\n
+              is_domain_tree_supported here/isDomainTreeSupported;\n
+              is_report_tree_supported here/isReportTreeSupported;\n
+              show_select_column       here/showSelectColumn;\n
+              show_search_line         here/showSearchLine;\n
+  ">\n
+\n
+  <!-- ListBox starts here -->\n
+  <input type="hidden" name="list_selection_name" value="default" tal:attributes="value selection_name" />\n
+  <input tal:condition="md5_string" type="hidden" name="md5_object_uid_list" value="checksum" tal:attributes="value md5_string" />\n
+\n
+  <input type="hidden" name="form_id" tal:attributes="value form_id" tal:condition="form_id"/>\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
+  <input type="hidden" name="reset" value="1"/>\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="visibility: hidden"/>\n
+\n
+  <tal:replace tal:content="nothing">\n
+    Because TAL cannot accept unbalanced tags, the support for a domain tree is realized by a macro.\n
+    The macro ListBoxContainer is a no-op, if not in domain tree mode. Otherwise, the macro constructs\n
+    a domain tree and extracts the body in an extra table.\n
+  </tal:replace>\n
+\n
+  <tal:block tal:define="expand python: 0">\n
+    <tal:block metal:define-macro="ListBoxContainer">\n
+      <tal:block tal:condition="expand">\n
+        <tal:block tal:condition="not: is_domain_tree_mode">\n
+          <tal:block metal:define-slot="ListBoxBody" />\n
+        </tal:block>\n
+      </tal:block>\n
+    </tal:block>\n
+  </tal:block>\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
+\n
+          <table class="listbox">\n
+\n
+            <caption>\n
+              <div>\n
+                <span class="left"><em tal:content="here/getTitle" tal:condition="here/getTitle"/></span>\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">Documents <em tal:content="current_page_start"/> - <em tal:content="current_page_stop"/> sur un total de <em tal:content="total_line"/>.</tal:block>\n
+                  <span tal:condition="python: total_line == 0" class="warning">No result !</span>\n
+                </span>\n
+              </div>\n
+              <div class="clear"></div>\n
+            </caption>\n
+\n
+            <thead>\n
+              <tr>\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
+                      <a href="portal_selections/setSelectionQuickSortOrder?selection_name=default&amp;sort_on=id&amp;form_id=view"\n
+                        tal:attributes="href string:portal_selections/setSelectionQuickSortOrder?selection_name=${selection_name}&amp;sort_on=${sql}&amp;form_id=${form_id}"\n
+                        tal:content="title" i18n:domain="ui" i18n:translate=""/>\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
+                    </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 tal:condition="show_search_line">\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
+                    <input tal:condition="python: search_field is None" name="id" size="5" value=""\n
+                           type="text" tal:attributes="name alias; value param"/>\n
+                  </tal:block>\n
+                </td>\n
+              </tr>\n
+            </thead>\n
+\n
+            <tal:replace tal:content="nothing">\n
+              TODO: Move pagination pre-calcultion higher in that code.\n
+            </tal:replace>\n
+            <tfoot tal:condition="python: int(here.total_size) > int(here.getMaxLineNumber())">\n
+              <tr 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
+                              ">\n
+                <td class="pageNavigation"\n
+                    tal:attributes="colspan python: len(here.getSelectedColumnList())">\n
+                  <tal:block tal:condition="python: current_page > 1">\n
+                    <button title="First page: Page 1" name="portal_selections/firstPage:method"\n
+                            tal:attributes="id string:${field_id}_first_page;">|&lt;</button>\n
+                    <button name="portal_selections/previousPage:method"\n
+                            tal:attributes="title python: \'Previous Page: page %s\' % previous_page;\n
+                                            id    string:${field_id}_previous_page;">&lt;&lt;</button>\n
+                  </tal:block>\n
+                  <select\n
+                    name="list_start" title="Change Page" size="1"\n
+                    tal:attributes="id       string:${field_id}_page_selection;\n
+                                    onChange string:submitAction(this.form, \'${context_url}/portal_selections/setPage\')"\n
+                    i18n:domain="ui" i18n:attributes="title">\n
+                    <option\n
+                      tal:repeat="p python: range(total_page)"\n
+                      tal:attributes="selected python: p == page_id;\n
+                                      value    python: p * max_lines"\n
+                      i18n:domain="ui" i18n:translate="">Page <tal:block tal:replace="python: p + 1" i18n:name="page">0</tal:block> of <tal:block tal:replace="total_page" i18n:name="total_pages">1</tal:block></option>\n
+                  </select>\n
+                  <tal:block tal:condition="python: current_page < total_page">\n
+                    <button\n
+                      name="portal_selections/nextPage:method"\n
+                      tal:attributes="title python: \'Next page: Page %s\' % next_page;\n
+                                      id    string:${field_id}_next_page;">&gt;&gt;</button>\n
+                    <button\n
+                      name="portal_selections/lastPage:method"\n
+                      tal:attributes="title python: \'Last page: Page %s\' % total_page;\n
+                                      id    string:${field_id}_last_page;">&gt;|</button>\n
+                  </tal:block>\n
+                </td>\n
+              </tr>\n
+            </tfoot>\n
+\n
+            <tbody>\n
+              <tr tal:repeat="line line_list" tal:define="checked_uid_set here/getCheckedUidSet">\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
+                                  empty              python: original_value in (\'\', None)"\n
+                      tal:attributes="class python: empty and \'emptyCell\' or nothing">\n
+                    <tal:block tal:condition="empty"><span tal:attributes="class editable_field_css">-</span></tal:block>\n
+                    <tal:block tal:condition="not: empty" tal:replace="structure html">value</tal:block>\n
+                  </td>\n
+                </tal:block>\n
+              </tr>\n
+            </tbody>\n
+\n
+          </table>\n
+\n
+      </tal:block>\n
+    </tal:block>\n
+  </tal:block>\n
+  <!-- ListBox ends here -->\n
+\n
+</tal:block>
+
+]]></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_asWebStyleHTML</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>




More information about the Erp5-report mailing list