Непонятное срабатывание this.listenTo(this.model, 'change:') (возможно баг)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dimyy
    Active Community Member
    • Jun 2018
    • 569

    Непонятное срабатывание this.listenTo(this.model, 'change:') (возможно баг)

    Переопределил у задачи (Task) вью:

    Code:
    Espo.define('custom:views/task/record/detail', 'crm:views/task/record/detail', function (Dep) {
        return Dep.extend({
            setup: function () {
                Dep.prototype.setup.call(this);
            },
    
            afterRender: function () {
                console.log('123');
                console.log(this.model.get('workTypeName') || 'Пусто');
    
                this.listenTo(this.model, 'change:workTypeName', function (model) {
                    console.log('changed workTypeName');
                }, this);
            }  
        });
    });
    Вроде все отлично работает но ....

    Определен виджет (dashlet) типа "record list". Базовый тип - задача (task). При клике на задачу при открытии страницы срабатывает описанный change. Такое же поведение наблюдается при клике из отчета.
    При вариантах захода по прямой ссылке, заходу из списка задач и т.д. такого эффекта нет.

    Похоже что в одном случае вью создается из данных а во втором сначала создана и отрендерена вью а потом подтягиваются данные

    Где засада? Как лечить?

    Лог в одном и втором случае:

    22:30:34.291 VM12657:19 123
    22:30:34.294 VM12657:20 2-я линия

    22:31:06.192 VM12657:19 123
    22:31:06.194 VM12657:20 Пусто
    22:31:07.219 VM12657:23 changed workTypeName
    Last edited by dimyy; 10-04-2018, 07:33 PM.
Working...