Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
types
/
application
/
controllers
:
dialog_box.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Represents a single dialog box whose template will be rendered on the page when an instance of this class is * created. Enqueues all the assets needed for displaying it. * * @since 2.0 */ class Types_Dialog_Box extends Toolset_DialogBoxes { /** @var array */ private $context; /** @var Twig_Environment */ private $twig; /** @var string */ private $template_name; /** @var string */ private $dialog_id; /** * Types_Dialog_Box constructor. * * Should be called during the 'current_screen' action, not sooner or later. * * @param string $dialog_id Unique ID (at least within the page) used to reference the dialog in JS. * @param Twig_Environment $twig Prepared Twig environment. * @param array $context Twig context for the dialog template. * @param string $template_name Twig template name that will be recognized by the provided environment. * @param bool $late_register_assets Whether to run late_register_assets() or not. * * @since 2.0 */ public function __construct( $dialog_id, $twig, $context, $template_name, $late_register_assets = true ) { $current_screen = get_current_screen(); parent::__construct( array( $current_screen->id ) ); $this->dialog_id = $dialog_id; $this->twig = $twig; $this->context = $context; $this->template_name = $template_name; if( $late_register_assets ) { $this->late_register_assets(); } // We're going to render on the page we're creating this instance. $this->init_screen_render(); } /** * Render a predefined Twig template. * * @since 2.0 */ public function template() { printf( '<script type="text/html" id="%s">%s</script>', esc_attr( $this->dialog_id ), $this->twig->render( $this->template_name, $this->context ) ); } /** * Manually register dialog assets in Types_Asset_Manager because by now we have already missed the * toolset_add_registered_styles and toolset_add_registered_scripts filters (but there is still enough time * to enqueue). * * @since 2.0 */ protected function late_register_assets() { /* * Toolset_DialogBoxes::register_styles() no longer exists * https://git.onthegosystems.com/toolset/toolset-common/commit/cb176128ac8382cebbad46a39848b4c76fdcc7a7 * // Get script and styles from parent methods, and register them manually. $styles = $this->register_styles( array() ); foreach( $styles as $style ) { Types_Asset_Manager::get_instance()->register_toolset_style( $style ); } */ $scripts = $this->register_scripts( array() ); foreach( $scripts as $script ) { Types_Asset_Manager::get_instance()->register_toolset_script( $script ); } } }