Author: batiste.bieler
Date: Tue Feb 17 04:10:17 2009
New Revision: 351

Modified:
    trunk/pages/media/pages/css/pages.css
    trunk/pages/media/pages/javascript/change_list.js

Log:
Improve the performance into the admin javascript using CSS the smart way.

Modified: trunk/pages/media/pages/css/pages.css
==============================================================================
--- trunk/pages/media/pages/css/pages.css       (original)
+++ trunk/pages/media/pages/css/pages.css       Tue Feb 17 04:10:17 2009
@@ -4,8 +4,17 @@
      padding-left:1.5em;
  }

-.change-list .table-selected tr {
-    background:#ffffd0;
+.change-list .move-target-container{
+    display:none;
+    float:right;
+}
+
+.change-list .table-selected .move-target-container{
+    display:block;
+}
+
+.change-list .table-selected .selected .move-target-container{
+    display:none;
  }

  .change-list tr.selected {

Modified: trunk/pages/media/pages/javascript/change_list.js
==============================================================================
--- trunk/pages/media/pages/javascript/change_list.js   (original)
+++ trunk/pages/media/pages/javascript/change_list.js   Tue Feb 17 04:10:17  
2009
@@ -45,12 +45,14 @@
  $(document).ready(function() {

      function initTreeCollapsing() {
+        // TODO: this method for collapsing is too slow
          var col = $.cookie('tree_collapsed');
          if(col){
              col = col.split(',');
          }
          for(i in col) {
-            $('tr#page-row-' + col[i] + '  
a.collapse').addClass('collapsed');
+            // please keep that as fast as possible
+            $('#c' + col[i]).addClass('collapsed');
              hide_children(col[i]);
          }
      }
@@ -66,15 +68,23 @@
      }

      function hide_children(id) {
-        $('.child-of-' + id + ':visible').each(function() {
-            $(this).hide();
+        $('.child-of-' + id).each(function() {
+            this.style.display = 'none';
              hide_children(this.id.substring(9));
          });
      }

+    function get_children(id, list) {
+        $('.child-of-' + id).each(function() {
+            list.push(this);
+            get_children(this.id.substring(9), list);
+            return list
+        });
+    }
+
      function show_children(id) {
-        $('.child-of-' + id + ':hidden').each(function() {
-            $(this).show();
+        $('.child-of-' + id).each(function() {
+            this.style.display = 'block';
              if(!$('a.collapsed', this).length) {
                  show_children(this.id.substring(9));
              }
@@ -100,16 +110,12 @@
              $("#changelist table").removeClass("table-selected");
              $('tr').removeClass("selected").removeClass("target");
              $('#page-row-'+page_id).addClass("selected");
-            var array = window.location.href.split('?');
-            $.get(array[0]+page_id+"/valid-targets-list/", {},  
function(html) {
-                var ids = html.split(",");
-                var css = "#move-target-"+ids.join(",#move-target-");
-                $('.move-target-container').hide();
-                $(css).show();
-                var css = "#page-row-"+ids.join(",#page-row-");
-                $(css).addClass("target");
-                $("#changelist table").addClass("table-selected");
-            });
+            var children = []
+            get_children(page_id, children);
+            for(var i=0; i < children.length; i++) {
+                $(children[i]).addClass("selected");
+            }
+            $("#changelist table").addClass("table-selected");
              return false;
          }

@@ -152,6 +158,8 @@
                  var position = "first-child";
              var target_id = target.parentNode.id.split("move-target-")[1];
              if(action=="move") {
+                var msg = $('<span>Please wait...</span>');
+                $($('#page-row-'+selected_page+" td")[0]).append(msg);
                  $.post("/admin/pages/page/"+selected_page+"/move-page/", {
                          position:position,
                          target:target_id

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to