Hardik Sanchawat (OpenERP) has proposed merging
lp:~openerp-dev/openerp-web/trunk-diagramview-imp-bde-diagram-pager-hsa into
lp:~openerp-dev/openerp-web/trunk-diagramview-imp-bde.
Requested reviews:
OpenERP R&D Team (openerp-dev)
For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-diagramview-imp-bde-diagram-pager-hsa/+merge/130946
Hello,
Diagram view, Pager is working.
Pager is Display on Header.
Thanks,
- HSA
--
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-diagramview-imp-bde-diagram-pager-hsa/+merge/130946
Your team OpenERP R&D Team is requested to review the proposed merge of
lp:~openerp-dev/openerp-web/trunk-diagramview-imp-bde-diagram-pager-hsa into
lp:~openerp-dev/openerp-web/trunk-diagramview-imp-bde.
=== modified file 'addons/web_diagram/static/src/js/diagram.js'
--- addons/web_diagram/static/src/js/diagram.js 2012-10-22 08:36:17 +0000
+++ addons/web_diagram/static/src/js/diagram.js 2012-10-23 07:35:24 +0000
@@ -22,6 +22,7 @@
this.context = {};
this.ids = this.dataset.ids;
this.on('view_loaded', self, self.load_diagram);
+ this.on('pager_action_executed', self, self.pager_action_trigger);
},
start: function() {
var self = this;
@@ -59,12 +60,7 @@
self.$el.find('.oe_diagram_header').append(html_label);
})
- this.$el.find('div.oe_diagram_pager button[data-pager-action]').click(function() {
- var action = $(this).data('pager-action');
- self.execute_pager_action(action);
- });
-
- this.do_update_pager();
+ this.init_pager();
// New Node,Edge
this.$el.find('#new_node.oe_diagram_button_new').click(function(){self.add_node();});
@@ -366,36 +362,61 @@
form_controller.fields[self.connectors.attrs.destination].dirty = true;
});
},
-
- execute_pager_action: function(action) {
- switch (action) {
- case 'first':
- this.dataset.index = 0;
- break;
- case 'previous':
- this.dataset.previous();
- break;
- case 'next':
- this.dataset.next();
- break;
- case 'last':
- this.dataset.index = this.dataset.ids.length - 1;
- break;
- }
+ do_hide: function () {
+ if (this.$pager) {
+ this.$pager.hide();
+ }
+ this._super();
+ },
+ init_pager: function() {
+ var self = this;
+ if (this.$pager)
+ this.$pager.remove();
+
+ this.$pager = $(QWeb.render("DiagramView.pager", {'widget':self})).hide();
+ if (this.options.$pager) {
+ this.$pager.appendTo(this.options.$pager);
+ } else {
+ this.$el.find('.oe_diagram_pager').replaceWith(this.$pager);
+ }
+ this.$pager.on('click','a[data-pager-action]',function() {
+ var action = $(this).data('pager-action');
+ self.execute_pager_action(action);
+ });
+ this.do_update_pager();
+ },
+ pager_action_trigger: function(){
var loaded = this.dataset.read_index(_.keys(this.fields_view.fields))
.pipe(this.on_diagram_loaded);
this.do_update_pager();
return loaded;
},
+ execute_pager_action: function(action) {
+ switch (action) {
+ case 'first':
+ this.dataset.index = 0;
+ break;
+ case 'previous':
+ this.dataset.previous();
+ break;
+ case 'next':
+ this.dataset.next();
+ break;
+ case 'last':
+ this.dataset.index = this.dataset.ids.length - 1;
+ break;
+ }
+ this.trigger('pager_action_executed');
+
+ },
do_update_pager: function(hide_index) {
- var $pager = this.$el.find('div.oe_diagram_pager');
- var index = hide_index ? '-' : this.dataset.index + 1;
- if(!this.dataset.count) {
- this.dataset.count = this.dataset.ids.length;
+ this.$pager.toggle(this.dataset.ids.length > 1);
+ if (hide_index) {
+ $(".oe_diagram_pager_state", this.$pager).html("");
+ } else {
+ $(".oe_diagram_pager_state", this.$pager).html(_.str.sprintf(_t("%d / %d"), this.dataset.index + 1, this.dataset.ids.length));
}
- $pager.find('span.oe_pager_index').html(index);
- $pager.find('span.oe_pager_count').html(this.dataset.count);
},
do_show: function() {
=== modified file 'addons/web_diagram/static/src/xml/base_diagram.xml'
--- addons/web_diagram/static/src/xml/base_diagram.xml 2012-09-04 14:50:17 +0000
+++ addons/web_diagram/static/src/xml/base_diagram.xml 2012-10-23 07:35:24 +0000
@@ -1,18 +1,19 @@
<template>
+<t t-name="DiagramView.pager">
+ <div class="oe_diagram_pager">
+ <t t-if="widget.options.pager !== false" t-call="ViewPager">
+ <span class="oe_diagram_pager_state"></span>
+ </t>
+ </div>
+</t>
<t t-name="DiagramView">
<div class="oe_diagram_header" t-att-id="widget.element_id + '_header'">
<h3 class="oe_diagram_title"/>
<div t-if="widget.is_action_enabled('create')" class="oe_diagram_buttons">
<button type="button" id="new_node" class="oe_button oe_diagram_button_new">New Node</button>
</div>
- <div class="oe_diagram_pager">
- <t t-call="ViewPager">
- <span class="oe_pager_index">0</span> / <span class="oe_pager_count">0</span>
- </t>
- </div>
<div class="clear"></div>
</div>
-
<div class="diagram-container">
<div class="oe_diagram_diagram"/>
</div>
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp