BUG Datatable serverMultiSelectFItler

Hallo,

When the first letter of options of serverMultiselectFilter start with uppercase or lowercase then they are not sorted in the filter.

As an example we post a snippet

http://webix.com/snippet/684c8c09

In this snippet if you open the filter of Film Title column you will see that the values are not sorted from A to Z and this happens because of the uppecase and lowercase of the first letters.

If you change the first letter to uppercase then the sorting of the filter will work but its not good this to happen when the Data are important and should be present as they are.

Tagged:

Comments

  • This is the original code where is implemented the sort

    _collectValues:function(id, value,  values, checks){
        this.data.each(function(obj){
            var test = obj ? obj[id] : "";
            if (test !== webix.undefined && !checks[test]){
                checks[test] = true;
                values.push({ id:obj[id], value:obj[value] });
            }
        }, this, true);
        values.sort(function(a,b){ return 
    a.value > b.value ? 1 : -1;  });
    },
    

    and you maybe support non case sensitive sort using

    values.sort(function(a,b){ 
    return a.value.toLowerCase() > b.value.toLowerCase() ? 1 : -1;  });
    
  • Then it works

  • Any feedback ?

  • edited April 27

    Hello,

    You can provide own sorting rule within the onCollectValues handler of the Datatable:

    view:"datatable",
    on:{
         onCollectValues:function(id, obj){
            obj.values.sort(...);
       }
    }

    Please, check the related snippet: http://webix.com/snippet/3cf02d71

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Facebook Sign In with Google Sign In with OpenID Sign In with Twitter

In this Discussion