[IMP] Misc kanban view improvements ( only record is reloaded when changed )
bzr revid: fme@openerp.com-20110927084747-k35v05v1f4hbyvj9
This commit is contained in:
commit
b259161298
|
@ -217,8 +217,7 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
|
|||
},
|
||||
on_record_saved: function(r) {
|
||||
var id = this.form_dialog.form.datarecord.id;
|
||||
// TODO fme: reload record instead of all. need refactoring
|
||||
this.do_actual_search();
|
||||
this.on_reload_record(id);
|
||||
},
|
||||
do_change_color: function(record_id, $e) {
|
||||
var self = this,
|
||||
|
@ -236,8 +235,7 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
|
|||
var data = {};
|
||||
data[$e.data('name')] = $(this).data('color');
|
||||
self.dataset.write(id, data, {}, function() {
|
||||
// TODO fme: reload record instead of all. need refactoring
|
||||
self.on_reload_record(id, data);
|
||||
self.on_reload_record(id);
|
||||
});
|
||||
$cpicker.remove();
|
||||
});
|
||||
|
@ -245,28 +243,32 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
|
|||
/**
|
||||
Reload one record in view.
|
||||
record_id : reload record id.
|
||||
data : change value in particular record.
|
||||
*/
|
||||
on_reload_record: function (record_id, data){
|
||||
on_reload_record: function (record_id){
|
||||
var self = this;
|
||||
for (var i=0, ii=this.all_display_data.length; i < ii; i++) {
|
||||
for(j=0, jj=this.all_display_data[i].records.length; j < jj; j++) {
|
||||
if (this.all_display_data[i].records[j].id == record_id) {
|
||||
_.extend(this.all_display_data[i].records[j], data);
|
||||
this.$element.find("#main_" + record_id).children().remove();
|
||||
this.$element.find("#main_" + record_id).append(this.qweb.render('kanban-box', {
|
||||
record: this.do_transform_record(this.all_display_data[i].records[j]),
|
||||
kanban_color: this.kanban_color,
|
||||
kanban_gravatar: this.kanban_gravatar
|
||||
}));
|
||||
break;
|
||||
this.dataset.read_ids([record_id], [], function (records) {
|
||||
if (records.length > 0) {
|
||||
for (var i=0, ii=self.all_display_data.length; i < ii; i++) {
|
||||
for(j=0, jj=self.all_display_data[i].records.length; j < jj; j++) {
|
||||
if (self.all_display_data[i].records[j].id == record_id) {
|
||||
_.extend(self.all_display_data[i].records[j], records[0]);
|
||||
self.$element.find("#main_" + record_id).children().remove();
|
||||
self.$element.find("#main_" + record_id).append(self.qweb.render('kanban-box', {
|
||||
record: self.do_transform_record(self.all_display_data[i].records[j]),
|
||||
kanban_color: self.kanban_color,
|
||||
kanban_gravatar: self.kanban_gravatar
|
||||
}));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
self.$element.find("#main_" + record_id + " .oe_kanban_action").click(self.on_action_clicked);
|
||||
self.$element.find("#main_" + record_id + " .oe_kanban_box_show_onclick_trigger").click(function() {
|
||||
$(this).parent("#main_" + record_id + " .oe_kanban_box").find(".oe_kanban_box_show_onclick").toggle();
|
||||
});
|
||||
}
|
||||
}
|
||||
this.$element.find("#main_" + record_id + " .oe_kanban_action").click(this.on_action_clicked);
|
||||
this.$element.find("#main_" + record_id + " .oe_kanban_box_show_onclick_trigger").click(function() {
|
||||
$(this).parent("#main_" + record_id + " .oe_kanban_box").find(".oe_kanban_box_show_onclick").toggle();
|
||||
});
|
||||
|
||||
},
|
||||
do_delete: function (id) {
|
||||
var self = this;
|
||||
|
@ -304,7 +306,6 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
|
|||
if (!ui.item.attr("id")) {
|
||||
return false;
|
||||
}
|
||||
// TODO fme: check what was this sequence
|
||||
if (self.fields_view.fields.sequence != undefined && ((self.source_index.index >= 0 && self.source_index.index != from) ||
|
||||
(self.source_index.column && self.source_index.column != ui.item.parent().attr('id')))) {
|
||||
var child_record = ui.item.parent().children();
|
||||
|
|
|
@ -11,17 +11,19 @@
|
|||
<tr>
|
||||
<td t-foreach="data" t-as="columns" class="oe_table_column" t-att-id="'column_' + columns.value">
|
||||
<img t-att-id="columns.value" class="fold-columns-icon" src="/web_kanban/static/src/img/minus-icon.png"/>
|
||||
<div class="oe_fold_column oe_column_heading" t-att-id="'column_' + columns.value">
|
||||
<t t-if="columns.value and columns.header" t-esc="columns.header"/>
|
||||
</div>
|
||||
<div t-foreach="columns.aggregates" t-as="aggregate">
|
||||
<i><u><t t-esc="aggregate"/>:</u> <t t-esc="aggregate_value"/></i>
|
||||
<div class="oe_fold_column" t-att-id="'column_' + columns.value">
|
||||
<div class="oe_column_heading" t-if="columns.value and columns.header">
|
||||
<t t-esc="columns.header"/>
|
||||
</div>
|
||||
<div t-foreach="columns.aggregates or {}" t-as="aggregate">
|
||||
<i><u><t t-esc="aggregate"/>:</u> <t t-esc="aggregate_value"/></i>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td t-foreach="data" t-as="columns" class="oe_column oe_table_column" t-att-id="'column_' + columns.value" t-attf-style="width: #{Math.round(99 / data.length)}%">
|
||||
<p class="oe_vertical_text" t-att-id="'column_' + columns.value"><t t-esc="columns.header"/></p>
|
||||
<p t-if="columns.header" class="oe_vertical_text" t-att-id="'column_' + columns.value"><t t-esc="columns.header"/></p>
|
||||
<div t-foreach="columns.records" t-as="record" class="oe_fold_column oe_kanban_record" t-att-id="'main_' + record.id"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
Loading…
Reference in New Issue