Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

Custom operator for FilterBuilder not working

$
0
0
Hello,

We are using custom Operators in our application to define the custom client-side filtering behavior we need.

It was working just fine util we upgraded to the 8.3 version of SmartClient.

It seems like when using a valueType "custom", the "editorType" parameter is ignored, the displayed formItem for the criterion is always the default TextItem.

Here is a code sample to reproduce the problem
Code:

isc.ClassFactory.defineClass("InJoinItem", "CanvasItem");
isc.InJoinItem.addProperties({
    height: 19,
    shouldSaveValue: true,
    init: function () {
        this.canvas = isc.DynamicForm.create({
            width: 500,
            fields: [
                {name: "country", title: "Country", type: "select", valueMap: { "US": "<b>United States</b>", "FR": "France" }}
            ]
        });
        return this.Super("init", arguments);
    },
    getValue: function () {
        return this.canvas.getValue();
    }
});
isc.Operators.addClassProperties({inJoinTitle: "In"});

isc.DataSource.addSearchOperator({
  ID: 'in',
  requiresServer: true,
  hidden: false,
  titleProperty: "inJoinTitle",
  valueType: "custom",
  editorType: "InJoinItem",
  compareCriteria: function () { return 0; },
  condition: function () { return true; }
});

isc.DataSource.create({
    ID: "countryList",
    fields: [
        {name: "code", title: "Code", validOperators: ["in", "notIn"]}
    ]
});

isc.FilterBuilder.create({
    ID: "advancedFilter",
    dataSource: "countryList"
});

SmartClient Version: v8.3p_2013-11-06/Pro Deployment (built 2013-11-06)
Mozilla FireFox 27.0.1

Viewing all articles
Browse latest Browse all 4756

Trending Articles