protected function prepareJsAttributes()
    {
        $attributes = [];
        foreach ($this->columns as $column) {
            $model = $column->getModel();
            $inputID = str_replace(['-0', '-0-'], '', $column->getElementId(0));
            if ($this->form instanceof ActiveForm && $model instanceof Model) {
                $field = $this->form->field($model, $column->name);
                foreach ($column->attributeOptions as $name => $value) {
                    if ($field->hasProperty($name)) {
                        $field->$name = $value;
                    }
                }
                $field->render('');
                $attributeOptions = array_pop($this->form->attributes);
                if (isset($attributeOptions['name']) && $attributeOptions['name'] === $column->name) {
                    $attributes[$inputID] = ArrayHelper::merge($attributeOptions, $column->attributeOptions);
                } else {
                    $this->form->attributes[] = $attributeOptions;
                }
            } else {
                $attributes[$inputID] = $column->attributeOptions;
            }
        }

        return $attributes;
    }
protected function prepareJsAttributes()
    {
        $attributes = [];
        foreach ($this->columns as $column) {
            $model = $column->getModel();
            $inputID = str_replace(['-0', '-0-'], '', $column->getElementId(0));
            if ($this->form instanceof ActiveForm && $model instanceof Model) {
                $field = $this->form->field($model, $column->name);
                foreach ($column->attributeOptions as $name => $value) {
                    if ($field->hasProperty($name)) {
                        $field->$name = $value;
                    }
                }
                $field->render('');
                $attributeOptions = array_pop($this->form->attributes);
                if (isset($attributeOptions['name']) && $attributeOptions['name'] === $column->name) {
                    $attributes[$inputID] = ArrayHelper::merge($attributeOptions, $column->attributeOptions);
                } else {
                    $this->form->attributes[] = $attributeOptions;
                }
            } else {
                $attributes[$inputID] = $column->attributeOptions;
            }
        }

        return $attributes;
    }
protected function prepareJsAttributes ( ) { $ attributes = [ ] ; foreach ( $ this -> columns as $ column ) { $ model = $ column -> getModel ( ) ; $ inputID = str_replace ( [ '-0' , '-0-' ] , '' , $ column -> getElementId ( 0 ) ) ; if ( $ this -> form instanceof ActiveForm && $ model instanceof Model ) { $ field = $ this -> form -> field ( $ model , $ column -> name ) ; foreach ( $ column -> attributeOptions as $ name => $ value ) { if ( $ field -> hasProperty ( $ name ) ) { $ field -> $ name = $ value ; } } $ field -> render ( '' ) ; $ attributeOptions = array_pop ( $ this -> form -> attributes ) ; if ( isset ( $ attributeOptions [ 'name' ] ) && $ attributeOptions [ 'name' ] === $ column -> name ) { $ attributes [ $ inputID ] = ArrayHelper :: merge ( $ attributeOptions , $ column -> attributeOptions ) ; } else { $ this -> form -> attributes [ ] = $ attributeOptions ; } } else { $ attributes [ $ inputID ] = $ column -> attributeOptions ; } } return $ attributes ; }
Prepares attributes options for client side.

@return array
Prepares attributes options for client side .