diff options
| author | Mahendra Barad (OpenERP) <mba@tinyerp.com> | 2013-12-20 14:18:46 +0530 |
|---|---|---|
| committer | Mahendra Barad (OpenERP) <mba@tinyerp.com> | 2013-12-20 14:18:46 +0530 |
| commit | fdcb64ef8c4bf9775bc38e133ccd923342fd7fa7 (patch) | |
| tree | d5df8582c98177a2205717a832fd089d0084b70c /addons/web/static/src | |
| parent | 752fa2e2a5b144cb9ce2e7217827c2432f385255 (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.css | 5 | ||||
| -rw-r--r-- | addons/web/static/src/css/base.sass | 3 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 32 | ||||
| -rw-r--r-- | addons/web/static/src/xml/base.xml | 24 |
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> |
