From 7a2c7c2ce2e5bb9565f4d5c1e72fe2bc723b654d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Le=20Ninivin?= <cedric.leninivin@tiolive.com>
Date: Wed, 18 Jan 2017 14:42:25 +0000
Subject: [PATCH] erp5_officejs: Fix Panel close

---
 .../gadget_officejs_application_panel_js.js   | 63 +++++++++++--------
 .../gadget_officejs_application_panel_js.xml  |  7 ++-
 2 files changed, 40 insertions(+), 30 deletions(-)

diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_js.js b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_js.js
index fea061f44a..e4e37cc86b 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_js.js
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_js.js
@@ -29,6 +29,7 @@
         .push(function (element) {
           g.props.element = element;
           g.props.jelement = $(element.querySelector("div"));
+          g.props.render_deferred = RSVP.defer();
         });
     })
 
@@ -83,41 +84,49 @@
         value = element_list[i].textContent;
         push(key, value);
       }
-      return queue;
+      return queue
+        .push(function () {
+          return gadget.props.render_deferred.resolve();
+        });
     })
 
     /////////////////////////////////////////////////////////////////
     // declared services
     /////////////////////////////////////////////////////////////////
     .declareService(function () {
-      var panel_gadget,
-        form_list,
-        event_list,
-        i,
-        len;
-
-
-      function formSubmit() {
-        panel_gadget.toggle();
-      }
-
-      panel_gadget = this;
-      form_list = panel_gadget.props.element.querySelectorAll('form');
-      event_list = [];
-
-      // XXX: not robust - Will break when search field is active
-      for (i = 0, len = form_list.length; i < len; i += 1) {
-        event_list[i] = loopEventListener(
-          form_list[i],
-          'submit',
-          false,
-          formSubmit
-        );
-      }
-
+      var panel_gadget = this;
       return new RSVP.Queue()
         .push(function () {
-          return RSVP.all(event_list);
+          return panel_gadget.props.render_deferred.promise;
+        })
+        .push(function () {
+          var form_list,
+            event_list,
+            i,
+            len;
+
+
+          function formSubmit() {
+            panel_gadget.toggle();
+          }
+
+          form_list = panel_gadget.props.element.querySelectorAll('form');
+          event_list = [];
+
+          // XXX: not robust - Will break when search field is active
+          for (i = 0, len = form_list.length; i < len; i += 1) {
+            event_list[i] = loopEventListener(
+              form_list[i],
+              'submit',
+              false,
+              formSubmit
+            );
+          }
+
+          return new RSVP.Queue()
+            .push(function () {
+              return RSVP.all(event_list);
+            });
         });
     });
 
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_js.xml
index c7f1c4f37a..68d3497169 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_js.xml
@@ -68,6 +68,7 @@
             <value>
               <tuple>
                 <string>contributor/person_module/1</string>
+                <string>contributor/person_module/2</string>
               </tuple>
             </value>
         </item>
@@ -251,7 +252,7 @@
             </item>
             <item>
                 <key> <string>actor</string> </key>
-                <value> <string>zope</string> </value>
+                <value> <string>supercedriclen</string> </value>
             </item>
             <item>
                 <key> <string>comment</string> </key>
@@ -265,7 +266,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>954.32960.61602.49578</string> </value>
+                <value> <string>956.47493.18553.34594</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -283,7 +284,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1476099905.42</float>
+                        <float>1484749934.29</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
-- 
2.30.9