From da6145d03b9860f214e45a9f7bbf89b94547f829 Mon Sep 17 00:00:00 2001 From: Carsten Rose <carsten.rose@math.uzh.ch> Date: Fri, 3 Mar 2017 16:28:10 +0100 Subject: [PATCH] CODING.md: Update about form load. --- doc/CODING.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/doc/CODING.md b/doc/CODING.md index c53251075..f22598e9f 100644 --- a/doc/CODING.md +++ b/doc/CODING.md @@ -30,17 +30,23 @@ LOAD * (Report) * Process all <number>.[<number.>].sql statements -* Access code variables: +* Access variables: * active/valid formname: [$this->store->setVar(SYSTEM_FORM, $formName, STORE_SYSTEM);] * SIP: [$this->store->getVar('form', STORE_SIP)] * All parameters from active SIP: [$this->store->getStore(STORE_SIP)] - * Check Contstants.php for known Store members: + * Check Contstants.php for known Store *members*. * In QuickFormQuery.php the whole Form will be copied to `$this->formSpec` and depending on further processing, the - elements are available in `$this->feNative` and `$this->feAction`. - * The Form specificaton (table form) will be evaluated direct after loading. - * The FormElement specification will be evaluated later on in BuildForm*.php - + elements are available in `$this->feSpecNative` and `$this->feSpecAction`. + * The Form specificaton (table form) will be evaluated direct after loading (no `dynamicUpdate`). + * The FormElement specification will be evaluated later in BuildForm*.php: + * $formSpec, and root elements of $feSpecAction & $feSpecNative will be read in QuickFormQuery.php. + * AbstractBuildForm.php/BuildFormBootstrap.php receives a copy during instantiating of that class. + * Processing of FormElements in AbstractBuildForm.php/BuildFormBootstrap.php typically do not change values, + especially there is no evaluation, in $feSpecAction & $feSpecNative. + * *Dynamic Update*: remember, an update(=Form load) is a complete new rendering of the form in that moment. All + values/elements/notes/debug are fresh with the latest form content. + * If a form is called without a SIP (form.permitNew='always'), than a SIP is created on the fly (as a parameter in the form). * Uniq SIP for mutliple tabs with r=0 -- GitLab