celleditor listens 'enter' click

http://stackoverflow.com/questions/9273094/extjs-take-cellediting-plugin-from-editor-listeners

HTML

<link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.0.7-gpl/resources/css/ext-all.css">

JavaScript

Ext.create('Ext.data.Store', {
    storeId: 'simpsonsStore',
    fields: ['name', 'email', 'phone'],
    data: {
        'items': [
            {
            'name': 'Lisa',
            "email": "[email protected]",
            "phone": "555-111-1224"},
        {
            'name': 'Bart',
            "email": "[email protected]",
            "phone": "555-222-1234"},
        {
            'name': 'Homer',
            "email": "[email protected]",
            "phone": "555-222-1244"},
        {
            'name': 'Marge',
            "email": "[email protected]",
            "phone": "555-222-1254"}
        ]
    },
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'items'
        }
    }
});


var grid = Ext.create('Ext.grid.Panel', {
    title: 'Simpsons',
    id: 'sheetproductionrestin',
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
    columns: [
        {
        header: 'Name',
        dataIndex: 'name',
        editor: {
            xtype: 'textfield',
            listeners: {
                cellclick: function(field, e) {

                    if (e.getKey() == e.ENTER) {
                        var grid = Ext.getCmp('sheetproductionrestin');
                        var store = Ext.getCmp('sheetproductionrestin').store;
                        var selModel = grid.getSelectionModel();
                        var selectedRecord = selModel.getLastSelected();

                        var recordIndex = store.indexOf(selectedRecord);
                        var nextRecord = store.getAt(recordIndex + 1);
                        selModel.select(nextRecord);
                        var plugin = grid.getPlugin('cellplugin');
                        plugin.startEdit(nextRecord,grid.columns[0]);
                    }
                }
            }
        }},
    {
        header: 'Email',
        dataIndex: 'email',
        flex: 1},
    {
        header: 'Phone',
        dataIndex: 'phone'}
    ],
   ...