@@ -442,6 +442,7 @@ DatatableBase = function () {
442442 //######################
443443 // Instance attributes #
444444 //######################
445+ DatatableBase . prototype . datatable = null ;
445446 DatatableBase . prototype . columns = [ ] ;
446447 DatatableBase . prototype . buttons = [ ] ;
447448 DatatableBase . prototype . filters = [ ] ;
@@ -2319,17 +2320,18 @@ Loader.instance_methods = {
23192320 return this . dt_options = $ . extend ( { } , this . dt_options , local_opts ) ;
23202321 } ,
23212322 _loader_load_buttons_callbacks : function _loader_load_buttons_callbacks ( ) {
2322- var _this2 = this ;
2323+ var callback ;
23232324 this . info ( 'Build datatable callbacks options : buttons' ) ;
2325+ callback = function callback ( dt_class , _data , _status , _xhr ) {
2326+ var klass ;
2327+ klass = Loader . class_methods . constantize ( dt_class ) ;
2328+ return klass . instance . datatable . ajax . reload ( ) ;
2329+ } ;
23242330 this . callbacks [ 'buttons' ] [ 'select_all' ] = {
2325- success : [ function ( _data , _status , _xhr ) {
2326- return _this2 . datatable . ajax . reload ( ) ;
2327- } ]
2331+ success : [ callback ]
23282332 } ;
23292333 return this . callbacks [ 'buttons' ] [ 'reset_selection' ] = {
2330- success : [ function ( _data , _status , _xhr ) {
2331- return _this2 . datatable . ajax . reload ( ) ;
2332- } ]
2334+ success : [ callback ]
23332335 } ;
23342336 } ,
23352337 _select : function _select ( obj , predicate ) {
@@ -2505,7 +2507,8 @@ WithButtons.instance_methods = {
25052507 return this . buttons [ idx ] = button ;
25062508 } ,
25072509 _build_ajax_options : function _build_ajax_options ( button ) {
2508- var callbacks , on_error , on_send , on_success ;
2510+ var callbacks , dt_class , on_error , on_send , on_success ;
2511+ dt_class = this . dt_class ;
25092512 callbacks = this . callbacks [ 'buttons' ] [ button ] ;
25102513 on_send = callbacks . beforeSend != null ? callbacks . beforeSend : [ ] ;
25112514 on_error = callbacks . error != null ? callbacks . error : [ ] ;
@@ -2516,7 +2519,7 @@ WithButtons.instance_methods = {
25162519 results = [ ] ;
25172520 for ( j = 0 , len1 = on_send . length ; j < len1 ; j ++ ) {
25182521 c = on_send [ j ] ;
2519- results . push ( c ( xhr , settings ) ) ;
2522+ results . push ( c ( dt_class , xhr , settings ) ) ;
25202523 }
25212524 return results ;
25222525 } ,
@@ -2525,7 +2528,7 @@ WithButtons.instance_methods = {
25252528 results = [ ] ;
25262529 for ( j = 0 , len1 = on_error . length ; j < len1 ; j ++ ) {
25272530 c = on_error [ j ] ;
2528- results . push ( c ( xhr , status , _error ) ) ;
2531+ results . push ( c ( dt_class , xhr , status , _error ) ) ;
25292532 }
25302533 return results ;
25312534 } ,
@@ -2534,7 +2537,7 @@ WithButtons.instance_methods = {
25342537 results = [ ] ;
25352538 for ( j = 0 , len1 = on_success . length ; j < len1 ; j ++ ) {
25362539 c = on_success [ j ] ;
2537- results . push ( c ( data , status , xhr ) ) ;
2540+ results . push ( c ( dt_class , data , status , xhr ) ) ;
25382541 }
25392542 return results ;
25402543 }
0 commit comments