summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/view_editor.js
diff options
context:
space:
mode:
authorVidhin Mehta (OpenERP) <vme@tinyerp.com>2011-11-11 10:47:47 +0530
committerVidhin Mehta (OpenERP) <vme@tinyerp.com>2011-11-11 10:47:47 +0530
commitd5c21085f91cb2e360e6f769e66b9add05206d57 (patch)
tree2a0eae17bd9940ce9fb020189bc850c4c1587a4a /addons/web/static/src/js/view_editor.js
parent7a4fe3ddb87123f2c0a075ff1de4c62ac6878558 (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.js57
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) {