diff --git a/gravity-forms/gw-prevent-duplicate-selections.php b/gravity-forms/gw-prevent-duplicate-selections.php index 32640fe36..c88d44b7e 100644 --- a/gravity-forms/gw-prevent-duplicate-selections.php +++ b/gravity-forms/gw-prevent-duplicate-selections.php @@ -30,6 +30,7 @@ public function __construct() { public function init() { add_filter( 'gform_pre_render', array( $this, 'load_form_script' ), 10, 2 ); + add_action( 'gform_register_init_scripts', array( $this, 'add_init_script' ), 10, 2 ); } public function load_form_script( $form, $is_ajax_enabled ) { @@ -42,25 +43,65 @@ public function load_form_script( $form, $is_ajax_enabled ) { return $form; } + public function add_init_script( $form ) { + if ( ! $this->is_applicable_form( $form ) ) { + return; + } + + $args = array(); + + $script = 'new ' . __CLASS__ . '( ' . json_encode( $args ) . ' );'; + $slug = implode( '_', array( strtolower( __CLASS__ ) ) ); + + GFFormDisplay::add_init_script( $form['id'], $slug, GFFormDisplay::ON_PAGE_RENDER, $script ); + } + public function output_script() { ?> -