extjsextjs6-modern

How to handle click on icon inside itemTpl in DataView ExtJs


I am trying to handle a click on icon inside itemTpl, but getting this error:

Uncaught TypeError: e.getTarget is not a function`.

This is the code of my DataView:

Ext.define('Admin.view.phone.managers.ManagerCard', {
    extend: 'Ext.dataview.DataView',   
    itemTpl:
        '<div class="managers-user-item">'+
            '<div class="managers-user-image">' +
                '<img src="{photo}" class="circular" ' +
                'width="50" height="50"/>' +
            '</div>'+
            '<div class="managers-user-content">'+
                '<div class="managers-user-title">{full_title}</div>'+
                '<div class="managers-user-email">{email}</div>'+
                '<div class="managers-user-date">{crdate}</div>'+
                '<div class="managers-user-settings"><i class="fa fa-ellipsis-v" aria-hidden="true"></i></div>'+
            '</div>'+
        '</div>',
    listeners: {
        itemtap: function ( _this, list, index, target, record, e, eOpts ) {
            if ( e.getTarget('.managers-user-settings') )
            {
               console.log('click');               
            }
        }
    }
});

Help me please.


Solution

  • itemtap definition seems wrong.

    With ExtJS 6.6.0 it should be

    itemtap: function (_this, index, el, record, e, eOpts)

    Here is example of working fiddle which capture click on circular class: https://fiddle.sencha.com/#view/editor&fiddle/2nht