Module Ext_util_Sorter


module Ext_util_Sorter: sig .. end
Represents a single sorter that can be applied to ...

Represents a single sorter that can be applied to a Store. The sorter is used to compare two values against each other for the purpose of ordering them. Ordering is achieved by specifying either:

As a contrived example, we can specify a custom sorter that sorts by rank:

Ext.define('Person', {
    extend: 'Ext.data.Model',
    fields: ['name', 'rank']
});

Ext.create('Ext.data.Store', {
    model: 'Person',
    proxy: 'memory',
    sorters: [{
        sorterFn: function(o1, o2){
            var getRank = function(o){
                var name = o.get('rank');
                if (name === 'first') {
                    return 1;
                } else if (name === 'second') {
                    return 2;
                } else {
                    return 3;
                }
            },
            rank1 = getRank(o1),
            rank2 = getRank(o2);

            if (rank1 === rank2) {
                return 0;
            }

            return rank1 < rank2 ? -1 : 1;
        }
    }],
    data: [{
        name: 'Person1',
        rank: 'second'
    }, {
        name: 'Person2',
        rank: 'third'
    }, {
        name: 'Person3',
        rank: 'first'
    }]
});


class type t = object .. end
class type configs = object .. end
class type events = object .. end
class type statics = object .. end
val of_configs : configs Js.t -> t Js.t
of_configs c casts a config object c to an instance of class t
val to_configs : t Js.t -> configs Js.t
to_configs o casts instance o of class t to a config object