Esempio n. 1
0
 /**
  * Extend ActiveField with any other generic settings ahead of rendering it
  *
  * @param ActiveField $field
  * @param string $type
  * @param array $params array of params for the field type call
  * @param string $label
  * @param string $hint
  * @param array $icon
  * @param array $tooltip
  * @param array $addon
  * @param false|array $allowClear
  * @return ActiveField
  */
 private function getInput($field, $type, $params = null, $label = null, $hint = null, $icon = null, $tooltip = null, $addon = null, $allowClear = null)
 {
     $field->setType($type);
     if ($label !== null && $label !== false) {
         $field = $field->label($label);
     }
     if ($hint !== null && $hint !== false) {
         $field = $field->hint($hint);
     }
     if ($icon !== null && $icon !== false || $tooltip !== null && $tooltip !== false) {
         $field->icon($icon, $tooltip);
     }
     if ($addon !== null && is_array($addon)) {
         $field->mergeAddon($addon);
     }
     if ($allowClear !== null && is_array($allowClear) && $allowClear) {
         $inputClearType = ArrayHelper::remove($allowClear, 'input', 'input');
         $inputClearValue = ArrayHelper::remove($allowClear, 'value', '');
         $inputClearGroupSize = ArrayHelper::remove($allowClear, 'size', '');
         $field->addClearAddOn($inputClearType, $inputClearValue, $inputClearGroupSize);
     }
     if ($params !== null) {
         $field = call_user_func_array([$field, $type], $params);
     }
     return $field;
 }