parser = $parser; } /** * Method to handle defining the data array for this config. * * @since 2.6 * * @return array */ abstract protected function data(); /** * Determine if the config should enqueue its data. If should_enqueue() is a method, * call it and return the result. If not, simply return the (boolean) value of the property. * * @since 2.6 * * @return bool */ public function should_enqueue() { if ( is_callable( $this->should_enqueue ) ) { return call_user_func( $this->should_enqueue ); } return $this->should_enqueue; } /** * Get the data for the config, passing it through a filter. * * @since 2.6 * * @return array */ public function get_data() { if ( ( ! defined( 'GFORMS_DOING_MOCK' ) || ! GFORMS_DOING_MOCK ) && ! $this->should_enqueue() ) { return false; } /** * Allows developers to modify the raw config data being sent to the Config Parser. Useful for * adding in custom default/mock values for a given entry in the data, as well as modifying * things like callbacks for dynamic data before it's parsed and localized. * * @since 2.6 * * @param array $data * @param string $script_to_localize * * @return array */ $data = apply_filters( 'gform_config_data_' . $this->name(), $this->data(), $this->script_to_localize() ); return $this->parser->parse( $data ); } /** * Get the name of the config's object. * * @since 2.6 * * @return string */ public function name() { return $this->name; } /** * Get the $priority for the config. * * @since 2.6 * * @return int */ public function priority() { return $this->priority; } /** * Get the script to localize. * * @since 2.6 * * @return string */ public function script_to_localize() { return $this->script_to_localize; } /** * Get whether the config should override previous values. * * @since 2.6 * * @return bool */ public function should_overwrite() { return $this->overwrite; } }