/**
  * Renders the html for the layout or node.
  *
  * @since 1.7
  * @access private
  * @return string
  */
 private static function render_html()
 {
     // Get the partial refresh data.
     $partial_refresh_data = self::get_partial_refresh_data();
     // Start the output buffer.
     ob_start();
     // Render a node?
     if ($partial_refresh_data['is_partial_refresh']) {
         switch ($partial_refresh_data['node']->type) {
             case 'row':
                 FLBuilder::render_row($partial_refresh_data['node']);
                 break;
             case 'column-group':
                 FLBuilder::render_column_group($partial_refresh_data['node']);
                 break;
             case 'column':
                 FLBuilder::render_column($partial_refresh_data['node']);
                 break;
             case 'module':
                 FLBuilder::render_module($partial_refresh_data['node']);
                 break;
         }
     } else {
         FLBuilder::render_nodes();
     }
     // Get the rendered HTML.
     $html = ob_get_clean();
     // Render shortcodes.
     if (apply_filters('fl_builder_render_shortcodes', true)) {
         ob_start();
         echo do_shortcode($html);
         $html = ob_get_clean();
     }
     // Return the rendered HTML.
     return $html;
 }