Astra_Customizer::prepare_javascript_control_configs( array $config )
Prepare Control Configs for Javascript.
Description
Parameters
- $config
-
(array) (Required) configs.
Source
File: inc/customizer/class-astra-customizer.php
public function prepare_javascript_control_configs( $config ) {
global $wp_customize;
// Remove type from configuration.
unset( $config['type'] );
$ignore_controls = array( 'ast-settings-group', 'ast-sortable', 'ast-radio-image', 'ast-slider', 'ast-responsive-slider' );
if ( ! isset( $config['control'] ) ) {
return;
}
$sanitize_callback = ( in_array( $config['control'], $ignore_controls, true ) ) ? false : astra_get_prop( $config, 'sanitize_callback', Astra_Customizer_Control_Base::get_sanitize_call( astra_get_prop( $config, 'control' ) ) );
if ( ! $sanitize_callback ) {
$config = $this->sanitize_control( $config );
}
$config['label'] = astra_get_prop( $config, 'title' );
$config['type'] = astra_get_prop( $config, 'control' );
/** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
if ( false !== astra_get_prop( $config, 'font-type', false ) ) {
/** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
$config['type'] = astra_get_prop( $config, 'font-type', false );
}
if ( 'image' === $config['type'] ) {
$this->prepare_preload_controls( $config );
}
if ( isset( $config['active_callback'] ) ) {
self::$js_configs ['skip_context'] [] = astra_get_prop( $config, 'name' );
$this->prepare_preload_controls( $config );
return;
}
self::$dynamic_options['settings'][ astra_get_prop( $config, 'name' ) ] = array(
'default' => astra_get_prop( $config, 'default' ),
'type' => astra_get_prop( $config, 'datastore_type' ),
'transport' => astra_get_prop( $config, 'transport', 'refresh' ),
'sanitize_callback' => $sanitize_callback,
);
/** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
if ( astra_get_prop( $config, 'partial', false ) ) {
self::$dynamic_options['partials'][ astra_get_prop( $config, 'name' ) ] = array(
'selector' => astra_get_prop( $config['partial'], 'selector' ),
'render_callback' => astra_get_prop( $config['partial'], 'render_callback' ),
'containerInclusive' => astra_get_prop( $config['partial'], 'container_inclusive' ),
'fallbackRefresh' => astra_get_prop( $config['partial'], 'fallback_refresh', true ),
);
}
$config['id'] = astra_get_prop( $config, 'name' );
$config['settings'] = array( 'default' => astra_get_prop( $config, 'name' ) );
$config = self::bypass_control_configs( $config );
if ( isset( $config['section'] ) ) {
self::$js_configs ['controls'] [ $config['section'] ] [] = $config;
}
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |