Ferreteria/v0.5/layout/event

From Woozle Writes Code
< Ferreteria‎ | v0.5‎ | layout
Revision as of 13:23, 15 July 2022 by Woozle (talk | contribs)
Jump to navigation Jump to search

About

The layout system provides classes to encapsulate the rendering of serial-text output, working from the most general output concepts down to specific HTML tags. It should be adaptable to other forms of markup.

The basic layout classes use the ferret\layout namespace.

Methods

Events: general

  • ShouldDoTwigs(): protected function ShouldDoTwigs() : bool
    • Action: Determine whether events (including rendering) should be passed down to twigs. This typically returns a flag that is set during the calculations event.

Events: rendering

  • OnRender(): public function OnRender(cEventNodeRender $oe) : void
    • This is the optional dispatch method which the rendering event looks for. If present, it is called.
  • RenderOutput(): public function RenderOutput() : string
    • Action: Assemble the entirety of the object's output, including any twigs.
  • RenderValue(): protected function RenderValue() : string
    • Action: Assemble the object's own output (separate from twig outputs).
  • RenderBranch(): protected function RenderBranch() : string:
    • Action: Assemble the twig outputs, applying any whole-list formatting (e.g. <ul>) or conditionals.
  • RenderTwigs(): protected function RenderTwigs() : string
    • Action: Assemble the basic twig outputs, applying any list-item formatting (e.g. <li>.

The canonical/typical method tree for rendering:

This tree can be overridden at any point, but generally it's best to do so at the lowest level in order to cause the least disruption to offspring classes.