[IMP]improve the legend widget
bzr revid: mba@tinyerp.com-20131220084846-875n332j1m1igip7
This commit is contained in:
parent
752fa2e2a5
commit
fdcb64ef8c
|
@ -3598,9 +3598,10 @@ h5 {
|
|||
|
||||
.dropdown-menu.with-arrow li a {
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.dropdown-menu.with-arrow li a, .dropdown-menu.with-arrow li a:hover, .dropdown-menu.with-arrow li a:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
.ui-icon {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
|
|
|
@ -2867,7 +2867,8 @@ h5
|
|||
content: ''
|
||||
.dropdown-menu.with-arrow li a
|
||||
color: #000
|
||||
font-weight: bold
|
||||
.dropdown-menu.with-arrow li a, .dropdown-menu.with-arrow li a:hover, .dropdown-menu.with-arrow li a:focus
|
||||
text-decoration: none;
|
||||
// End hack }}}
|
||||
|
||||
// Hack for ui icon {{{
|
||||
|
|
|
@ -2330,34 +2330,22 @@ instance.web.form.FieldChar = instance.web.form.AbstractField.extend(instance.we
|
|||
});
|
||||
}
|
||||
});
|
||||
instance.web.form.StageMode = instance.web.form.FieldChar.extend({
|
||||
instance.web.form.Legend = instance.web.form.FieldChar.extend({
|
||||
init: function (field_manager, node) {
|
||||
this._super(field_manager, node);
|
||||
this.options = py.eval(node.attrs.options)
|
||||
this.stage_dataset = new instance.web.DataSetStatic(this, 'ir.ui.legend', this.build_context());
|
||||
this.stage_field = this.options.stage_field;
|
||||
},
|
||||
|
||||
get_stage_value: function(){
|
||||
var def = $.Deferred();
|
||||
var stage_id = this.field_manager.fields[this.stage_field].get_value()
|
||||
var model = this.field_manager.fields[this.stage_field].field.relation
|
||||
this.stage_dataset.call('search_read', [[['res_id','=', stage_id],['type','=',this.name],['res_model','=',model]]]).then(function (res){
|
||||
def.resolve(res);
|
||||
})
|
||||
return def
|
||||
this.legend_field = this.options.legend_field;
|
||||
},
|
||||
|
||||
render_value: function() {
|
||||
var self = this;
|
||||
self.get_stage_value().then(function (res){
|
||||
var content = QWeb.render("StageMode."+self.name, {
|
||||
'widget': self,
|
||||
'res': res,
|
||||
});
|
||||
self.$el.html(content);
|
||||
self.$el.find("li").click(self.execute_action.bind(self));
|
||||
})
|
||||
var legend_value = this.field_manager.fields[this.legend_field].get_value()
|
||||
var content = QWeb.render("Legend."+ self.name, {
|
||||
'widget': self,
|
||||
'legend_value': legend_value,
|
||||
});
|
||||
self.$el.html(content);
|
||||
self.$el.find("li").click(self.execute_action.bind(self));
|
||||
},
|
||||
execute_action: function(e){
|
||||
e.preventDefault();
|
||||
|
@ -5891,7 +5879,7 @@ instance.web.form.widgets = new instance.web.Registry({
|
|||
'monetary': 'instance.web.form.FieldMonetary',
|
||||
'many2many_checkboxes': 'instance.web.form.FieldMany2ManyCheckBoxes',
|
||||
'x2many_counter': 'instance.web.form.X2ManyCounter',
|
||||
'stage_mode':'instance.web.form.StageMode'
|
||||
'legend':'instance.web.form.Legend'
|
||||
});
|
||||
|
||||
/**
|
||||
|
|
|
@ -1033,32 +1033,32 @@
|
|||
</t>
|
||||
|
||||
|
||||
<t t-name="StageMode.kanban_state">
|
||||
<t t-name="Legend.kanban_state_legend">
|
||||
<div class="btn-group">
|
||||
<t t-foreach="res" t-as="rec">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#" t-if="widget.get('value') === rec.name" t-att-title="rec.description" >
|
||||
<t t-foreach="widget.get('value')" t-as="rec">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#" t-if="legend_value === rec.name" t-att-title="rec.description" >
|
||||
<t t-raw="rec.body" />
|
||||
</a>
|
||||
</t>
|
||||
<ul class="dropdown-menu with-arrow">
|
||||
<t t-foreach="res" t-as="rec">
|
||||
<t t-if="widget.get('value') !== rec.name">
|
||||
<t t-foreach="widget.get('value')" t-as="rec">
|
||||
<t t-if="legend_value !== rec.name">
|
||||
<li><a t-att-data-value="rec.name" href="#"><t t-raw="rec.body" /><t t-raw="rec.legend_name" /></a></li>
|
||||
</t>
|
||||
</t>
|
||||
</ul>
|
||||
</div>
|
||||
</t>
|
||||
<t t-name="StageMode.priority">
|
||||
<ul style="list-style: none; padding-left: 2px;">
|
||||
<t t-foreach="res" t-as="test" >
|
||||
<t t-if="widget.get('value') gte test.name and !test_first">
|
||||
<t t-name="Legend.priority_legend">
|
||||
<ul style="list-style: none; padding-left: 5px;">
|
||||
<t t-foreach="widget.get('value')" t-as="test" >
|
||||
<t t-if="legend_value gte test.name and !test_first">
|
||||
<li class="oe_left"><a t-att-data-value="test.name - 1" href="#"><t t-raw="test.body"/></a></li>
|
||||
</t>
|
||||
</t>
|
||||
<t t-foreach="res" t-as="test" >
|
||||
<t t-if="widget.get('value') lt test.name">
|
||||
<li class="oe_left"><a t-att-data-value="test.name" href="#"><t t-raw="res[0].body"/></a></li>
|
||||
<t t-foreach="widget.get('value')" t-as="test" >
|
||||
<t t-if="legend_value lt test.name">
|
||||
<li class="oe_left"><a t-att-data-value="test.name" href="#"><t t-raw="widget.get('value')[0].body"/></a></li>
|
||||
</t>
|
||||
</t>
|
||||
</ul>
|
||||
|
|
Loading…
Reference in New Issue