summaryrefslogtreecommitdiff
path: root/addons/board/static/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/board/static/src/js')
-rw-r--r--addons/board/static/src/js/dashboard.js14
1 files changed, 12 insertions, 2 deletions
diff --git a/addons/board/static/src/js/dashboard.js b/addons/board/static/src/js/dashboard.js
index 6606ffe5569..a743cb6562f 100644
--- a/addons/board/static/src/js/dashboard.js
+++ b/addons/board/static/src/js/dashboard.js
@@ -139,7 +139,11 @@ var DashBoard = form_common.FormWidget.extend({
},
on_close_action: function(e) {
if (confirm(_t("Are you sure you want to remove this item ?"))) {
- $(e.currentTarget).parents('.oe_action:first').remove();
+ var $container = $(e.currentTarget).parents('.oe_action:first');
+ var am = _.findWhere(this.action_managers, { am_id: $container.data('am_id') });
+ am.destroy();
+ this.action_managers.splice(_.indexOf(this.action_managers, am), 1);
+ $container.remove();
this.do_save_dashboard();
}
},
@@ -223,7 +227,13 @@ var DashBoard = form_common.FormWidget.extend({
var am = new ActionManager(this),
// FIXME: ideally the dashboard view shall be refactored like kanban.
$action = $('#' + this.view.element_id + '_action_' + index);
- $action.parent().data('action_attrs', action_attrs);
+ var $action_container = $action.closest('.oe_action');
+ var am_id = _.uniqueId('action_manager_');
+ am.am_id = am_id;
+ $action_container.data({
+ action_attrs: action_attrs,
+ am_id: am_id,
+ });
this.action_managers.push(am);
am.appendTo($action).then(function () {
am.do_action(action).then(function () {