[IMP] Indent HTML editor template names
bzr revid: ddm@openerp.com-20131129172749-0z6l9k9phieiw32b
This commit is contained in:
parent
d32ece09db
commit
96fabb61b2
|
@ -129,6 +129,7 @@ class Website(openerp.addons.web.controllers.main.Home):
|
|||
result.append({
|
||||
'name': v.inherit_option_id.name,
|
||||
'id': v.id,
|
||||
'inherit_id': v.inherit_id.id,
|
||||
'header': True,
|
||||
'active': False
|
||||
})
|
||||
|
@ -136,6 +137,7 @@ class Website(openerp.addons.web.controllers.main.Home):
|
|||
result.append({
|
||||
'name': v.name,
|
||||
'id': v.id,
|
||||
'inherit_id': v.inherit_id.id,
|
||||
'header': False,
|
||||
'active': (v.inherit_id.id == v.inherit_option_id.id) or (not optional and v.inherit_id.id)
|
||||
})
|
||||
|
|
|
@ -59,8 +59,12 @@
|
|||
website.ace.ViewOption = openerp.Widget.extend({
|
||||
template: 'website.ace_view_option',
|
||||
init: function (parent, options) {
|
||||
var indent = "- ";
|
||||
this.view_id = options.id;
|
||||
this.view_name = options.name;
|
||||
for (var i = 0; i<options.level; i++) {
|
||||
this.view_name = indent + this.view_name;
|
||||
}
|
||||
this._super(parent);
|
||||
},
|
||||
});
|
||||
|
@ -133,19 +137,48 @@
|
|||
},
|
||||
loadViews: function (views) {
|
||||
var self = this;
|
||||
var activeViews = _.uniq(_.filter(views, function (view) {
|
||||
return view.active;
|
||||
}), false, function (view) {
|
||||
return view.id;
|
||||
});
|
||||
var $viewList = self.$('#ace-view-list');
|
||||
_.each(activeViews, function (view) {
|
||||
var views = this.buildViewGraph(views);
|
||||
_.each(views, function (view) {
|
||||
if (view.id) {
|
||||
new website.ace.ViewOption(self, view).appendTo($viewList);
|
||||
self.loadView(view.id);
|
||||
}
|
||||
});
|
||||
},
|
||||
buildViewGraph: function (views) {
|
||||
var activeViews = _.uniq(_.filter(views, function (view) {
|
||||
return view.active;
|
||||
}), false, function (view) {
|
||||
return view.id;
|
||||
});
|
||||
var index = {};
|
||||
var roots = [];
|
||||
_.each(activeViews, function (view) {
|
||||
index[view.id] = view;
|
||||
view.children = [];
|
||||
});
|
||||
_.each(index, function (view) {
|
||||
var parentId = view.inherit_id;
|
||||
if (parentId) {
|
||||
index[parentId].children.push(view);
|
||||
} else {
|
||||
roots.push(view);
|
||||
}
|
||||
});
|
||||
var result = [];
|
||||
function visit (node, level) {
|
||||
node.level = level;
|
||||
result.push(node);
|
||||
_.each(node.children, function (child) {
|
||||
visit(child, level + 1);
|
||||
});
|
||||
}
|
||||
_.each(roots, function (node) {
|
||||
visit(node, 0);
|
||||
});
|
||||
return result;
|
||||
},
|
||||
loadView: function (id) {
|
||||
var viewId = parseInt(id, 10);
|
||||
var self = this;
|
||||
|
|
Loading…
Reference in New Issue