overriding data filter causing issues

oveerding datafilters causing issues it througs error on _settings.id

webix.ui.datafilter['serverDateRangeFilter'] = webix.extend({
    render: function (master, config) {
        if (!config.richselect) {
            var d = webix.html.create("div", { "class": "webix_richfilter" });

            var richconfig: any = {
                container: d,
                view: this.inputtype,
                options: []
            };

            var inputConfig = webix.extend(this.inputConfig || {}, config.inputConfig || {}, true);
            webix.extend(richconfig, inputConfig);

            if (config.separator)
                richconfig.separator = config.separator;
            if (config.suggest)
                richconfig.suggest = config.suggest;

            var richselect: any = webix.ui(richconfig);
            richselect.attachEvent("onChange", function () {
                master.config.isFilterApplied = true;
                master.filterByAll();
            });

            config.richselect = richselect._settings.id;
            master._destroy_with_me.push(richselect);
        }

        config.css = "webix_div_filter";
        return " ";
    }
}, webix.ui.datafilter['serverDateRangeFilter']);

I want a flag onChange of datefilter so i want to override it but it througs error,

can you suggest why it throwing error.

Thanks.

Hello,

Normally, we recommend not to use private (starting from _ ) methods and properties for custom components or any other functionality.

As a side note, new widgets can be created with webix.protoUI, it provides more possibilities that just extending.