diff options
| author | Vidhin Mehta (OpenERP) <vme@tinyerp.com> | 2011-09-26 17:05:01 +0530 |
|---|---|---|
| committer | Vidhin Mehta (OpenERP) <vme@tinyerp.com> | 2011-09-26 17:05:01 +0530 |
| commit | 145694cc60f0ebe10925f1bfc0baa582e31a78be (patch) | |
| tree | ebf72ad91a254500fd9ca7b868dc66562d4058eb /addons/web/static/src | |
| parent | d558fa620e175dced3ba29f946dda4663aad61fb (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')
| -rw-r--r-- | addons/web/static/src/js/view_editor.js | 42 |
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; |
