[IMP] only display last 3 log items, add link to display everything
authorXavier Morel <xmo@openerp.com>
Wed, 9 Nov 2011 11:35:35 +0000 (12:35 +0100)
committerXavier Morel <xmo@openerp.com>
Wed, 9 Nov 2011 11:35:35 +0000 (12:35 +0100)
bzr revid: xmo@openerp.com-20111109113535-mwht7h1xkw4jdqfp

addons/web/static/src/css/base.css
addons/web/static/src/js/views.js
addons/web/static/src/xml/base.xml

index 94e36d6..5a629ac 100644 (file)
@@ -1080,11 +1080,14 @@ label.error {
 }
 .openerp .oe-view-manager-logs {
     clear: both;
-    font-size: 85%;
-    margin: 0.25em 0;
     background: #fff;
-    padding: 0 10px;
+    margin: 0.25em 0;
+    font-size: 85%;
     color: #4C4C4C;
+}
+.openerp .oe-view-manager-logs ul {
+    margin: 0;
+    padding: 0 10px;
     list-style: none;
 }
 .openerp .oe-view-manager-logs li:before {
@@ -1094,6 +1097,18 @@ label.error {
     text-decoration: none;
     color: inherit;
 }
+/* only display first three log items of a folded logs list */
+.openerp .oe-view-manager-logs.oe-folded li:nth-child(n+4) {
+    display: none;
+}
+/* display link to more logs if there are more logs to view and the logview is
+   currently folded */
+.openerp .oe-view-manager-logs a.oe-more-logs {
+    display: none;
+}
+.openerp .oe-view-manager-logs.oe-folded.oe-has-more a.oe-more-logs {
+    display: block;
+}
 
 .openerp .view-manager-main-sidebar {
     width: 180px;
index b6ff65b..de41183 100644 (file)
@@ -441,6 +441,12 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
             }
         }
 
+        var log_view = this.$element.find('.oe-view-manager-logs:first');
+        log_view.delegate('a.oe-more-logs', 'click', function () {
+            log_view.removeClass('oe-folded');
+            return false;
+        });
+
         return manager_ready;
     },
     on_mode_switch: function (view_type) {
@@ -518,10 +524,14 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
      */
     do_display_log: function (log_records) {
         var self = this,
-            $logs = this.$element.find('ul.oe-view-manager-logs:first').empty();
+            cutoff = 3,
+            $logs = this.$element.find('.oe-view-manager-logs:first')
+                    .addClass('oe-folded'),
+            $logs_list = $logs.find('ul').empty();
+        $logs.toggleClass('oe-has-more', log_records.length > cutoff);
         _(log_records.reverse()).each(function (record) {
             $(_.sprintf('<li><a href="#">%s</a></li>', record.name))
-                .appendTo($logs)
+                .appendTo($logs_list)
                 .delegate('a', 'click', function (e) {
                     self.do_action({
                         type: 'ir.actions.act_window',
index 1fc98ba..507db6d 100644 (file)
         </button>
     </t>
     <t t-jquery=".oe-view-manager-header" t-operation="after">
-        <ul class="oe-view-manager-logs"></ul>
+        <div class="oe-view-manager-logs oe-folded">
+            <ul></ul>
+            <a class="oe-more-logs" href="#">Moreā€¦</a>
+        </div>
     </t>
 </t>