Ferreteria/v0.5/portrow/disp: Difference between revisions

From Woozle Writes Code
< Ferreteria‎ | v0.5‎ | portrow
Jump to navigation Jump to search
No edit summary
No edit summary
Line 11: Line 11:
As with the {{l/ver|PortCard/disp|PortCard display}} classes, the PortRow display classes handle user I/O formats; see {{l/ver|PortCard/disp}} for additional details.
As with the {{l/ver|PortCard/disp|PortCard display}} classes, the PortRow display classes handle user I/O formats; see {{l/ver|PortCard/disp}} for additional details.


TO DO: need a subclass for handling multiple display-modes. Transcribe today's rubberducking into a post.
There is a {{l/sub|dual}} subclass for handling cases where we want to be able to display either single records as a page or multiple records.
==Required Methods==
==Required Methods==
(listing not necessarily complete)
(listing not necessarily complete)
Line 21: Line 21:
** '''CardClass()''' : string
** '''CardClass()''' : string
** '''ContentTemplateString()''' : string - must return a string template which shows how a given row's data should be presented
** '''ContentTemplateString()''' : string - must return a string template which shows how a given row's data should be presented
** '''RenderRows_head()''' : string (this should probably be renamed...)
==Thinking==
==Thinking==
The templating system is managed by the Rows classes rather than Card classes because we don't want to be creating the Template object over and over again when we're displaying multiple rows. Once you establish that, then it also makes sense for the template string to be defined by the Rows class as well.
The templating system is managed by the Rows classes rather than Card classes because we don't want to be creating the Template object over and over again when we're displaying multiple rows. Once you establish that, then it also makes sense for the template string to be defined by the (Display) Rows class as well.

Revision as of 19:29, 30 May 2022

Navigation: PortBank : PortRow :

Native
Display
Storage

code: data/fields/rows/display/display.php, data/fields/rows/display/display.bimode.php

About

As with the PortCard display classes, the PortRow display classes handle user I/O formats; see PortCard/disp for additional details.

There is a dual subclass for handling cases where we want to be able to display either single records as a page or multiple records.

Required Methods

(listing not necessarily complete)

  • Events:
    • OnCreateElements(F\evint\caEvent $oe) : void
    • OnRunCalculations(F\evint\caEvent $oe) : void
    • Render(F\evint\caEvent $oe) : void
  • Config:
    • CardClass() : string
    • ContentTemplateString() : string - must return a string template which shows how a given row's data should be presented

Thinking

The templating system is managed by the Rows classes rather than Card classes because we don't want to be creating the Template object over and over again when we're displaying multiple rows. Once you establish that, then it also makes sense for the template string to be defined by the (Display) Rows class as well.