Skip to content

Pell.JS smallest WYSIWYG text editor YIIi2 widget. Text editor for web - only 3.54kB size.

License

Notifications You must be signed in to change notification settings

coderius/yii2-pell-widget

Repository files navigation

Pell content WYSIWYG editor Widget for Yii2

Latest Version Software License Code Coverage Code Quality Code Intelligence Status Build Status Build Status travis

Renders a Pell WYSIWYG text editor plugin widget.

Live demo

Installation

The preferred way to install this extension is through composer.

Either run

composer require coderius/yii2-pell-widget:"~1.0"

or add

"coderius/yii2-pell-widget" : "~1.0"

to the require section of your application's composer.json file.

Usage

For example to use the pell editor with a [[\yii\base\Model|model]]:

echo Pell::widget([
   'model' => $model,
   'attribute' => 'text',
]);

Inside form without model:

$value = 'textarea some content';

echo \coderius\pell\Pell::widget([
   'name' => 'textarea-name',
   'value'  => $value,
   'clientOptions' =>[]
]);

The following example will used not as an element of form:

echo Pell::widget([
  'asFormPart'  => false,
  'value'  => $value,
  'clientOptions' =>[
      'onChange' => new JsExpression(
          "html => {
              console.log(html);
          },"
      )
  ]
]);

You can also use this widget in an [[\yii\widgets\ActiveForm|ActiveForm]] using the [[\yii\widgets\ActiveField::widget()|widget()]] method, for example like this:

use coderius\pell\Pell;

<?= $form->field($model, 'text')->widget(Pell::className(), []);?>

About ClientOptions

Please, remember that if you are required to add javascript to the configuration of the js plugin and is required to be plain JS, make use of JsExpression. That class was made by Yii for that specific purpose. For example:

// Having the following scenario
<script> 
    function jsFunctionToBeCalled() {
        // ...
    }
</script>

<?= $form->field($model, 'content')->widget(Pell::className(), [
        'clientOptions' => [
            'defaultParagraphSeparato' => 'div',

            // ...

            'actions' => [
                'bold',
                'italic',
                'underline',
                'strikethrough',
                'heading1',
                'heading2',
                'paragraph',
                'quote',
                'olist',
                'ulist',
                'code',
                'line',
                'link',
                'image',
                [
                    'name'   => 'backColor',
                    'icon'   => '<div style="background-color:pink;">A</div>',
                    'title'  => 'Highlight Color',
                    // this will render the function name without quotes on the configuration options of the plugin
                    'result' => new JsExpression('jsFunctionToBeCalled')
                ],
            ],
            
            // ...
        ]
        
    ]
]); ?>

Examples widget usage

Please see Examples usage in yii2 view files for more examples.

Testing

$ phpunit

Further Information

Please, check the Pell plugin github documentation for further information about its configuration options.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

Web development has never been so fun!
coderius.biz.ua

About

Pell.JS smallest WYSIWYG text editor YIIi2 widget. Text editor for web - only 3.54kB size.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages