EXTJS 5: Как отсортировать столбец сетки в EXT JS 5

Я недавно обновил версию EXT JS до 5 и переопределение функции doSort больше не работает. У кого-то есть идея, как это сделать?

Пример переопределения:

{
    text: 'Custom',
    sortable : true,
    dataIndex: 'customsort',
    doSort: function(state) {
        var ds = this.up('grid').getStore();
        var field = this.getSortParam();
        ds.sort({
            property: field,
            direction: state,
            sorterFn: function(v1, v2){
                v1 = v1.get(field);
                v2 = v2.get(field);

                return v1.length > v2.length ? 1 : (v1.length < v2.length ? -1 : 0);
            }
        });
    }
}

Изменить 1: Я просто пробую решение @tomgranerod, но me.sortState всегда 'undefined'. Поэтому я делаю это, чтобы обновить мою переменную:

    sort: function () {
        var me = this,
            grid = me.up('tablepanel'),
            store = grid.store;

        me.sortState = me.sortState === 'ASC' ? 'DESC' : 'ASC';

        Ext.suspendLayouts();
        me.sorting = true;
        store.sort({
            property: me.getSortParam(),
            direction: me.sortState,
            sortFn: function (v1, v2) {
                v1 = v1.get(field);
                v2 = v2.get(field);

                return v1.length > v2.length ? 1 : (v1.length < v2.length ? -1 : 0);
            }
        });
        delete me.sorting;
        Ext.resumeLayouts(true);
    }

Но функция sortFn никогда не вызывается. Я не знаю почему. ===> !!!! он работает с EXT JS 5.0.1, но функция sortFin никогда не вызывается. !!!!

Изменить 2: Вот что я пытаюсь получить:

ASC:

if (v1 and v2 are numbers) return v1 > v2;
else if (v1 is a number and v2 a string) return false;
else if (v1 is a string and v2 a number) return true;
else if (v1 and v2 are strings) return v1 > v2;

DESC:

if (v1 and v2 are numbers) return v1 < v2;
else if (v1 is a number and v2 a string) return true;
else if (v1 is a string and v2 a number) return false;
else if (v1 and v2 are strings) return v1 < v2;

Ответы на вопрос(4)

Ваш ответ на вопрос