/**
  * Enqueues bundled scripts.
  */
 private function enqueue_bundled_scripts()
 {
     $wp_enqueue_util = WP_Enqueue_Util::get_instance();
     $wp_recipe = WP_Recipe::get_instance();
     $wp_recipe_ingredients = WP_Recipe_Ingredients::get_instance();
     $wp_recipe_ingredients_group = WP_Recipe_Ingredients_Group::get_instance();
     $handle = $wp_recipe->get_slug() . '-admin-script';
     $relative_path = __DIR__ . '/../admin/js/';
     $filename = 'bundle.min.js';
     $filename_debug = 'bundle.concat.js';
     $dependencies = array('underscore');
     $group_keys = $wp_recipe_ingredients_group->get_keys();
     $new_group = array($group_keys['group'] => '');
     $data = array('ingredient' => array('classes' => $wp_recipe_ingredients->get_classes(), 'group' => array('classes' => $wp_recipe_ingredients_group->get_classes(), 'keys' => $group_keys, 'markup' => $wp_recipe_ingredients_group->generate_admin_markup($new_group)), 'id' => WP_Recipe_Util::get_instance()->get_id($wp_recipe_ingredients->get_slug()), 'markup' => $wp_recipe_ingredients->generate_admin_markup()));
     $options = new WP_Enqueue_Options($handle, $relative_path, $filename, $filename_debug, $dependencies, $wp_recipe->get_version(), true);
     $localization_name = WP_Recipe_Util::get_instance()->get_id($wp_recipe->get_slug());
     $options->set_localization($localization_name, $data);
     $wp_enqueue_util->enqueue_script($options);
 }
 /**
  * Gets instance of class.
  *
  * @return WP_Recipe_Ingredients Instance of the class.
  */
 public static function get_instance()
 {
     if (null == self::$instance) {
         self::$instance = new self();
     }
     return self::$instance;
 }
 /**
  * Renders view.
  */
 public function __render()
 {
     global $post;
     $wp_recipe_ingredients_group = WP_Recipe_Ingredients_Group::get_instance();
     wp_nonce_field($this->slug, WP_Recipe_Util::get_instance()->get_nonce($this->slug));
     $ingredients = maybe_unserialize(get_post_meta($post->ID, WP_Recipe_Util::get_instance()->get_post_meta_key($this->slug), true));
     $ingredients_classes = $this->get_classes();
     $ingredients_group_classes = $wp_recipe_ingredients_group->get_classes();
     echo '<fieldset class="' . $this->slug . '">';
     echo '<section class="toolbar">';
     echo '<ul class="actions">';
     echo '<li class="action-item">';
     echo '<button class="' . $ingredients_classes['add'] . ' button">Add Ingredient</button>';
     echo '</li>';
     echo '<li class="action-item">';
     echo '<button class="' . $ingredients_group_classes['add'] . ' button">Add Group</button>';
     echo '</li>';
     echo '</ul>';
     echo '</section>';
     echo '<div class="editor">';
     echo '<ul class="list ' . $ingredients_classes['list'] . '">';
     if (!empty($ingredients)) {
         foreach ($ingredients as $item) {
             if (is_array($item)) {
                 echo $wp_recipe_ingredients_group->generate_admin_markup($item);
             } else {
                 echo $this->generate_admin_markup($item);
             }
         }
     }
     echo '</ul>';
     echo '</div>';
     echo '</fieldset>';
 }