summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/view_editor.js
diff options
context:
space:
mode:
authorVidhin Mehta (OpenERP) <vme@tinyerp.com>2011-09-26 17:05:01 +0530
committerVidhin Mehta (OpenERP) <vme@tinyerp.com>2011-09-26 17:05:01 +0530
commit145694cc60f0ebe10925f1bfc0baa582e31a78be (patch)
treeebf72ad91a254500fd9ca7b868dc66562d4058eb /addons/web/static/src/js/view_editor.js
parentd558fa620e175dced3ba29f946dda4663aad61fb (diff)
[IMP]implement code for down image with moving its all children.
bzr revid: vme@tinyerp.com-20110926113501-5oed41l0miehjsgx
Diffstat (limited to 'addons/web/static/src/js/view_editor.js')
-rw-r--r--addons/web/static/src/js/view_editor.js42
1 files changed, 34 insertions, 8 deletions
diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js
index 824227174ef..a7ceb682a2c 100644
--- a/addons/web/static/src/js/view_editor.js
+++ b/addons/web/static/src/js/view_editor.js
@@ -198,7 +198,8 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
}
});
$("img[id^='side-']").click(function() {
- var side = $(this).closest("'tr[id^='viewedit-']'");
+ var side = $(this).closest("'tr[id^='viewedit-']'")
+ var id_tr = (side.attr('id')).split('-')[1];
switch (this.id)
{
case "side-add":
@@ -213,16 +214,41 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
}
break;
case "side-down":
- if(side.next().attr('level') == side.attr('level')){
- $(side.next()).after(side);
+ var img = side.find("img[id='parentimg-"+id_tr+"']").attr('src');
+ var level = side.attr('level');
+ var list_shift =[];
+ var last_tr;
+ list_shift.push(side);
+ if(img){
+ while(1){
+ var next_tr = side.next();
+ if(next_tr.attr('level') <= level || next_tr.length==0){
+ last_tr = next_tr;
+ break;
+ }else{
+ list_shift.push(next_tr);
+ side = next_tr;
+ }
+ }
+ }else{last_tr = side.next();}
+ var last_tr_id = (last_tr.attr('id')).split('-')[1];
+ img = last_tr.find("img[id='parentimg-"+last_tr_id+"']").attr('src');
+ if(img){
+ while(1){
+ var nxt_tr = last_tr.next();
+ if (nxt_tr.attr('level') <= level || nxt_tr.length==0){break;}
+ last_tr = nxt_tr;
+ }
+ list_shift.reverse()
+
}
+ _.each(list_shift,function(rec){
+ $(last_tr).after(rec);
+ });
break;
}
});
},
- search_object:function(main_object){
-
- },
on_expand: function(self){
var level = $(self).closest("tr[id^='viewedit-']").attr('level');
var cur_tr = $(self).closest("tr[id^='viewedit-']");
@@ -231,10 +257,10 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
if (nxt_tr.attr('level') > level){
cur_tr = nxt_tr;
nxt_tr.hide();
- }else break;
+ }else return nxt_tr;
}
},
- on_collapse: function(self,parent_child_id){
+ on_collapse: function(self,parent_child_id,id){
var id = self.id.split('-')[1];
var datas = _.detect(parent_child_id,function(res){
return res.key == id;