public function select($name, $list = [], $selected = null, $options = []) { if (is_arrayish($name)) { $name = keyVal('name', $name); $list = keyVal('list', $name, $list); $selected = keyVal('selected', $name, $selected); $options = keyVal('options', $name, $options); } $options = $this->cleanAttributes($options); $selected = $options['selected'] = $this->fieldValueTemplate($name); $options['name'] = keyVal('name', $options, $name); $options['data-selected'] = $selected; return parent::select($name, $list, $selected, $options); }
public function mkInputFromDef($args = []) { $name = keyVal('name', $args); $value = keyVal('value', $args); $def = keyVal('def', $args); $type = 'text'; $params = []; $options = []; #Parse $def - can be many forms if (is_string($def)) { $type = $def; } else { if (is_array($def)) { $type = keyVal('type', $def, keyVal(0, $def, 'text')); $params = keyVal('params', $def, keyVal(1, $def, $def)); $options = keyVal('options', $params, $params); } } $inp = new PkHtmlRenderer(); if ($type === 'select') { $list = keyVal('list', $params); unset($params['list']); return $inp->select($name, $list, $value, $options); } else { if ($type === 'textarea') { return $inp->textarea($name, $value, $options); } else { if ($type === 'boolean') { return $inp->boolean($name, $value, $options); } else { return $inp->input($type, $name, $value, $options); } } } }