diff options
| author | Vidhin Mehta (OpenERP) <vme@tinyerp.com> | 2011-11-11 10:47:47 +0530 |
|---|---|---|
| committer | Vidhin Mehta (OpenERP) <vme@tinyerp.com> | 2011-11-11 10:47:47 +0530 |
| commit | d5c21085f91cb2e360e6f769e66b9add05206d57 (patch) | |
| tree | 2a0eae17bd9940ce9fb020189bc850c4c1587a4a /addons/web/static/src/js/view_editor.js | |
| parent | 7a4fe3ddb87123f2c0a075ff1de4c62ac6878558 (diff) | |
[IMP]hide fields column in add node functionality.
bzr revid: vme@tinyerp.com-20111111051747-nlswsv96o4glx6zy
Diffstat (limited to 'addons/web/static/src/js/view_editor.js')
| -rw-r--r-- | addons/web/static/src/js/view_editor.js | 57 |
1 files changed, 16 insertions, 41 deletions
diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js index 39738f0d20e..2008a5d2129 100644 --- a/addons/web/static/src/js/view_editor.js +++ b/addons/web/static/src/js/view_editor.js @@ -619,7 +619,8 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ var render_list = []; render_list.push(["node_type",(_.keys(_CHILDREN)).sort()]); render_list.push(["position",positions]); - render_list.push([" ",fields]); + render_list.push(["Fields",fields]); + this.edit_widget = []; this.add_node_dialog = new openerp.web.Dialog(this,{ modal: true, title: 'Properties', @@ -627,6 +628,12 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ height: 300, buttons: { "Update": function(){ + var update_values = []; + _.each(self.edit_widget, function(widget) { + if (widget.dirty) { + update_values.push(widget.get_value()); + } + }); }, "Cancel": function(){ self.add_node_dialog.close(); @@ -639,53 +646,17 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ _.each(render_list,function(node){ type_widget = new openerp.web.ViewEditor.FieldSelect (self.add_node_dialog, node[0]); type_widget.value = node[1]; + if(node[0]=="Fields"){ node[0] = "";} table_selector.append('<tr><td align="right">'+node[0]+'</td><td>'+type_widget.render()+'</td></tr>'); type_widget.start(); + self.edit_widget.push(type_widget); }); table_selector.append('<tr><td align="right"> <button id="new_field">New Field</button></td></tr>'); - self.add_node_dialog.$element.find("select[id=node_type] option[value=field]").attr("selected",1) + self.add_node_dialog.$element.find("select[id=node_type] option[value=field]").attr("selected",1); + self.add_node_dialog.$element.find('#new_field').click(function() { //to do - self.Add_new_field(); }); - }, - Add_new_field : function(){ - var self = this; - var action = { - name: _.sprintf("Manage Views (%s)", this.model), - res_model: 'ir.model.fields', - views: [['form']], - type: 'ir.actions.act_window', - target: "new", - limit: this.dataset.limit || 80, - auto_search: true, - flags: { - sidebar: false, - deletable: false, - views_switcher: false, - action_buttons: false, - search_view: false, - pager: false, - radio: true - }, - }; - this.add_new_field = new openerp.web.Dialog(this, { - modal: true, - title: 'ViewEditor', - width: 750, - height: 500, - buttons: { - "Save": function(){ - //to do - }, - "Close": function(){ - self.add_new_field.close(); - } - }, - }).start().open(); - var action_manager = new openerp.web.ActionManager(this); - action_manager.appendTo(this.add_new_field); - action_manager.do_action(action); } }); openerp.web.ViewEditor.Field = openerp.web.Class.extend({ @@ -742,6 +713,10 @@ openerp.web.ViewEditor.FieldSelect = openerp.web.ViewEditor.Field.extend({ var self = this; this.$element.find("select[id=" + this.name + "]").css('width', '100%').change(function() { self.on_ui_change(); + add_node = self.get_value(); + if(add_node[0] == "node_type" && add_node[1] == "field" ){ + self.$element.find("select[id=Fields]").show(); + }else{self.$element.find("select[id=Fields]").hide();} }); }, set_value: function(value) { |
