import jQuery.*; class RailsViewComponent{ public var callbacks = new MapDynamic->Dynamic->Void>(); public function addCallback(method:String, fun:Dynamic->Dynamic->Dynamic->Void){ this.callbacks.set(method, fun); } private var componentName : String; public function new(name:String){ this.componentName = name; } public function sendRequest(method:String, params){ JQueryStatic.post( "/rails_view_component/"+ this.componentName +"/"+ method, params, function(data, status, xhr){ var func = this.callbacks.get(method); if(func != null){ func(data, status, xhr); } }).fail(function(e){ trace("ERROR:"+e); }); } }