Odoo 12 расширьте график просмотра событий с помощью щелчка на прямой панели

#javascript #events #controller #odoo #extend

#язык JavaScript #Мероприятия #контроллер #одоо #расширять

Вопрос:

Я пытаюсь добавить какой-нибудь новый диспатчер событий в представление графика (нажмите на панель графика).

 odoo.define('myaddon.upgrades', function (require) {  "use strict";   var GraphController = require('web.GraphController');  GraphController.include({  events: _.extend({}, GraphController.prototype.events, {  'click rect.nv-bar': '_onBarClick',  }),  _onBarClick: function(event){  console.log('bar clicked');  },  }); });  

Но _онбарклик так и не позвонил. Что случилось? Во время отладки GraphController я даже вижу, что у него действительно есть список событий, включающий события по умолчанию и мое добавленное событие. Также, если я добавлю диспетчер в rect.nv-панель с помощью jQuery в консоли отладки Chrome, как

 $('rect.nv-bar').click(function(e){console.log('bar clicked');});  

это тоже работает. Но что-то мешает ему работать так, как я цитировал выше. Может быть, что-то внутри nvd3? Как я могу это проверить?

Комментарии:

1. Вы добавили файл .js в ресурсы (должен быть в xml-файле)? И, возможно, вы можете добавить больше кода? Трудно исключить другие части вашего модуля, потому что ваш пример кода мне кажется прекрасным.

2. Да, и весь остальной код из того же .js выполняется так, как ожидалось.

3. Можете ли вы добавить XML-код, в котором rect.nv-bar используется ваш?

4. xml не существует. Это часть библиотеки nvd3, интегрированной в представление графика Odoo по умолчанию.

5. Но в конце концов должен быть какой-то HTML. Как это выглядит?