diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-05-24 05:06:01 +0300 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-05-24 05:06:01 +0300 |
| commit | 63dc17d0abc398c135f6d049d28174c3925416c9 (patch) | |
| tree | 3c68552b737096b073368ac8d874b0cd46640adb /public/app/controllers/JsonToForm.php | |
| parent | 2f5f034a97fd39b372d9c23b1b04db74c4469f22 (diff) | |
| download | gyraf1gov-63dc17d0abc398c135f6d049d28174c3925416c9.tar.gz gyraf1gov-63dc17d0abc398c135f6d049d28174c3925416c9.tar.bz2 gyraf1gov-63dc17d0abc398c135f6d049d28174c3925416c9.zip | |
forming default values for auto fields
Diffstat (limited to 'public/app/controllers/JsonToForm.php')
| -rw-r--r-- | public/app/controllers/JsonToForm.php | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/public/app/controllers/JsonToForm.php b/public/app/controllers/JsonToForm.php index f6e9746..1e0b99b 100644 --- a/public/app/controllers/JsonToForm.php +++ b/public/app/controllers/JsonToForm.php @@ -113,25 +113,28 @@ class JsonToForm return (mb_strlen($str) > $len) ? mb_substr($str, 0, $len-1) ."…" : $str; } + /** json_form - * + * ------------------------------------------------------------------------- * construct a form (html, javasctipt) * from a json designer * - * @param $formJson (Std Object): form descriptor - * @param $require_identity (array): array of properties and values; + * @param stdClass $formJson : form descriptor + * + * @param array $require_identity : array of properties and values; * they identify the record; injected into form as hidden fields - * @param $source (array): array of [key => value] pairs, where ... - * `key`: the name of field, `value`: the default value of this field + * + * @return array [ html=>(string), init_js=>(string), values_js=>String ] + * ------------------------------------------------------------------------- */ - public static function json_form($formJson, $require_identity = [], $source = []) + public static function json_form($formJson, $require_identity = []) { // $formJson = json_decode(json_encode($form)); $default_outer = $formJson->defaults->outer_class ?? ''; $default_inner = $formJson->defaults->inner_class ?? ''; $default_type = $formJson->defaults->type ?? 'text'; - $default_values = $formJson->defaults->values ?? ((object) ['nothing' => true]); + $default_values = $formJson->defaults ?? ((object) ['nothing' => true]); // TODO handle $form->defaults->source; @@ -186,9 +189,16 @@ class JsonToForm // handle value assignment if (isset($field->value)) { // if value property is set $set_value = true; // (flag: value seted) - $value = (($field->value == 'auto') && isset($default_values->$name)) - ? $default_values->$name // set auto value - : $field->value; // or other set-value + $value = $field->value; + // $value = (($field->value == 'auto') && isset($default_values->$name)) + // ? $default_values->$name // set auto value + // : $field->value; // or other set-value + + } else if (in_array('auto', $attributes) && isset($default_values->$name)) { + $set_value = true; // (flag: value seted) + $value = $default_values->$name; // set auto value + // echo "\n{$name}: $value"; + } else { $set_value = false; } |
