OK. I finally understand what you are trying to do and the changes that are now needed for the latest version. The fact that you have this code in the _FeatureTable.js makes it a lot simpler. there is no need to get the AttributeTable widget object at all.
createToolbar: function() {
...
this.thetextbox = new TextBox({
value: "",
placeHolder: "type in your filter value",
onChange: lang.hitch(this, this.filterTextChanged),
intermediateChanges: true
});
toolbar.addChild(this.thetextbox);
...
filterTextChanged: function(value) {
if (value.length >= 3) {
var partsObj = {
"expr": "UPPER(" + filter_name + ") LIKE '%" + value.toUpperCase() + "%'",
"parts": []
};
this.setFilterObj(partsObj);
this.clearSelection(false);
this.startQuery();
this.emit('apply-filter', {
layerInfoId: this.layerInfo.id,
expr: partsObj.expr
});
}
if(value === ""){
var partsObj2 = {
"expr": "1=1",
"parts": []
};
this.setFilterObj(partsObj2);
this.clearSelection(false);
this.startQuery();
this.emit('apply-filter', {
layerInfoId: this.layerInfo.id,
expr: partsObj.expr
});
}
},