Project

General

Profile

Actions

Renderer Refactoring » History » Revision 2

« Previous | Revision 2/11 (diff) | Next »
Philipp Gröbelbauer, 12.06.2024 11:24


Renderer Refactoring

Branch: https://git.math.uzh.ch/typo3/qfq/-/tree/F17252_Renderer_Refactoring

Motivation

To achieve a more modern look and feel, QFQ Forms should support Bootstrap 5 in addition to the previously used Bootstrap 3.
However, implementing this functionality into the current codebase while still practicing "clean code" is not possible.
Therefore the current code is being refactored to support future expansion.

Concept

Previously, preparation and rendering of the form with all its form elements was handled in AbstractBuildForm.php and BuildFormBootstrap.php.
The new concept introduces many new classes, making the code much more modular.
Most notably: Separating Configuration and Rendering of Form and FormElements !
By doing this, new Renderer Classes can be implemented in the future, which use the same AbstractFormElement objects to render the element in a different way (e.g. Bootstrap 5).

The class diagram below shows the full concept:

Updated by Philipp Gröbelbauer 18 days ago · 2 revisions