summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/view_editor.js
diff options
context:
space:
mode:
authorVidhin Mehta (OpenERP) <vme@tinyerp.com>2011-11-10 10:24:03 +0530
committerVidhin Mehta (OpenERP) <vme@tinyerp.com>2011-11-10 10:24:03 +0530
commit614b1f6e49b31b8c0b0df5d66b308ec779b45966 (patch)
treedeffc49ab4ce7055f9bfd886575fd26764a11009 /addons/web/static/src/js/view_editor.js
parentb9b9fbca444327c3e1f68d62efc39d5e64e4edf3 (diff)
[IMP]add _CHILDREN dictionary for add element functionality of view editor.
bzr revid: vme@tinyerp.com-20111110045403-8trt63vcqdfikelg
Diffstat (limited to 'addons/web/static/src/js/view_editor.js')
-rw-r--r--addons/web/static/src/js/view_editor.js36
1 files changed, 33 insertions, 3 deletions
diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js
index 8556b82bf56..639ade0e6a4 100644
--- a/addons/web/static/src/js/view_editor.js
+++ b/addons/web/static/src/js/view_editor.js
@@ -336,6 +336,11 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
}
switch (this.id) {
case "side-add":
+ var tr = $(this).closest("tr[id^='viewedit-']").find('a').text();
+ var tag = _.detect(_.keys(_CHILDREN),function(res){
+ return _.includes(tr, res);
+ });
+ var properties = _CHILDREN[tag];
break;
case "side-remove":
break;
@@ -473,7 +478,12 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
child_list.splice(index-1, 0, re_insert_obj[0]);
} else if (move_direct == "update_node") {
_.each(update_values, function(val){
- $(arch1).attr(val[0],val[1]);
+ if(val[0] == "required"){
+ $(arch1).attr("required", "true");
+ console.log(arch1);
+ }else{
+ $(arch1).attr(val[0],val[1]);
+ }
});
var new_obj = self.create_View_Node(arch1);
new_obj.id = obj.id,new_obj.child_id = obj.child_id;
@@ -548,7 +558,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
this.edit_node_dialog.$element.append('<table id="rec_table" style="width:400px" class="oe_forms"></table>');
this.edit_widget = [];
_.each(properties, function(record) {
- var id = record,
+ var id = record,
type_widget;
self.ready = $.when(self.on_groups(id)).then(function () {
if (_.include(widget,id)){
@@ -562,7 +572,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
if (id == 'groups') type_widget.value = self.groups;
self.edit_node_dialog.$element.find('table[id=rec_table]').append('<tr><td align="right">'+id+':</td><td>'+type_widget.render()+'</td></tr>');
type_widget.start();
- type_widget.set_value(value)
+ type_widget.set_value(value);
self.edit_widget.push(type_widget);
});
});
@@ -769,6 +779,26 @@ var _PROPERTIES = {
'calendar' : ['string', 'date_start', 'date_stop', 'date_delay', 'day_length', 'color', 'mode'],
'view' : [],
};
+_CHILDREN = {
+ 'form': ['notebook', 'group', 'field', 'label', 'button', 'image', 'newline', 'separator'],
+ 'tree': ['field'],
+ 'graph': ['field'],
+ 'calendar': ['field'],
+ 'notebook': ['page'],
+ 'page': ['notebook', 'group', 'field', 'label', 'button', 'image', 'newline', 'separator'],
+ 'group': ['field', 'label', 'button', 'separator', 'newline'],
+ 'hpaned': ['child1', 'child2'],
+ 'vpaned': ['child1', 'child2'],
+ 'child1': ['action'],
+ 'child2': ['action'],
+ 'action': [],
+ 'field': ['form', 'tree', 'graph'],
+ 'label': [],
+ 'button' : [],
+ 'image': [],
+ 'newline': [],
+ 'separator': [],
+};
var icons = ['','STOCK_ABOUT', 'STOCK_ADD', 'STOCK_APPLY', 'STOCK_BOLD',
'STOCK_CANCEL', 'STOCK_CDROM', 'STOCK_CLEAR', 'STOCK_CLOSE', 'STOCK_COLOR_PICKER',
'STOCK_CONNECT', 'STOCK_CONVERT', 'STOCK_COPY', 'STOCK_CUT', 'STOCK_DELETE',