*/
class Gridable_Admin {
/**
* The ID of this plugin.
*
* @since 1.0.0
* @access private
* @var string $gridable The ID of this plugin.
*/
private $gridable;
/**
* The version of this plugin.
*
* @since 1.0.0
* @access private
* @var string $version The current version of this plugin.
*/
private $version;
/**
* Initialize the class and set its properties.
*
* @since 1.0.0
*
* @param string $gridable The name of this plugin.
* @param string $version The version of this plugin.
*/
public function __construct( $gridable, $version ) {
$this->gridable = $gridable;
$this->version = $version;
}
function add_media_button( $editor_id ) {
// Setup the icon - currently using a dashicon
$icon = '';
printf( '%s %s',
'gridable-add-row-button-' . $editor_id,
esc_attr( $editor_id ),
esc_attr__( 'Add Row', 'gridable' ),
$icon,
__( 'Add Row', 'gridable' )
);
/**
* Enqueue the editor script only when there is an editor on page.
* We ditch `admin_enqueue_scripts` intentionally since the editor can appear on non-edit pages like theme options
*/
wp_register_script( 'select2', plugin_dir_url( __FILE__ ) . 'js/select2.min.js', array( 'jquery' ), $this->version );
wp_enqueue_script( 'gridable-add-row-button', plugin_dir_url( __FILE__ ) . 'js/add-row-button.js', array( 'jquery', 'wp-color-picker', 'select2' ), $this->version, true );
wp_register_style( 'select2', plugin_dir_url( __FILE__ ) . 'css/select2.css', array(), $this->version );
wp_enqueue_style( 'gridable-admin-style', plugin_dir_url( __FILE__ ) . 'css/admin-style.css', array( 'wp-color-picker', 'select2' ), $this->version, false );
wp_localize_script( 'gridable-add-row-button', 'gridable_editor_params', array(
'new_column_content' => esc_html__( 'Content', 'gridable' )
) );
wp_localize_script( 'gridable-add-row-button', 'gridable_row_options', apply_filters('gridable_row_options', array(
'cols_nr' => array(
'default' => 2
)
) ) );
wp_localize_script( 'gridable-add-row-button', 'gridable_column_options', apply_filters('gridable_column_options', array(
'size' => array(
'default' => 6
)
) ) );
global $editor_styles;
if ( ! empty( $editor_styles ) && is_array($editor_styles) ) {
$editor_styles = array_merge( $editor_styles, array(
plugin_dir_url( __FILE__ ) . 'css/editor-style.css'
) );
} else {
$editor_styles = array(
plugin_dir_url( __FILE__ ) . 'css/editor-style.css'
);
}
}
function wp_print_grider_tinymce_templates() {
$row_classes = array(
'gridable',
'gridable--grid',
'grid'
);
$col_classes = array(
'grid__item'
); ?>