From e85e6c5836277143a7e8252ff4cab21adf51d22c Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Wed, 2 Nov 2011 12:37:10 +0530 Subject: [PATCH] [IMP]hide child tr when up arrow click. bzr revid: vme@tinyerp.com-20111102070710-kijqa4q0xtu049ac --- addons/web/static/src/js/view_editor.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js index f41b77f1744..3e19712f08c 100644 --- a/addons/web/static/src/js/view_editor.js +++ b/addons/web/static/src/js/view_editor.js @@ -56,8 +56,9 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ action_manager.appendTo(this.view_edit_dialog); action_manager.do_action(action); }, - check_attr: function(xml, tag, level) { + check_attr: function(xml, level) { var obj = {'child_id':[],'id':this.xml_id++,'level':level+1,'att_list':[],'name':""}; + var tag = xml.tagName.toLowerCase(); var render_name = "<" + tag; obj.att_list.push(tag); $(xml).each(function() { @@ -101,7 +102,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ var children_list = $(xml).filter(root).children(); var parents = $(children_list[0]).parents().get(); _.each(children_list, function (child_node) { - child_obj_list.push(self.check_attr(child_node,child_node.tagName.toLowerCase(),parents.length)); + child_obj_list.push(self.check_attr(child_node,parents.length)); }); if (children_list.length != 0) { if (parents.length <= parent_list.length) { @@ -121,7 +122,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ var root = $(arch).filter(":first")[0]; var tag = root.tagName.toLowerCase(); var obj ={'child_id':[],'id':this.xml_id++,'level':0,'att_list':[],'name':""}; - var root_object = this.check_attr(root,tag,0); + var root_object = this.check_attr(root,0); obj.child_id = this.xml_node_create(arch, tag, [], this.xml_id-1, [root_object], []) return [obj]; }, @@ -326,11 +327,14 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ cur_tr = prev_tr; } if (img) { + self.edit_xml_dialog.$element.find("img[id='parentimg-" + id_tr + "']"). + attr('src', '/web/static/src/img/expand.gif'); while (1) { next_tr = side.next(); if ( parseInt(next_tr.attr('level')) <= level || next_tr.length == 0) { break; } else { + next_tr.hide(); list_shift.push(next_tr); side = next_tr; } @@ -384,7 +388,6 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ $(last_tr).after(rec); }); self.save_move_arch(one_object, view_id, view_xml_id, id_tr, level, "down"); - } break; } @@ -399,7 +402,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ if(($(arch.arch).filter("data")).length != 0 && view_xml_id != 0){ var check_list = _.flatten(obj[0].child_id[0].att_list); arch.arch = _.detect($(arch.arch).children(), function(xml_child){ - var temp_obj = self.check_attr(xml_child, xml_child.tagName.toLowerCase()); + var temp_obj = self.check_attr(xml_child); var main_list = _.flatten(temp_obj.att_list); check_list = _.uniq(check_list); var insert = _.intersection(main_list,check_list); @@ -473,7 +476,6 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ return false; } } - }, on_expand: function(expand_img){ @@ -499,6 +501,5 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ tr.show(); }); } - }); };