Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Highlighting the recently moved node

  • Loading branch information...
commit b55f7034ae87069836104322d82fe0d1e55bc675 1 parent a735b94
@jjdelc jjdelc authored
View
3  treebeard/static/treebeard/treebeard-admin.css
@@ -60,3 +60,6 @@ text-align: center;
border: 1px solid #000;
vertical-align: center;
}
+/*tr:target { I'm handling the highlight with js to have more control
+background-color: #FF0;
+}*/
View
22 treebeard/static/treebeard/treebeard-admin.js
@@ -168,11 +168,16 @@ $(document).ready(function(){
as_child: as_child?1:0
},
complete: function(req, status) {
+ // http://stackoverflow.com/questions/1439895/add-a-hash-with-javascript-to-url-without-scrolling-page/1439910#1439910
+ node.$elem.remove();
+ window.location.hash = 'node-' + node.node_id;
window.location.reload();
},
error: function(req, status, error) {
// On error (!200) also reload to display
// the message
+ node.$elem.remove();
+ window.location.hash = 'node-' + node.node_id;
window.location.reload();
}
});
@@ -196,5 +201,22 @@ $(document).ready(function(){
node.toggle();
return false;
});
+ var hash = window.location.hash;
+ // This is a hack, the actual element's id ends in '-id' but the url's hash
+ // doesn't, I'm doing this to avoid scrolling the page... is that a good thing?
+ if (hash) {
+ $(hash + '-id').animate({
+ backgroundColor:'#FF0'
+ }, 3000, function() {
+ $(this).animate({
+ backgroundColor:'#FFF'
+ }, 2000, function(){
+ this.removeAttribute('style');
+ });
+ });
+ }
});
})(django.jQuery);
+
+// http://stackoverflow.com/questions/190560/jquery-animate-backgroundcolor/2302005#2302005
+(function(d){d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(f,e){d.fx.step[e]=function(g){if(!g.colorInit){g.start=c(g.elem,e);g.end=b(g.end);g.colorInit=true}g.elem.style[e]="rgb("+[Math.max(Math.min(parseInt((g.pos*(g.end[0]-g.start[0]))+g.start[0]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[1]-g.start[1]))+g.start[1]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[2]-g.start[2]))+g.start[2]),255),0)].join(",")+")"}});function b(f){var e;if(f&&f.constructor==Array&&f.length==3){return f}if(e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(f)){return[parseInt(e[1]),parseInt(e[2]),parseInt(e[3])]}if(e=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(f)){return[parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55]}if(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}if(e=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(f)){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}if(e=/rgba\(0, 0, 0, 0\)/.exec(f)){return a.transparent}return a[d.trim(f).toLowerCase()]}function c(g,e){var f;do{f=d.curCSS(g,e);if(f!=""&&f!="transparent"||d.nodeName(g,"body")){break}e="backgroundColor"}while(g=g.parentNode);return b(f)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]}})(django.jQuery);
View
2  treebeard/templates/admin/tree_change_list_results.html
@@ -15,7 +15,7 @@
</thead>
<tbody>
{% for node_id, parent_id, node_level, has_children, result in results %}
-<tr id="node-{{node_id}}" class="{% cycle 'row1' 'row2' %}" level="{{node_level}}" children-num="{{children_num}}" parent="{{parent_id}}" node="{{node_id}}">{% for item in result %}
+<tr id="node-{{node_id}}-id" class="{% cycle 'row1' 'row2' %}" level="{{node_level}}" children-num="{{children_num}}" parent="{{parent_id}}" node="{{node_id}}">{% for item in result %}
{% if forloop.counter == 1 %}
{% for spacer in item.depth%}<span class="grab">&nbsp;</span>{% endfor %}
{% endif %}
Please sign in to comment.
Something went wrong with that request. Please try again.