insolita/yii2-form-prefiller

Remember user-filled form data

2.0.0 2021-10-26 19:03 UTC

This package is auto-updated.

Last update: 2024-03-27 00:21:49 UTC


README

Remember user-filled form data, prefill forms with remembered data Usefully for remember filter/sorting preferences, or make some sticky attributes

Status

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
  ]));