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).