DownloadForm assistant
Remember user-filled form data, prefill forms with remembered data
Usefully for remember filter/sorting preferences, or make some sticky attributes 
  
Installation
The preferred way to install this extension is through composer. 
Either run 
composer require --prefer-dist insolita/yii2-form-prefiller "~1.0"
 
or add 
"insolita/yii2-form-prefiller": "~0.0.1"
 
to the require section of your composer.json file. 
Usage
Once the extension is installed, configure component  : 
'components'=>[
    'prefiller' => [
            'class'   => \insolita\prefiller\FormPrefiller::class,
            'storage' => [
            //one of storage types - db,session,cookie,redis supported
                'class'    => \insolita\prefiller\storages\CookieStorage::class,
            ],
        ],
]
 
Support ActiveRecord models,yii\base\Model,DummyModel 
Remember $model data in storage 
   Yii::$app->prefiller->persist($model, new PrefillConfig([]));
 Fill $model from storage 
  Yii::$app->prefiller->fillFromStorage($model, new PrefillConfig([
       'skipFromStorageAttributes'=>['someAttr'],
       'validateStorage'=>false
  ]));
 
Fill model from request->fillFromStorage->fillDefaults->persist if request update model 
  $filter = new DummyModel(['page','sort','sortOrder','searchQuery','viewMode']);
  Yii::$app->prefiller->fill($filter, new PrefillConfig([
       'method'=>'get',
       'defaults'=>['sort'=>'price','sortOrder'=>'desc','viewMode'=>'grid']
       'skipFromRequestAttributes'=>['searchQuery'],
       'validateRequest'=>true
  ]));
 
 |