From 8d00b49a79f8d818d88ed90a1300e37af1cad53f Mon Sep 17 00:00:00 2001
From: VincentB <vincent.bechu@nexedi.com>
Date: Wed, 5 Oct 2016 17:27:33 +0200
Subject: [PATCH] erp5_officejs: delete logout from menu and add maximize
 button in header

/reviewed-on https://lab.nexedi.com/nexedi/erp5/merge_requests/167
---
 .../web_page_module/gadget_ckeditor_js.js     |  9 ++--
 .../web_page_module/gadget_ckeditor_js.xml    |  6 +--
 ...adget_officejs_application_panel_html.html |  1 -
 ...gadget_officejs_application_panel_html.xml |  6 +--
 .../gadget_officejs_header_js.js              | 32 +++++++++++++-
 .../gadget_officejs_header_js.xml             |  6 +--
 ...t_officejs_jio_web_illustration_view_js.js | 44 +++++++++++--------
 ..._officejs_jio_web_illustration_view_js.xml |  6 +--
 .../gadget_officejs_jio_web_page_view_js.js   | 44 +++++++++++--------
 .../gadget_officejs_jio_web_page_view_js.xml  |  4 +-
 10 files changed, 100 insertions(+), 58 deletions(-)

diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_js.js b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_js.js
index 858fa9d6c7..e3c290296f 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_js.js
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_js.js
@@ -15,7 +15,9 @@
           g.props.ckeditor = CKEDITOR.replace(
             textarea,
             {
-              removeButtons: 'NewPage,Preview',
+              removeButtons: 'NewPage,Preview,Cut,Paste,Copy,PasteText,' +
+                'PasteFromWord,Flash,Iframe,Form,Checkbox,Radio,TextField,' +
+                'Textarea,Select,Button,ImageButton,HiddenField,Maximize',
               removePlugins: '',
               disableNativeSpellChecker: false,
               extraAllowedContent: "details section article"
@@ -32,13 +34,12 @@
             command: 'saveRJS',
             toolbar: 'document,1'
           });
-          g.props.ckeditor.on('maximize', function () {
-            return g.maximize();
+          g.props.ckeditor.on('instanceReady', function (event) {
+            event.editor.execCommand('maximize');
           });
         });
     })
     .declareAcquiredMethod("submitContent", "triggerSubmit")
-    .declareAcquiredMethod("maximize", "triggerMaximize")
     .declareMethod('render', function (options) {
       this.props.key = options.key || "text_content";
       this.props.ckeditor.setData(options.value || "");
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_js.xml
index 46d3f122af..34da9b20ab 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_ckeditor_js.xml
@@ -216,7 +216,7 @@
             </item>
             <item>
                 <key> <string>actor</string> </key>
-                <value> <string>cedric.le.ninivin</string> </value>
+                <value> <string>zope</string> </value>
             </item>
             <item>
                 <key> <string>comment</string> </key>
@@ -230,7 +230,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>948.31859.27287.17783</string> </value>
+                <value> <string>954.4005.3918.16742</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -248,7 +248,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1452872881.96</float>
+                        <float>1474449146.05</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_html.html b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_html.html
index 0398a0e7ad..63773a4e03 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_html.html
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_html.html
@@ -38,7 +38,6 @@
           <li><a href="#page=document_list" data-i18n="Document List">Document List</a></li>
           <li><a href="#page=jio_configurator" data-i18n="Storage Configuration">Storage Configuration</a></li>
           <li><a href="#page=sync" data-i18n="Synchronization">Synchronization</a></li>
-          <li class="ui-last-child"><a href="#page=logout" data-i18n="Logout">Logout</a></li>
         </ul>
       </div>
     </script>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_html.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_html.xml
index fb87dce021..b6c378145a 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_html.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_application_panel_html.xml
@@ -255,7 +255,7 @@
             </item>
             <item>
                 <key> <string>actor</string> </key>
-                <value> <string>supercedriclen</string> </value>
+                <value> <string>zope</string> </value>
             </item>
             <item>
                 <key> <string>comment</string> </key>
@@ -269,7 +269,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>951.28216.64976.63368</string> </value>
+                <value> <string>954.2922.61218.8379</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -287,7 +287,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1464191586.4</float>
+                        <float>1474450659.36</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.js b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.js
index 6a0afc698d..a9b006517c 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.js
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.js
@@ -152,6 +152,7 @@
         left_button,
         right_link,
         right_button,
+        maximize_button,
         default_right_text,
         default_right_icon = "",
         title_link = {},
@@ -257,6 +258,26 @@
         promise_list.push(gadget.translateHtml(""));
       }
 
+      // handle maximize button
+      if (options.hasOwnProperty('maximize_action')) {
+        if (!options.maximized) {
+          maximize_button = {
+            title: "Maximize",
+            icon: "expand",
+            name: "maximize"
+          };
+        } else {
+          maximize_button = {
+            title: "Minimize",
+            icon: "compress",
+            name: "maximize"
+          };
+        }
+        promise_list.push(gadget.translateHtml(header_button_template(maximize_button)));
+      } else {
+        promise_list.push(gadget.translateHtml(""));
+      }
+
       return new RSVP.Queue()
         .push(function () {
           return RSVP.all(promise_list);
@@ -264,7 +285,8 @@
         .push(function (my_translated_html_list) {
           gadget.props.title_element.innerHTML = my_translated_html_list[0];
           gadget.props.left_link.innerHTML = my_translated_html_list[1];
-          gadget.props.right_link.innerHTML = my_translated_html_list[2];
+          gadget.props.right_link.innerHTML = my_translated_html_list[3]
+            + my_translated_html_list[2];
         });
     })
 
@@ -283,6 +305,14 @@
         if (name === "submit") {
           return form_gadget.triggerSubmit();
         }
+        if (name === "maximize") {
+          form_gadget.stats.options.maximized =
+            !form_gadget.stats.options.maximized;
+          return form_gadget.triggerSubmit("maximize")
+            .push(function () {
+              return form_gadget.render(form_gadget.stats.options);
+            });
+        }
         throw new Error("Unsupported button " + name);
       }
 
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.xml
index 75bad9191c..e83aa16a1b 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_header_js.xml
@@ -210,7 +210,7 @@
             </item>
             <item>
                 <key> <string>actor</string> </key>
-                <value> <string>cedric.le.ninivin</string> </value>
+                <value> <string>zope</string> </value>
             </item>
             <item>
                 <key> <string>comment</string> </key>
@@ -224,7 +224,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>945.58607.14824.6775</string> </value>
+                <value> <string>954.15931.48097.6604</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -242,7 +242,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1442857960.12</float>
+                        <float>1475164833.83</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_illustration_view_js.js b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_illustration_view_js.js
index 57dc3b3356..b27d70828a 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_illustration_view_js.js
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_illustration_view_js.js
@@ -71,22 +71,25 @@
     .declareAcquiredMethod('allDocs', 'jio_allDocs')
     .declareAcquiredMethod("redirect", "redirect")
 
-    .allowPublicAcquisition('triggerMaximize', function () {
-      var gadget = this;
-      return RSVP.Queue()
-        .push(function () {
-          return maximize(gadget);
-        })
-        .fail(function (e) {
-          console.log(e);
-        });
-    })
-
-    .allowPublicAcquisition('triggerSubmit', function () {
+    .allowPublicAcquisition('triggerSubmit', function (option) {
+      if (option[0] === "maximize" || option === "maximize") {
+        var gadget = this;
+        return RSVP.Queue()
+          .push(function () {
+            return maximize(gadget);
+          });
+      }
       return this.props.element.querySelector('button').click();
     })
 
-    .declareMethod('triggerSubmit', function () {
+    .declareMethod('triggerSubmit', function (option) {
+      if (option[0] === "maximize" || option === "maximize") {
+        var gadget = this;
+        return RSVP.Queue()
+          .push(function () {
+            return maximize(gadget);
+          });
+      }
       return this.props.element.querySelector('button').click();
     })
 
@@ -102,7 +105,9 @@
           gadget.props.element.innerHTML = html;
           return gadget.updateHeader({
             title: options.doc.title + " | Web Illustration",
-            save_action: true
+            save_action: true,
+            maximize_action: true,
+            maximized: options.doc.title !== ""
           });
         })
         .push(function () {
@@ -114,8 +119,7 @@
     // Render text content gadget
     /////////////////////////////////////////
     .declareService(function () {
-      var gadget = this,
-        text_gadget = null;
+      var gadget = this;
 
       return new RSVP.Queue()
         .push(function () {
@@ -137,15 +141,17 @@
             'style',
             'width:100%; border: 0 none; height: 600px'
           );
-          text_gadget = text_content_gadget;
           return text_content_gadget.render({
             "key": 'text_content',
             "value": gadget.options.doc.text_content
           });
         })
         .push(function () {
-          return text_gadget.getElement();
-        }, function (error) {
+          if (gadget.options.doc.title !== "") {
+            return gadget.triggerSubmit("maximize");
+          }
+        })
+        .push(undefined, function (error) {
           var display_error_element;
           if (error === "Timed out after 5000 ms") {
             display_error_element =
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_illustration_view_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_illustration_view_js.xml
index da9e3d05b2..5c8b5512bd 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_illustration_view_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_illustration_view_js.xml
@@ -255,7 +255,7 @@
             </item>
             <item>
                 <key> <string>actor</string> </key>
-                <value> <string>supercedriclen</string> </value>
+                <value> <string>zope</string> </value>
             </item>
             <item>
                 <key> <string>comment</string> </key>
@@ -269,7 +269,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>951.45471.29918.56183</string> </value>
+                <value> <string>954.15924.25382.7799</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -287,7 +287,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1465463607.76</float>
+                        <float>1475164165.45</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.js b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.js
index 5513e6f42a..52880ad2ae 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.js
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.js
@@ -72,22 +72,25 @@
     .declareAcquiredMethod('allDocs', 'jio_allDocs')
     .declareAcquiredMethod("redirect", "redirect")
 
-    .allowPublicAcquisition('triggerMaximize', function () {
-      var gadget = this;
-      return RSVP.Queue()
-        .push(function () {
-          return maximize(gadget);
-        })
-        .fail(function (e) {
-          console.log(e);
-        });
-    })
-
-    .allowPublicAcquisition('triggerSubmit', function () {
+    .allowPublicAcquisition('triggerSubmit', function (option) {
+      if (option[0] === "maximize" || option === "maximize") {
+        var gadget = this;
+        return RSVP.Queue()
+          .push(function () {
+            return maximize(gadget);
+          });
+      }
       return this.props.element.querySelector('button').click();
     })
 
-    .declareMethod('triggerSubmit', function () {
+    .declareMethod('triggerSubmit', function (option) {
+      if (option[0] === "maximize" || option === "maximize") {
+        var gadget = this;
+        return RSVP.Queue()
+          .push(function () {
+            return maximize(gadget);
+          });
+      }
       return this.props.element.querySelector('button').click();
     })
 
@@ -103,7 +106,9 @@
           gadget.props.element.innerHTML = html;
           return gadget.updateHeader({
             title: options.doc.title + " | Web Page",
-            save_action: true
+            save_action: true,
+            maximize_action: true,
+            maximized: gadget.options.doc.title !== ""
           });
         })
         .push(function () {
@@ -115,8 +120,7 @@
     // Render text content gadget
     /////////////////////////////////////////
     .declareService(function () {
-      var gadget = this,
-        text_gadget = null;
+      var gadget = this;
 
       return new RSVP.Queue()
         .push(function () {
@@ -138,15 +142,17 @@
             'style',
             'width:100%; border: 0 none; height: 600px'
           );
-          text_gadget = text_content_gadget;
           return text_content_gadget.render({
             "key": 'text_content',
             "value": gadget.options.doc.text_content
           });
         })
         .push(function () {
-          return text_gadget.getElement();
-        }, function (error) {
+          if (gadget.options.doc.title !== "") {
+            return gadget.triggerSubmit("maximize");
+          }
+        })
+        .push(undefined, function (error) {
           var display_error_element;
           if (error === "Timed out after 5000 ms") {
             display_error_element =
diff --git a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.xml b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.xml
index 4711eef4f9..b9e94b80b4 100644
--- a/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.xml
+++ b/bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_jio_web_page_view_js.xml
@@ -228,7 +228,7 @@
             </item>
             <item>
                 <key> <string>serial</string> </key>
-                <value> <string>946.59099.34897.19985</string> </value>
+                <value> <string>954.15935.39380.57002</string> </value>
             </item>
             <item>
                 <key> <string>state</string> </key>
@@ -246,7 +246,7 @@
                     </tuple>
                     <state>
                       <tuple>
-                        <float>1446740911.15</float>
+                        <float>1475164868.59</float>
                         <string>UTC</string>
                       </tuple>
                     </state>
-- 
2.30.9