From 145694cc60f0ebe10925f1bfc0baa582e31a78be Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Mon, 26 Sep 2011 17:05:01 +0530 Subject: [PATCH] [IMP]implement code for down image with moving its all children. bzr revid: vme@tinyerp.com-20110926113501-5oed41l0miehjsgx --- addons/web/static/src/js/view_editor.js | 42 ++++++++++++++++++++----- 1 file 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,15 +214,40 @@ 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'); @@ -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;