[IMP] added many2one pager widget

bzr revid: rgaopenerp-20120622072143-k7y0sd1d3tj2gnd1
This commit is contained in:
RGA(OpenERP)
2012-06-22 12:51:43 +05:30
parent a14e4b502c
commit 02b60d587b
2 changed files with 70 additions and 1 deletions
+40
View File
@@ -3,6 +3,7 @@ var _t = instance.web._t,
_lt = instance.web._lt;
instance.web.views.add('form_clone', 'instance.account.extend_form_view');
instance.web.form.tags.add('list_button','instance.account.list_button')
instance.web.form.widgets.add('many2one_pager','instance.account.many2one_pager')
instance.account.extend_actionmanager = instance.web.ActionManager.include({
ir_actions_act_window: function (action, on_close) {
var self = this;
@@ -84,6 +85,19 @@ instance.account.extend_form_view = instance.web.FormView.extend({
this._super.apply(this,arguments);
this.original_domain = this.getParent().action.domain;
},
on_loaded: function(data) {
this._super.apply(this,arguments);
var self = this
this.$element.on('click','a[data-pager-action]',function() {
var action = $(this).data('pager-action');
self.on_pager_action(action);
});
},
do_update_pager: function(hide_index) {
var index = hide_index ? '-' : this.dataset.index + 1;
this.$element.find('span.oe_pager_index_extend').html(index).end()
.find('span.oe_pager_count_extend').html(this.dataset.ids.length);
},
on_pager_action: function(action) {
var self = this
var viewmanager = self.getParent();
@@ -95,6 +109,32 @@ instance.account.extend_form_view = instance.web.FormView.extend({
})
}
})
instance.account.many2one_pager = instance.web.form.FieldMany2One.extend({
template: "FieldMany2One_Pager",
display_string: function(str) {
var self = this;
if (!this.get("effective_readonly")) {
this.$input.val(str);
} else {
this.$element.find('a.oe_form_uri')
.unbind('click')
.text(str)
.click(function () {
self.do_action({
type: 'ir.actions.act_window',
res_model: self.field.relation,
res_id: self.get("value"),
context: self.build_context(),
views: [[false, 'form']],
target: 'current'
});
return false;
});
}
},
})
instance.account.list_button = instance.web.form.WidgetButton.extend({
on_click: function() {
var list_view = this.view.getParent().list_view.controller
+30 -1
View File
@@ -10,9 +10,38 @@
</t>
<t t-name="ExtendedFormView">
<div class="oe_formview">
<div class="oe_form_pager"/>
<div class="oe_form_container"/>
</div>
</t>
<t t-name="FieldMany2One_Pager">
<span class="oe_form_field oe_form_field_many2one oe_form_field_with_button">
<ul class="oe_pager_group">
<li>
<a type="button" data-pager-action="previous">Previous</a>
</li>
<li>
<a type="button" data-pager-action="next">Next</a>
</li>
</ul>
<a t-if="widget.get('effective_readonly')" href="#" class="oe_form_uri"/>
(<span class="oe_pager_index_extend">0</span><span class="oe_pager_separator"> / </span><span class="oe_pager_count_extend">0</span>)
<t t-if="!widget.get('effective_readonly')">
<button class="oe_button oe-m2o-cm-button" title="Open Resource">
<img t-att-src='_s + "/web/static/src/img/icons/terp-folder-yellow.png"'/>
</button>
<div>
<input type="text"
t-att-id="widget.id_for_label"
t-att-tabindex="widget.node.attrs.tabindex"
t-att-autofocus="widget.node.attrs.autofocus"
t-att-placeholder="widget.node.attrs.placeholder"
/>
<span class="oe-m2o-drop-down-button">
<img t-att-src='_s + "/web/static/src/img/down-arrow.png"'/>
</span>
</div>
</t>
</span>
</t>
</templates>