[FIX] Fixed kanban view global click
bzr revid: fme@openerp.com-20120625150150-pn4hdhccr6rqlvhp
This commit is contained in:
parent
92431bf895
commit
96b47f8920
|
@ -875,6 +875,7 @@ instance.web.WebClient = instance.web.Widget.extend({
|
|||
$(this).attr('data-tipsy', 'true').tipsy().trigger('mouseenter');
|
||||
});
|
||||
this.$element.on('click', '.oe_dropdown_toggle', function(ev) {
|
||||
ev.preventDefault();
|
||||
var $menu = $(this).find('.oe_dropdown_menu');
|
||||
var state = $menu.is('.oe_opened');
|
||||
setTimeout(function() {
|
||||
|
|
|
@ -311,9 +311,9 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
}
|
||||
return this._super();
|
||||
},
|
||||
open_record: function(id) {
|
||||
open_record: function(id, editable) {
|
||||
if (this.dataset.select_id(id)) {
|
||||
this.do_switch_view('form', null, { editable: true });
|
||||
this.do_switch_view('form', null, { editable: editable });
|
||||
} else {
|
||||
this.do_warn("Kanban: could not find id#" + id);
|
||||
}
|
||||
|
@ -611,7 +611,40 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({
|
|||
if (this.$element.find('.oe_kanban_global_click').length) {
|
||||
this.$element.on('click', function(ev) {
|
||||
if (!ev.isTrigger && !$(ev.target).data('events')) {
|
||||
//self.on_card_clicked(ev);
|
||||
var trigger = true;
|
||||
var elem = ev.target;
|
||||
var ischild = true;
|
||||
var children = [];
|
||||
while (elem) {
|
||||
var events = $(elem).data('events');
|
||||
if (elem == ev.currentTarget) {
|
||||
ischild = false;
|
||||
}
|
||||
if (ischild) {
|
||||
children.push(elem);
|
||||
if (events && events.click) {
|
||||
// do not trigger global click if one child has a click event registered
|
||||
trigger = false;
|
||||
}
|
||||
}
|
||||
if (trigger && events && events.click) {
|
||||
_.each(events.click, function(click_event) {
|
||||
if (click_event.selector) {
|
||||
// For each parent of original target, check if a
|
||||
// delegated click is bound to any previously found children
|
||||
_.each(children, function(child) {
|
||||
if ($(child).is(click_event.selector)) {
|
||||
trigger = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
elem = elem.parentElement;
|
||||
}
|
||||
if (trigger) {
|
||||
self.on_card_clicked(ev);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -660,7 +693,7 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({
|
|||
self.view.form_dialog.open();
|
||||
});
|
||||
} else {
|
||||
this.view.open_record(this.id);
|
||||
this.view.open_record(this.id, true);
|
||||
}
|
||||
},
|
||||
do_action_object: function ($action) {
|
||||
|
|
Loading…
Reference in New Issue