@@ -48,6 +48,14 @@ jQuery( function( $ ) {
4848
4949 return null ;
5050 }
51+ } ) . on ( 'change' , function ( ) {
52+ var row = $ ( this ) . closest ( 'tr' ) ,
53+ connector = $ ( this ) . val ( ) ;
54+ if ( connector && 0 < connector . indexOf ( '-' ) ) {
55+ var connector_split = connector . split ( '-' ) ;
56+ connector = connector_split [ 0 ] ;
57+ }
58+ getActions ( row , connector ) ;
5159 } ) ;
5260 } ) ;
5361
@@ -323,6 +331,40 @@ jQuery( function( $ ) {
323331 recalculate_rules_selected ( ) ;
324332 } ) ;
325333
334+ function getActions ( row , connector ) {
335+ var trigger_action = $ ( '.select2-select.action' , row ) ,
336+ action_value = trigger_action . val ( ) ;
337+
338+ trigger_action . empty ( ) ;
339+ trigger_action . prop ( 'disabled' , true ) ;
340+
341+ var placeholder = $ ( '<option/>' , { value : '' , text : '' } ) ;
342+ trigger_action . append ( placeholder ) ;
343+
344+ var data = {
345+ 'action' : 'get_actions' ,
346+ 'connector' : connector
347+ } ;
348+
349+ $ . post ( window . ajaxurl , data , function ( response ) {
350+ var success = response . success ,
351+ actions = response . data ;
352+ if ( ! success ) {
353+ return ;
354+ }
355+ for ( var key in actions ) {
356+ if ( actions . hasOwnProperty ( key ) ) {
357+ var value = actions [ key ] ;
358+ var option = $ ( '<option/>' , { value : key , text : value } ) ;
359+ trigger_action . append ( option ) ;
360+ }
361+ }
362+ trigger_action . val ( action_value ) ;
363+ trigger_action . prop ( 'disabled' , false ) ;
364+ $ ( document ) . trigger ( 'alert-actions-updated' ) ;
365+ } ) ;
366+ } ;
367+
326368 function recalculate_rules_selected ( ) {
327369 var $selectedRows = $ ( 'table.stream-exclude-list tbody tr:not( .hidden ) input.cb-select:checked' ) ,
328370 $deleteButton = $ ( '#exclude_rules_remove_rules' ) ;
0 commit comments