• Christian Kuhn's avatar
    [TASK] FormEngine: The factory · 86f42bc5
    Christian Kuhn authored
    Creation of container and elements instances in the FormEngine is
    hard coded and hard to overwrite or adapt.
    The patch extends the existing NodeFactory with resolver code to
    find an appropriate class for a given requested type. All FormEngine
    internal container and element requests are now routed through
    NodeFactory. This allows to loosen the strict dependency between
    TCA config "type" to an implementing class by moving the resolving
    code into the factory. This is done for SelectElement which is now
    split into multiple smaller classes - one for each display type. The
    NodeFactory is covered by unit tests since the resolving code will
    become more complex and fine grained in the future.
    As a side effect the patch resolves a hack in the FormDataTraverser
    which no longer calls internal stuff of the select element.
    The NodeFactory is prepared to be extended with an API for extensions
    to steer and overwrite default implementations. This will be added
    with a next patch.
    
    Change-Id: I2253a0fe3240366d0d271a3cd82119ce3dc52012
    Resolves: #67006
    Releases: master
    Reviewed-on: http://review.typo3.org/39517
    
    Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
    Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
    86f42bc5