[Erp5-report] r41091 ivan - in /erp5/trunk/bt5/erp5_knowledge_pad: SkinTemplateItem/portal_...

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Dec 3 14:52:04 CET 2010


Author: ivan
Date: Fri Dec  3 14:52:04 2010
New Revision: 41091

URL: http://svn.erp5.org?rev=41091&view=rev
Log:
Enable instant switching to new pad (i.e. without page refresh).

Added:
    erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ajax-loader.gif.xml
Modified:
    erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/Base_viewKnowledgePadMacroLibrary.xml
    erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ERP5Site_viewHomeAreaRenderer.xml
    erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePad_generateAjaxCall.xml
    erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePag_getPadAsJSON.xml
    erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.css.xml
    erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.js.xml
    erp5/trunk/bt5/erp5_knowledge_pad/bt/revision

Modified: erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/Base_viewKnowledgePadMacroLibrary.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/Base_viewKnowledgePadMacroLibrary.xml?rev=41091&r1=41090&r2=41091&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/Base_viewKnowledgePadMacroLibrary.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/Base_viewKnowledgePadMacroLibrary.xml [utf8] Fri Dec  3 14:52:04 2010
@@ -186,16 +186,16 @@
                     <li tal:attributes="id dom_id;\n
                                         class python: test(is_active, \'tab tab_selected\', \'tab\')">\n
 \n
-                      <a tal:attributes="href string:\n
+                    <!--                      \n
+                    <a tal:attributes="href string:\n
                                            ERP5Site_toggleActiveKnowledgePad?knowledge_pad_url=${knowledge_pad_relative_url}&amp;mode=${mode}">\n
                         <span tal:attributes="id pad_title_dom_id;"\n
                               tal:content="knowledge_pad/getTitle"/>\n
-                      </a>\n
+                      </a>-->\n
 \n
-\n
-<!--                     <span tal:attributes="id pad_title_dom_id;\n
+                      <span tal:attributes="id pad_title_dom_id;\n
                                              onclick string:loadPadFromServer(\'${knowledge_pad_relative_url}\', \'${dom_id}\', \'${mode}\')" \n
-                             tal:content="knowledge_pad/getTitle"/>-->\n
+                             tal:content="knowledge_pad/getTitle"/>\n
 \n
                       <div class="pad-actions"\n
                            tal:attributes="style python: test(is_active, \'display:block\', \'display:none\')">\n
@@ -292,7 +292,14 @@
       </div>\n
   </div>\n
 </tal:block>\n
-
+\n
+<tal:block metal:define-macro="loading_message">\n
+  <div id="loading-wrapper" style="display:none;">\n
+    <img src="ajax-loader.gif" title="Loading" alt="Loading"/>\n
+    <p i18n:translate="" i18n:domain="ui"> Please wait until your changes are being applied. </p>\n
+  </div>\n
+\n
+</tal:block>
 
 ]]></unicode> </value>
         </item>

Modified: erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ERP5Site_viewHomeAreaRenderer.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ERP5Site_viewHomeAreaRenderer.xml?rev=41091&r1=41090&r2=41091&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ERP5Site_viewHomeAreaRenderer.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ERP5Site_viewHomeAreaRenderer.xml [utf8] Fri Dec  3 14:52:04 2010
@@ -64,6 +64,7 @@
         <div id="pad-navigation-wrapper">\n
           <span metal:use-macro="container/Base_viewKnowledgePadMacroLibrary/macros/navigation"/>\n
         </div>\n
+        <span metal:use-macro="container/Base_viewKnowledgePadMacroLibrary/macros/loading_message"/>\n
         <span metal:use-macro="container/Base_viewKnowledgePadMacroLibrary/macros/knowledge_pad_security_check"/> \n
         <span metal:use-macro="container/Base_viewKnowledgePadMacroLibrary/macros/disable_server_integration"/>\n
         <span metal:use-macro="container/Base_viewKnowledgePadMacroLibrary/macros/disable_server_integration"/> \n

Modified: erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePad_generateAjaxCall.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePad_generateAjaxCall.xml?rev=41091&r1=41090&r2=41091&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePad_generateAjaxCall.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePad_generateAjaxCall.xml [utf8] Fri Dec  3 14:52:04 2010
@@ -60,7 +60,7 @@
 # asynchronous request and server can set it in context.REQUEST\n
 from Products.ERP5Type.JSONEncoder import encodeInJson\n
 current_web_section_url = \'\'\n
-current_web_section = context.REQUEST.get(\'current_web_section\', None)\n
+current_web_section = context.REQUEST.get(\'current_web_section\', context.getWebSiteValue())\n
 if current_web_section is not None:\n
   current_web_section_url = current_web_section.getRelativeUrl()\n
 if params is None:\n
@@ -132,8 +132,8 @@ return s\n
                             <string>Products.ERP5Type.JSONEncoder</string>
                             <string>encodeInJson</string>
                             <string>current_web_section_url</string>
-                            <string>None</string>
                             <string>current_web_section</string>
+                            <string>None</string>
                             <string>isinstance</string>
                             <string>str</string>
                             <string>box_relative_url</string>

Modified: erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePag_getPadAsJSON.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePag_getPadAsJSON.xml?rev=41091&r1=41090&r2=41091&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePag_getPadAsJSON.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/KnowledgePag_getPadAsJSON.xml [utf8] Fri Dec  3 14:52:04 2010
@@ -51,10 +51,8 @@
         <item>
             <key> <string>_body</string> </key>
             <value> <string>"""\n
-  Render an entire PAD plus navigation (XXX)\n
-  Used to in AJAX calls for instan PAD switching.\n
-  XXX: rather than return HTML we should return JSON as some parts like JS needs to be evaluated explicitly by\n
-  browser.\n
+  Render an entire Pad and needed JavaScript code.\n
+  Used to make instant Pad switching.\n
 """\n
 pad = context.restrictedTraverse(pad_relative_url)\n
 \n
@@ -64,14 +62,26 @@ body = pad.KnowledgePad_viewDashboardWid
 # toggle new active pad \n
 context.ERP5Site_toggleActiveKnowledgePad(pad_relative_url, mode, redirect=False)\n
 \n
-# XXX: generate all JS updater code\n
-javascript = \'\'\'updater(\'http://localhost/km/ERP5Site_viewRssGadget\', \'knowledge_pad_module/65/2\', \'visual_2\', \'web_site_module/km_test_web_site\', \'0\', {});\n
-updater(\'http://localhost/km/ERP5Site_viewRssGadget\', \'knowledge_pad_module/64/3\', \'visual_3\', \'\', \'0\', {}); \'\'\'\n
-\n
+# generate needed JavaScript code\n
+javascript_list = []\n
+for box in pad.objectValues():\n
+  gadget = box.getSpecialiseValue()\n
+  gadget_type = gadget.getRenderType()\n
+  if box.getValidationState() in [\'visible\', \'invisible\'] \\\n
+        and gadget_type==\'asynchronous\':\n
+    edit_form_id=gadget.getEditFormId()\n
+    view_form_id=gadget.getViewFormId()\n
+    base_url = \'%s/%s\' %(context.absolute_url(), view_form_id) \n
+    box_dom_id = box.getRelativeUrl().replace(\'/\', \'_\')\n
+    view_form_dom_id = \'%s_content\' %box_dom_id;\n
+    javascript_code = pad.KnowledgePad_generateAjaxCall(base_url, box, \\\n
+                            view_form_dom_id, ignore_security_check=1)\n
+    javascript_list.append(javascript_code)\n
+javascript = \'\'.join(javascript_list)\n
 # return JSON\n
 result = {\'body\': body,\n
-          \'javascript\': javascript }\n
-return \'%s\' % result\n
+          \'javascript\':  javascript}\n
+return result\n
 </string> </value>
         </item>
         <item>
@@ -115,6 +125,17 @@ return \'%s\' % result\n
                             <string>pad</string>
                             <string>body</string>
                             <string>False</string>
+                            <string>javascript_list</string>
+                            <string>_getiter_</string>
+                            <string>box</string>
+                            <string>gadget</string>
+                            <string>gadget_type</string>
+                            <string>edit_form_id</string>
+                            <string>view_form_id</string>
+                            <string>base_url</string>
+                            <string>box_dom_id</string>
+                            <string>view_form_dom_id</string>
+                            <string>javascript_code</string>
                             <string>javascript</string>
                             <string>result</string>
                           </tuple>

Added: erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ajax-loader.gif.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ajax-loader.gif.xml?rev=41091&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ajax-loader.gif.xml (added)
+++ erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ajax-loader.gif.xml [utf8] Fri Dec  3 14:52:04 2010
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Cacheable__manager_id</string> </key>
+            <value> <string>http_cache</string> </value>
+        </item>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts91383226.96</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>ajax-loader.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/gif</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH+GkNyZWF0ZWQgd2l0aCBhamF4
+bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAADMwi63P4wyklr
+E2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQACgABACwAAAAA
+EAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUk
+KhIAIfkEAAoAAgAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9
+HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkEAAoAAwAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYum
+CYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkEAAoABAAsAAAAABAAEAAAAzII
+unInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQACgAF
+ACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJ
+ibufbSlKAAAh+QQACgAGACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFG
+xTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAAKAAcALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdce
+CAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>673</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>ajax-loader.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>

Modified: erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.css.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.css.xml?rev=41091&r1=41090&r2=41091&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.css.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.css.xml [utf8] Fri Dec  3 14:52:04 2010
@@ -12,7 +12,7 @@
         </item>
         <item>
             <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts91368675.54</string> </value>
+            <value> <string>ts91384188.54</string> </value>
         </item>
         <item>
             <key> <string>__name__</string> </key>
@@ -40,6 +40,22 @@
   margin-top: 0.5em;\n
 }\n
 \n
+#loading-wrapper{  \n
+  position:absolute;  \n
+  width:250px;  \n
+  top:80px;  \n
+  left:50%;  \n
+  margin-left:-150px;  \n
+  text-align:center;  \n
+  padding:7px 0 0 0; \n
+  background-color: #FFF; \n
+  z-index:1000;\n
+}  \n
+#loading-wrapper p{\n
+  font-weight: bold;\n
+  font-size: 90%;\n
+}\n
+\n
 /* 3 columng gadget layout */\n
 div.portal-column {\n
   float: left;\n
@@ -497,7 +513,7 @@ div.gadget-rss-reader .body {\n
         </item>
         <item>
             <key> <string>size</string> </key>
-            <value> <int>8253</int> </value>
+            <value> <int>8519</int> </value>
         </item>
         <item>
             <key> <string>title</string> </key>

Modified: erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.js.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.js.xml?rev=41091&r1=41090&r2=41091&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.js.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/erp5_knowledge_box.js.xml [utf8] Fri Dec  3 14:52:04 2010
@@ -12,7 +12,7 @@
         </item>
         <item>
             <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts91368480.41</string> </value>
+            <value> <string>ts91383963.02</string> </value>
         </item>
         <item>
             <key> <string>__name__</string> </key>
@@ -272,14 +272,15 @@ function showRenamePadPopup(knowledge_pa
   getElement("new_knowledge_pad_title").value = getElement(knowledge_pad_title_dom_id).innerHTML;\n
   // show rename dialog\n
   toggleElementById(\'rename_tab_dialog\');\n
-   // set focus on new Pad title after toggle effect is over \n
-   setTimeout("MochiKit.DOM.getElement(\'new_knowledge_pad_title\').focus()", 500 );\n
+  // set focus on new Pad title after toggle effect is over \n
+  setTimeout("MochiKit.DOM.getElement(\'new_knowledge_pad_title\').focus()", 500 );\n
 }\n
 \n
 function loadPadFromServer(pad_relative_url, selected_pad_dom_id, mode){\n
   /* Load Pad from server */\n
   // XXX: show some animation ?\n
-    \n
+  getElement("loading-wrapper").style.display="block";\n
+  \n
   d = MochiKit.Async.loadJSONDoc(\'KnowledgePag_getPadAsJSON\', \n
                                  {\'pad_relative_url\':pad_relative_url,\n
                                   \'mode\':mode});\n
@@ -291,7 +292,6 @@ function loadPadFromServer(pad_relative_
   old_selected_pad = getFirstElementByTagAndClassName("li", "tab_selected", pads_container);\n
   old_selected_pad.setAttribute("class", "tab");\n
   pad_actions = getFirstElementByTagAndClassName("div", "pad-actions", old_selected_pad);\n
-\n
   pad_actions.style.display="none";\n
   \n
   // set new selected pad class \n
@@ -314,9 +314,10 @@ function loadPadFromServer(pad_relative_
     body_element.innerHTML = body;\n
     // init new Pad\n
     initialize();\n
-    // execute JS code\n
+    // execute JS code provided by server\n
     eval(javascript);\n
-    \n
+    // give some timeout as we can be sometimes two fast loading a tab\n
+    setTimeout("getElement(\'loading-wrapper\').style.display=\'none\';", 250 );\n
   }\n
 }\n
 \n
@@ -500,7 +501,7 @@ MochiKit.DOM.addLoadEvent(initialize);\n
         </item>
         <item>
             <key> <string>size</string> </key>
-            <value> <int>18522</int> </value>
+            <value> <int>18734</int> </value>
         </item>
         <item>
             <key> <string>title</string> </key>

Modified: erp5/trunk/bt5/erp5_knowledge_pad/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_knowledge_pad/bt/revision?rev=41091&r1=41090&r2=41091&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_knowledge_pad/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_knowledge_pad/bt/revision [utf8] Fri Dec  3 14:52:04 2010
@@ -1 +1 @@
-641
\ No newline at end of file
+642
\ No newline at end of file



More information about the Erp5-report mailing list