summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorMahendra Barad (OpenERP) <mba@tinyerp.com>2013-12-20 14:18:46 +0530
committerMahendra Barad (OpenERP) <mba@tinyerp.com>2013-12-20 14:18:46 +0530
commitfdcb64ef8c4bf9775bc38e133ccd923342fd7fa7 (patch)
treed5df8582c98177a2205717a832fd089d0084b70c /addons/web/static/src
parent752fa2e2a5b144cb9ce2e7217827c2432f385255 (diff)
[IMP]improve the legend widget
bzr revid: mba@tinyerp.com-20131220084846-875n332j1m1igip7
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/css/base.css5
-rw-r--r--addons/web/static/src/css/base.sass3
-rw-r--r--addons/web/static/src/js/view_form.js32
-rw-r--r--addons/web/static/src/xml/base.xml24
4 files changed, 27 insertions, 37 deletions
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index e59be2e551e..c40bb16cdf1 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -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;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 3f915de78d9..c36cc2b8eb2 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -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 {{{
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index ceed2037813..0d3a38b5c17 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -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'
});
/**
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 14122c5acf8..bf185cd6df0 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -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>