The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

RapidApp::Web1RenderContext::ExtCfgToHtml

SYNOPSIS

  my $cx= RapidApp::Web1RenderContext->new( renderer => RapidApp::Web1RenderContext::ExtCfgToHtml->new );
  my $cfg= $module->get_complete_extconfig;
  $cx->render($cfg);

DESCRIPTION

This class is a Web1 renderer, extending RenderByType to also handle hashes based on xtype.

Most of the additional functionality comes from methods named $self->render_xtype_${XTYPE}. This module checks for methods of that name each time it encounters a new xtype, and if found, it creates a renderer around that method. Subsequent renderings of the same xtype will find the renderer in the cache, so only a few renderer instances get created.

renderAsHtml

We subclass RenderByType to first check if the data is a plain hash, and if so, whether it has a renderer (indicated by ->{rapidapp_cfg2html_renderer}) or if it has an xtype that we have a renderer for.

This functionality is performed by ->findRendererForExtCfg

Else we pass it on to the superclass (where blessed things get taken care of).