Yii 2 widget for the Froala WYSIWYG HTML Editor.

Overview

Yii Framework Froala WYSIWYG HTML Editor

Packagist Packagist

Yii 2 widget for Froala Wysiwyg editor.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist froala/yii2-froala-editor

or add

"froala/yii2-froala-editor": "^3.2.5"

to the require section of your composer.json file.

Usage

Once the extension is installed, simply use it in your code by :

<?php echo froala\froalaeditor\FroalaEditorWidget::widget([
    'name' => 'content',
    'options' => [
        // html attributes
        'id'=>'content'
    ],
    'clientOptions' => [
        'toolbarInline'=> false,
        'theme' =>'royal', //optional: dark, red, gray, royal
        'language'=>'en_gb' // optional: ar, bs, cs, da, de, en_ca, en_gb, en_us ...
    ]
]); ?>

or use with a model:

<?php echo froala\froalaeditor\FroalaEditorWidget::widget([
    'model' => $model,
    'attribute' => 'content',
    'options' => [
        // html attributes
        'id'=>'content'
    ],
    'clientOptions' => [
        'toolbarInline' => false,
        'theme' => 'royal', //optional: dark, red, gray, royal
        'language' => 'en_gb' // optional: ar, bs, cs, da, de, en_ca, en_gb, en_us ...
    ]
]); ?>

add Font-awesome cdn for font-awesome plugin

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">

Upload example

Using the basic Yii template make a new folder under /web/ called uploads.

For controler:

public function actionUpload() {
    $base_path = Yii::getAlias('@app');
    $web_path = Yii::getAlias('@web');
    $model = new UploadForm();

    if (Yii::$app->request->isPost) {
        $model->file = UploadedFile::getInstanceByName('file');

        if ($model->validate()) {
            $model->file->saveAs($base_path . '/web/uploads/' . $model->file->baseName . '.' . $model->file->extension);
        }
    }

    // Get file link
    $res = [
        'link' => $web_path . '/uploads/' . $model->file->baseName . '.' . $model->file->extension,
    ];

    // Response data
    Yii::$app->response->format = Yii::$app->response->format = Response::FORMAT_JSON;
    return $res;
}

For model:

namespace app\models;
use yii\base\Model;
use yii\web\UploadedFile;

/**
 * UploadForm is the model behind the upload form.
 */
class UploadForm extends Model
{
    /**
     * @var UploadedFile|Null file attribute
     */
    public $file;

    /**
     * @return array the validation rules.
     */
    public function rules()
    {
        return [
            [['file'], 'file']
        ];
    }
}

For the view:

<?= \froala\froalaeditor\FroalaEditorWidget::widget([
    'name' => 'body',
    'clientOptions' => [
        'toolbarInline'=> false,
        'height' => 200,
        'theme' => 'royal',//optional: dark, red, gray, royal
        'language' => 'en_gb' ,
        'toolbarButtons' => ['fullscreen', 'bold', 'italic', 'underline', '|', 'paragraphFormat', 'insertImage'],
        'imageUploadParam' => 'file',
        'imageUploadURL' => \yii\helpers\Url::to(['site/upload/'])
    ],
    'clientPlugins'=> ['fullscreen', 'paragraph_format', 'image']
]); ?>

For full details on usage, see the documentation.

Custom Buttons Example

The custom Buttons can be defined in JS files anywhere you want, in this example in /basic/assets/ folder.

In the view:

<?php $this->registerJsFile('/basic/assets/alert.js', ['depends' => '\Froala\Editor\FroalaEditorAsset']);?>

<?= \Froala\Editor\FroalaEditorWidget::widget([
    'name'          => 'body',
    'clientOptions' => [
        'toolbarInline'    => false,
        'height'           => 200,
        'theme'            => 'royal',//optional: dark, red, gray, royal
        'language'         => 'en_gb',
        'toolbarButtons'   => ['fullscreen', 'bold', 'italic', 'underline', '|', 'paragraphFormat', 'insertImage', 'alert']
    ],
    'clientPlugins' => ['fullscreen', 'paragraph_format', 'image']
]); ?>

In /basic/assets/alert.js:

FroalaEditor.DefineIcon('alert', {NAME: 'info'});
FroalaEditor.RegisterCommand('alert', {
        title: 'Hello',
        focus: false,
        undo: false,
        refreshAfterCallback: false,
        callback: function () {
            alert('Hello!');
        }
    }
);

For more details you can go to Custom Buttons

License

This package is available under MIT License. However, Froala editor requires purchasing a license from https://www.froala.com/wysiwyg-editor/pricing.

Comments
  • autoconvert urls ignores linkAutoPrefix

    autoconvert urls ignores linkAutoPrefix

    when I enable plugin 'url' it makes use of options like linkNoOpener and linkAlwaysBlank, but linkAutoPrefix doesn't seem to make a difference. It just starts every auto-converted url with //.

    the issue is that my application runs over https:// and many of my users are submitted http:// only urls.

    opened by cshehadi 6
  • Problem with Requirements

    Problem with Requirements

    Your requirements could not be resolved to an installable set of packages.

    Problem 1 - froala/yii2-froala-editor 2.3.3 requires bower-asset/froala-wysiwyg-editor 2.3.3 -> no matching package found. - froala/yii2-froala-editor 2.3.2 requires bower-asset/froala-wysiwyg-editor 2.3.2 -> no matching package found. - froala/yii2-froala-editor 2.3.1 requires bower-asset/froala-wysiwyg-editor 2.3.1 -> no matching package found. - froala/yii2-froala-editor 2.3.0 requires bower-asset/froala-wysiwyg-editor 2.3.0 -> no matching package found. - froala/yii2-froala-editor 2.2.4 requires bower-asset/froala-wysiwyg-editor 2.2.4 -> no matching package found. - froala/yii2-froala-editor 2.2.3 requires bower-asset/froala-wysiwyg-editor 2.2.3 -> no matching package found. - froala/yii2-froala-editor 2.2.2 requires bower-asset/froala-wysiwyg-editor 2.2.2 -> no matching package found. - froala/yii2-froala-editor 2.2.1 requires bower-asset/froala-wysiwyg-editor 2.2.1 -> no matching package found. - froala/yii2-froala-editor 2.2.0 requires bower-asset/froala-wysiwyg-editor 2.2.0 -> no matching package found. - froala/yii2-froala-editor 2.1.0 requires bower-asset/froala-wysiwyg-editor 2.1.0 -> no matching package found. - froala/yii2-froala-editor 2.0.5 requires bower-asset/froala-wysiwyg-editor 2.0.5 -> no matching package found. - froala/yii2-froala-editor 2.0.3 requires bower-asset/froala-wysiwyg-editor 2.0.3 -> no matching package found. - froala/yii2-froala-editor 2.0.2 requires bower-asset/froala-wysiwyg-editor 2.0.2 -> no matching package found. - froala/yii2-froala-editor 2.0.1 requires bower-asset/froala-wysiwyg-editor ^2.0 -> no matching package found. - Installation request for froala/yii2-froala-editor * -> satisfiable by froala/yii2-froala-editor[2.0.1, 2.0.2, 2.0.3, 2.0.5, 2.1.0, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.3.0, 2.3.1, 2.3.2, 2.3.3].

    Potential causes:

    • A typo in the package name
    • The package is not available in a stable-enough version according to your minimum-stability setting see https://getcomposer.org/doc/04-schema.md#minimum-stability for more details.
    opened by jfavrod 5
  • Can't get clientPlugins to work

    Can't get clientPlugins to work

    I'm not sure why, but when I use "clientPlugins," the only plugin I can get to work is "Fullscreen". I've tried loading a number of other plugins and their buttons don't end up on the toolbar - except Fullscreen, which seems to work.

    For example, using 2.3.3, on Chrome 51 and this code, I see the fullscreen button, but no paragraph menu.

    <?= \froala\froalaeditor\FroalaEditorWidget::widget([
        'model' => $model,
        'attribute' => 'Submission',
        'clientOptions' => [
            'toolbarButtons' => ['fullscreen', 'bold', 'italic', 'underline', '|', 'paragraphFormat'],
        ],
        'clientPlugins'=> ['fullscreen', 'paragraph_format'],
    ]); ?>
    

    I see that it's loading the correct js files:

    <script src="/assets/da3459a8/js/froala_editor.min.js"></script>
    <script src="/assets/da3459a8/js/plugins/fullscreen.min.js"></script>
    <script src="/assets/da3459a8/js/plugins/paragraph_format.min.js"></script>
    <script src="/assets/da3459a8/js/languages/en_gb.js"></script>
    

    and the js it generates looks ok to me:

    $('#submissiondefault-submission').froalaEditor({
        "height":"80px",
        "theme":"dark",
        "language":"en_gb",
        "toolbarButtons":["fullscreen","bold","italic","underline","|","paragraphFormat"],
        "pluginsEnabled":["fullscreen","paragraph_format"]
    });
    

    If I comment out the 'clientPlugin' line:

    <?= \froala\froalaeditor\FroalaEditorWidget::widget([
        'model' => $model,
        'attribute' => 'Submission',
        'clientOptions' => [
            'toolbarButtons' => ['fullscreen', 'bold', 'italic', 'underline', '|', 'paragraphFormat'],
        ],
     //   'clientPlugins'=> ['fullscreen', 'paragraph_format'],
    ]); ?>
    

    Then it works - I can see the paragraph format menu in the toolbar.

    But then it's loading all the js scripts for all possible plugins, which is what I'm trying to avoid.

    Does paragraph_format depend on some other file that's not getting loaded when I use clientPlugins? Can you replicate this?

    Thank you,

    -Charlie

    opened by cshehadi 5
  • Problem with custom plugin.

    Problem with custom plugin.

    Hello there.

    I am trying to add a custom plugin, but something seems quite not right. I followed the phpdoc and still couldn't manage to make it work. Here is how I was doing and my solution to the case.

    This is my code:

    # ...
    'clientPlugins'   => [
        'align', 'image', 'font_family',
        'font_size', 'image_manager', 'line_breaker',
        'link', 'lists', 'url',
        'video', 'colors', 'paragraph_format',
        'customFieldSelector' => [
            'js' => 'url_for_the_js.js'
        ]
    ],
    # ...
    

    This is the error that I receive: image [Image 1]

    If I change public $excludedPlugins; to public $excludedPlugins = [];, the following error occurs:

    image [Image 2]

    If I change public $excludedPlugins = []; to public $excludedPlugins = ['_none'];, the following error occurs:

    image [Image 3]

    If I change the line $pluginsEnabled = array_diff($this->clientPlugins, $this->excludedPlugins ?: []); to $pluginsEnabled = array_diff_assoc($this->clientPlugins, $this->excludedPlugins ?: []);, I go back to error on Image 2.

    To make everything work, I had to change the following:

    Line 42: public $excludedPlugins; to public $excludedPlugins = []; Line 100: $pluginsEnabled = array_diff($this->clientPlugins, $this->excludedPlugins ?: []); to $pluginsEnabled = array_diff_assoc($this->clientPlugins, $this->excludedPlugins ?: []); Lines 102 to 106:

    if(!empty($pluginsEnabled)){
        foreach($pluginsEnabled as $key =>$item){
            $_pluginsEnabled[$i++] = lcfirst (yii\helpers\Inflector::camelize($item));
        }
    }
    

    to

    if(!empty($pluginsEnabled)){
        foreach($pluginsEnabled as $key =>$item){
            $pluginsEnabled[$key] = lcfirst (yii\helpers\Inflector::camelize(is_array($item) ? $key : $item));
        }
        $pluginsEnabled = array_values($pluginsEnabled);
    }
    

    I am not sure if those changes are right, but it worked for me.

    opened by imgidedin 4
  • Class 'yii\froala\editor\FroalaEditorWidget' not found

    Class 'yii\froala\editor\FroalaEditorWidget' not found

    hi, i tried to install your yii2-froala-editor. I tried this one php composer.phar require --prefer-dist froala/yii2-froala-editor "*" and this way too "froala/yii2-froala-editor": "dev-master". After that i pasted the code <?php echo froala\editor\FroalaEditorWidget::widget([ 'name' => 'content', 'options'=>[// html attributes 'id'=>'content' ], 'clientOptions'=>[ 'toolbarInline'=> false, 'theme' =>'royal',//optional: dark, red, gray, royal 'language'=>'en_gb' // optional: ar, bs, cs, da, de, en_ca, en_gb, en_us ... ] ]);; ?>

    All i get is a Class 'yii\froala\editor\FroalaEditorWidget' not found error. Little help would be appreciated

    opened by ajithfort 4
  • Trying to get property of non-object for upload file

    Trying to get property of non-object for upload file

    I try to use the upload function for the extension. I tried it with the example code and with a working version of a file upload in another controller. With both options i get a 400 error where i see that the file is not uploaded.

    in imainge-min-js with formatted layout in chrome it is wrong in line 508: function G(c, d, e, f) { function g() { var e = a(this); e.off("load"), e.addClass("fr-uploading"), e.next().is("br") && e.next().remove(), b.placeholder.refresh(), w(e), k(), r(), b.edit.off(), c.onload = function() { B.call(c, e) } , c.onerror = C, c.upload.onprogress = D, c.onabort = F, e.off("abortUpload").on("abortUpload", function() { 4 != c.readyState && c.abort() }), c.send(d) } last line the error is: Failed to load resource: the server responded with a status of 400 (Bad Request) The controller code works with an upload from another model. And the error is already at the point where the file is being read in the controller: $model = new UploadForm();$model->file = UploadedFile::getInstance($model, 'file'); $image_name = $model->file->baseName . '.' . $model->file->extension; The error in the debug console is: Trying to get property of non-object and the higlighted line is the last line of the code before this ($image_name.......)

    Form widget code: <?= \froala\froalaeditor\FroalaEditorWidget::widget([ 'model' => $model, 'attribute' => 'descripcion', 'clientOptions' => [ 'toolbarInline'=> false, 'height' => 200, 'theme' => 'royal',//optional: dark, red, gray, royal 'language' => 'en_gb' , 'toolbarButtons' => ['fullscreen', 'bold', 'italic', 'underline', '|', 'paragraphFormat', 'insertImage'], 'imageUploadParam' => 'file', 'imageUploadURL' => \yii\helpers\Url::to(['site/upload/']) ], 'clientPlugins'=> ['fullscreen', 'paragraph_format', 'image'], ]); ?> `<?php namespace backend\models; use yii\base\Model; use yii\web\UploadedFile;

    /**
     * UploadForm is the model behind the upload form.
     */
    class UploadForm extends Model
    {
        /**
         * @var UploadedFile|Null file attribute
         */
        public $file;
    
        /**
         * @return array the validation rules.
         */
        public function rules()
        {
            return [
                [['file'], 'file'],
            ];
        }
    }`
    

    In this part i set some paths hard to make sure thats not the error, it already goes wrong at setting the $image_name ` public function actionUpload() { //$base_path = Yii::getAlias('@app'); //$web_path = Yii::getAlias('@web'); $model = new UploadForm();

        //if (Yii::$app->request->isPost) {
            
            
            $model->file = UploadedFile::getInstance($model, 'file');
            $image_name = $model->file->baseName . '.' . $model->file->extension;
            $image_path = '../../public_html/uploads/categorias/'.$image_name;
            $model->imagenes->saveAs($image_path);
            $res = '/uploads/categorias/'.$image_name;
            
        //}
    
        // Get file link
        $res = [
            'link' => '/uploads/categorias/'.$image_name,
        ];
    
        // Response data
        Yii::$app->response->format = Yii::$app->response->format = Response::FORMAT_JSON;
        return $res;
    }`
    

    I hope someone can help me with what the issue is.

    opened by MarcoDuizer 3
  • Problem with Upload

    Problem with Upload

    On uploading Image it give 400 bad request error My configuration is this

    <?php echo froala\froalaeditor\FroalaEditorWidget::widget([
        'model' => $model,
        'attribute' => 'description',
        'options'=>[// html attributes
            'id'=>'description'
        ],
        'clientOptions'=>[
            'toolbarInline'=> false,
            'theme' =>'royal',//optional: dark, red, gray, royal
            'language'=>'en_gb', // optional: ar, bs, cs, da, de, en_ca, en_gb, en_us ...
            'toolbarButtons' => ['fullscreen', 'bold', 'italic', 'underline', '|', 'paragraphFormat', 'insertImage'],
            'imageUploadParam'=> 'file',
            'imageUploadURL'=> \yii\helpers\Url::to(['/content-management/upload/'])
        ],
        'clientPlugins'=> ['fullscreen', 'paragraph_format', 'image']           
    ]);; ?>
    

    Controller action is :

     public function actionUpload() {
            $model = new ContentManagement();
            
            if (Yii::$app->request->isPost) {
                $model->file = UploadedFile::getInstanceByName('file');
    
                if ($model->file) {
                    $model->file->saveAs(ContentManagement::getContentPathForSave() . $model->file->baseName . '.' . $model->file->extension);
                }
            }
    
            // Get file link
            $res = array (
                'link'    => ContentManagement::getContentPathForResponse() . $model->file->baseName . '.' . $model->file->extension,
            );
    
            // Response data
            return json_encode($res);
        } ```
    opened by kamalsamra 3
  • Wrong link in response

    Wrong link in response

    Hi I use this code to upload image:

    $path = Url::to(['/up/images/']);
    $response = \FroalaEditor_Image::upload($path);
    

    but the response is like this: "up/images45052b51c36d755734c6af3b83a9e446d78acbd8.jpg" Actually the last / for dir is removed. This problem exists for every action(upload file, manage, delete).

    So I changed getList function in Image.php to this(just added DIRECTORY_SEPARATOR):

    if (in_array(mime_content_type($absoluteFolderPath . DIRECTORY_SEPARATOR . $name), $image_types)) {
        // Build the image.
        $img = new \StdClass;
        $img->url = $folderPath . DIRECTORY_SEPARATOR . $name;
        $img->thumb = $thumbPath . DIRECTORY_SEPARATOR . $name;
        $img->name = $name;
    
        // Add to the array of image.
        array_push($response, $img);
    }
    

    Do you have this problem or it's my fault?

    opened by mohsennouri 3
  • iframeStyleFiles

    iframeStyleFiles

    Hi,

    can we add the iframeStyleFiles option to this yii2 widget?

    I don't see it in the list of initClientOptions, so when I set it, it's getting ignored.

    Thanks!

    -Charlie

    opened by cshehadi 3
  • add functionality to support multiple instances in the same page

    add functionality to support multiple instances in the same page

    the main froala assets will be registered wherever widget is used. in every new instance of froala widget the engine will add the requested plugins to the active assets object. the plugins for every instance in the same page will be determined using 'pluginsEnabled' option, its value will imported from 'clientPlugins' property 'excludedPlugins' overrides 'clientPlugins' so any plugin in 'excludedPlugins' will not be used for the instance but maybe in another

    opened by shqear93 3
  • Can't pass license key as a client option

    Can't pass license key as a client option

    I'm possibly missing something, but I don't think I can pass the license key from the Yii2 widget to Froala.

    froala\froalaeditor\FroalaEditorWidget::widget([
        'model' => $model,
        'attribute' => $attribute,
        'clientOptions'=> [
        'key' => 'my_key_goes_here',
       ],
    ]
    

    If i add 'key' as one of the allowable params in FroalaEditorWidget.php on line 169, then it works.

    Was it left out by design, or can it be included in future versions of this package?

    opened by cshehadi 3
  • Issue in adding custom audio plugin ?

    Issue in adding custom audio plugin ?

    I am trying to add Audio plugin support and I am getting error in console :-

    froala-audio.js:3 Uncaught TypeError: Cannot read property 'POPUP_TEMPLATES' of undefined
    

    The code I have added for clientPlugins :-

    'clientPlugins' => [
      ......
      ......
      ......
     'video',
            'word_paste',
            'audio' =>[
                'css' => [
                    \Yii::$app->urlManager->createAbsoluteUrl([
                        '/plugin/froalaPlugins/audio/css/froala-audio.css',
                    ])
                ],
                'js' => [
                    \Yii::$app->urlManager->createAbsoluteUrl([
                        '/plugin/froalaPlugins/audio/js/froala-audio.js',
                    ])
                ]
            ],
    

    I am using this plugin for Yii2 and this plugin and trying to add for enabling audio feature

    I am not sure if I am adding this in a right way

    opened by i-internet 0
  • Font awesome is not working

    Font awesome is not working

    Description Font awesome is not working.

    Expected behavior. Font awesome should be displayed and user should able to select font-awesome icon from font-awesome menu.

    Actual behavior. Font awesome is not working.

    Editor version. Latest

    Additional resources YII font awesome

    Related issue https://github.com/froala-labs/froala-editor-js-2/issues/1902

    opened by GovardhanCel 0
  • fix CamelCase plugins fail

    fix CamelCase plugins fail

    Documentation says to use CamelCase to set up plugins, but this widget expects underscore. So currently:

    'clientPlugins' => ['fontFamily', 'fontSize'], // this causes an error
    'clientPlugins' => ['font_family', 'font_size'], // this works
    

    after this fix, you can use either CamelCase or underscore to define a plugin.

    opened by cshehadi 0
  • FroalaEditorAsset throws yii\base\Exception

    FroalaEditorAsset throws yii\base\Exception

    Hi! When i try to use this widget i get the yii\base\Exception with this message: plugin 'align' is not supported, if you trying to set custom plugin, please set 'js' and 'css' options for your plugin. When i read a source code i found next two fragments of code:

    $this->registerPlugins(array_diff($this->froalaPlugins, $excludedPlugins ?: []), false, true);
    

    and

     public function registerPlugin($pluginName, $checkJs = true, $checkCss = true)
        {
            $jsFile = "js/plugins/$pluginName.min.js";
            if ($checkJs && $this->isPluginJsFileExist($pluginName)) {
                $this->addJs($jsFile);
                $cssFile = "css/plugins/$pluginName.min.css";
                if (!$checkCss || $this->isPluginCssFileExist($pluginName)) {
                    $this->addCss($cssFile);
                }
            } else {
                $thirdPartyJsFile = "js/third_party/$pluginName.min.js";
                if($checkJs && $this->isThirdPartyPluginJsFileExist($pluginName)) {
                    $this->addJs($thirdPartyJsFile);
                    $thirdPartyCssFile = "css/third_party/$pluginName.min.css";
                    if (!$checkCss || $this->isThirdPartyPluginCssFileExist($pluginName)) {
                        $this->addCss($thirdPartyCssFile);
                    }
                }
                else {
                    throw new Exception("plugin '$pluginName' is not supported, if you trying to set custom plugin, please set 'js' and 'css' options for your plugin");
                }
                
            }
        }
    

    In method registerPlugin, when we call it with $checkJs = false we will always throw an exception. I think, we can change the registerPlugins call to use $checkJs = true:

    $this->registerPlugins(array_diff($this->froalaPlugins, $excludedPlugins ?: []), true, true);
    

    After this changing plugins starts ti work. I can make a pull request.

    bug 
    opened by floor12 0
  • how to define events with package verion 3.0.4

    how to define events with package verion 3.0.4

    I'm using widget as described in documentation. Didn't find how to define events in widget. So tried such way:

    echo \froala\froalaeditor\FroalaEditorWidget::widget([
        'name' => 'content',
        'value' => 'initial text',
        'options' => [
            // html attributes
            'id' => "froala-editor-id",
        ],
        'clientOptions' => [
            'toolbarInline'=> false,
            'attribution' => false,
            'toolbarButtons' => [
                'moreText'      => [
                    'buttons' => ['clear', 'insert', 'bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily',
                        'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle', 'clearFormatting'],
                    'buttonsVisible' => 5,
                ],
            ],
            'theme' =>'royal', //optional: dark, red, gray, royal
            'language'=>'en_gb', // optional: ar, bs, cs, da, de, en_ca, en_gb, en_us ...
            'saveParam' => 'content',
            'saveURL' => 'http://example.com/save',
            'saveMethod' =>  'POST',
            'saveParams' => ['id' => 'my_editor'],
            'events' => [
              'save.before' => 'function () {console.log("save.before");}',
            ],
        ],
        'clientPlugins' => [
            'align', 'char_counter', 'code_beautifier', 'code_view', 'colors',
            'draggable', 'emoticons', 'entities', 'file', 'font_family',
            'font_size', 'fullscreen', 'image', 'image_manager', 'inline_style',
            'line_breaker', 'link', 'lists', 'paragraph_format', 'paragraph_style',
            'quick_insert', 'quote', 'save', 'table', 'url', 'video', 'help', 'print',
            'special_characters', 'word_paste',
        ],
    ]);
    

    But it returns an error in browser console when I trigger save() event with 'clear' button. Button declaration :

      FroalaEditor.DefineIcon('clear', {NAME: 'remove', SVG_KEY: 'remove'});
      FroalaEditor.RegisterCommand('clear', {
        title: 'Clear HTML',
        focus: false,
        undo: true,
        refreshAfterCallback: true,
        callback: function (button) {
          this.html.set('');
          this.save.save();
        }
      });
    

    Error from browser console:

    Uncaught TypeError: l.opts.events[e].apply is not a function
        at Object.v [as trigger] (froala_editor.min.js?v=1566469764:formatted:809)
        at Object.a [as save] (eval at globalEval (jquery.js?v=1566403370:343), <anonymous>:7:571)
        at E.Bootstrap.callback (eval at globalEval (jquery.js?v=1566403370:343), <anonymous>:33:17)
        at Object.n [as exec] (froala_editor.min.js?v=1566469764:formatted:1187)
        at i (froala_editor.min.js?v=1566469764:formatted:5698)
        at r (froala_editor.min.js?v=1566469764:formatted:5710)
        at t (froala_editor.min.js?v=1566469764:formatted:5711)
        at E.Bootstrap.c (froala_editor.min.js?v=1566469764:formatted:5715)
        at o (froala_editor.min.js?v=1566469764:formatted:931)
        at HTMLButtonElement.<anonymous> (froala_editor.min.js?v=1566469764:formatted:936)
    

    Please explain how to define events when using FroalaEditorWidget for Yii2 php framework

    opened by glevolod 2
Releases(v4.0.16)
  • v4.0.16(Nov 22, 2022)

    • Fixed, extra leading and trailing spaces are added to pasted text
    • Fixed, bullets shown behind images when images are set to display inline and aligned left while in a bulleted list
    • Fixed, toggling the OL and UL list buttons creates additional list items.
    • Updated, missing translation in Dutch(nl) language
    • Fixed, editor view port jumps when pressing ENTER key after enabling iframe and heightMax options
    • Fixed, zIndex option is ignored for popups after exiting fullscreen mode
    • Fixed, pasted rich content in safari does not work as expected
    • Fixed, issue with number formatting in the table
    • Fixed, drop-down menu does not stays active when we use a drop down scroll from a mouse click
    • Fixed, embedded Google Documents are deleted when deleting text in the next row
    Source code(tar.gz)
    Source code(zip)
  • v4.0.15(Oct 12, 2022)

    • Fixed, the width on the image tag doesn't change when adjusting the size of the image after adding caption.
    • Fixed, deleting last character on a line makes cursor jump to previous line with ENTER_BR config.
    • Fixed, fontSizeUnit does not work when pasting from MS Excel.
    • Fixed, XSS in the Markdown feature.
    • Fixed, the table structure gets broken when clicking on table after pasting from MS word.
    • Fixed, Font Family get's reset when pressing enter even after enabling keepFormatOnDelete option
    • Fixed, BackSpace removes extra BR from editor content.
    • Fixed, the increase and decrease indent is not working with Ordered List.
    • Fixed, crash when editing content: Uncaught TypeError: Cannot read property 'classList' of null.
    Source code(tar.gz)
    Source code(zip)
  • v4.0.14(Aug 25, 2022)

    • Fixed, the increase and decrease indent is not working fine with Quote
    • Fixed, XSS when setting external content via setModel on React
    • Fixed, cannot read property row of undefined while moving a text/image outside from a table
    • Fixed, pressing enter on a link at the end removes the whole fr-view element
    • Fixed, toolbar options disabled while selecting table column using keyboard
    • Fixed, returning a string from the paste.beforeCleanup event is being ignored
    • Fixed, pressing backspace after placing cursor at the end does not work as expected
    • Fixed, XSS issue with iframe
    • Fixed, removing header from outer table removes header for all nested tables
    Source code(tar.gz)
    Source code(zip)
  • v4.0.13(Jul 8, 2022)

    • Fixed, copy-paste some standard text within editor on Chrome browser is adding a span tag with a lot of styles
    • Fixed, formatting loses on text when using arrow keys to place the cursor
    • Fixed, the bold styling is lost when entering the empty line
    • Fixed, the decrease indent is not working with table
    • Fixed, the edit pop-up does not appear when the video tag is at the top
    • Fixed, Quick Insert Button is not shown when enter: Froala Editor.ENTER_BR is enabled
    • Fixed, XSS on image url input field
    • Fixed, toggling between basic formatting like bold, italic, underline etc; causing other styles applied get reset
    • Fixed, pasting content from word causing unexpected HTML in editor
    Source code(tar.gz)
    Source code(zip)
  • v4.0.12(Jun 9, 2022)

    • Fixed, cannot remove the bordered style from an image when there's an image caption
    • Fixed, adding link on existing text inserts link at wrong position when editor is configured as htmlUntouched
    • Fixed, text selection is not working when Froala Editor is used inside a HTML table
    • Fixed, editor popups and tooltips are not displayed correctly when using inside dialog element
    • Fixed, unable to remove <br> tags using backspace when enter option is set to FroalaEditor.ENTER_BR
    • Fixed, email and URL in plain text are not converted as link while pasting content in editor
    • Fixed, wrong inline border style is applied on <td> elements of a table when reading the value/html of Froala editor
    Source code(tar.gz)
    Source code(zip)
  • v4.0.11(May 9, 2022)

    • Fixed, can't navigate with up/down arrows within a table when html is wrapped
    • Fixed, XSS vulnerability in [insert video]
    • Fixed, Iframe and script tags being removed even when htmlRemoveTags option set as empty
    • Fixed, pasting formatted tables from editor to excel is not working as expected
    • Added option to set footer for table
    • Fixed, edit.off method does not work as expected when using initOnClick option
    • Fixed, embedding Vimeo videos with privacy doesn't work in the editor
    • Fixed, "ZeroWidthSpace" appending when removing text in the editor
    • Fixed, pressing backspace does not remove formatted text when using the ENTER_BR option
    • Fixed, content lose formatting while pasting content from libre office
    • Fixed, unable to type after inserting an image to the editor on mobile devices
    • Fixed,the scroll moves from bottom to the top and lose its place when applying the "highlight" or "color text" option on text
    • Fixed, if useClasses is disabled, fr-bordered, fr-rounded and fr-shadow are not translated to the inline style
    • Fixed, applying clearFormatting on links, duplicates the link itself
    Source code(tar.gz)
    Source code(zip)
  • v4.0.10(Mar 16, 2022)

    • Fixed, paragraph getting created when setting cursor markers before a table
    • Fixed, applying bold/italic formatting on a sentence causing the first item in the bullet list next to the sentence is also getting format in bold/italic
    • Fixed, cannot read property 'nodeType' of null
    • Fixed, unable to remove paragraph before or after a table
    • Fixed, insertLink button remains active after toggling from editLinkPopup
    • Fixed, line height not working when using FroalaEditor.ENTER_BR
    • Fixed, clicking on the image shows the popup modal in wrong position
    • Fixed, horizontal scroll is hidden after pasting large content
    • Fixed, buttons getting disappeared when configuring "videoInsertButtons" from default buttons
    • Fixed, misplaced line breaks inside list block are considered as list items
    • Fixed, applying font size on selected text applies the formatting to the whole content
    • Fixed, React: Undo stack gets reset every time the model changes externally
    • Fixed, the content is hidden behind the bottom toolbar
    • Fixed, pressing URL-button on imageEditPopup causing the whole popup moves from the center of the image to the left
    • Fixed, inline toolbar takes full width of the editable content
    • Fixed, copy/paste image within editor not working in Firefox
    • Fixed, video upload get's stuck on loading video message when uploading multiple videos
    Source code(tar.gz)
    Source code(zip)
  • v4.0.9(Feb 2, 2022)

    • Track changes is disabled in the default package and it can be enabled by including the plugin file separately.
    • Fixed Froala - Knockout Framework integration issue
    • Fixed Froala - Craft CMS integration issue
    • Fixed, background color getting added for copied image with transparent background
    • Fixed, the first character cannot be converted to Japanese when typing on new line after formatted text
    • Fixed, horizontal scroll is hidden after pasting large content
    • Fixed, errors shown while applying style for content including not-editable in selection
    • Fixed trackChanges button group does not expand when using multiple editor instances
    • Fixed, blockquote does not work when ENTER_BR is used
    • Fixed, track changes enabled without the sub-menu appearing when the editor is initialised with trackChangesEnabled option set true
    • Fixed, new empty paragraph gets created when user clicks on any of the formatting buttons, if the list items are wrapped
    • Fixed, error shown in console if tried to resize editor and expand more toolbar when the track changes plugin is not enabled
    • Fixed, markdown content not converting as numbered list when there is a bulleted list exist and try to create a numbered list
    • Fixed, Backspace does not remove text when text contains multiple formatting
    • Fixed, Removing a sentence after a BR tag, does not remove the BR tag
    Source code(tar.gz)
    Source code(zip)
  • v4.0.8(Dec 20, 2021)

    • Fixed TrackChanges to work with toolbarContainer option
    • Fixed full screen view to work with inlineToolbar mode
    • Fixed selection/cursor position for text styling to work when htmlUntouched is enabled
    • Fixed high level security vulnerability in dependent packages for Node
    • Fix to extend reported textfield CSS selector for input type="number"
    • Fixed, Uncaught TypeError: Cannot read property 'split' of null while enable editor on image
    • Fixed issue, toggling between list items causing paragraph elements removed, when multiple paragraph items are wrapped inside a DIV tag
    • Fixed to handle paste and match style option in Safari browser
    • Fixed issue, cursor jumps unexpectedly when using multiple editors with toolbarInline and toolbarVisibleWithoutSelection
    Source code(tar.gz)
    Source code(zip)
  • v4.0.7(Nov 22, 2021)

    • Fixed issue with pasting multiple lines of plain text, the second and subsequent lines will be separated by br instead of DIV
    • Fixed issue, cannot upload multiple images on FireFox
    • Fixed issue, cannot switch between basic formatting on a mobile device
    • Fixed nested list from Google Docs breaks if the user presses the Enter button
    • Fixed heightMin option does not work with the markdown feature
    • Fixed issue, text getting deleted when accepting changes of background color on text
    • Fixed drag inline not working on Firefox
    • Fixed view jumps to the top when pasting content in editor after adding the CSS transform property
    • Fixed, bullet outdent/indent does not work as expected with multiple list items
    • Fixed issue, cannot delete images when enabling the trackChanges
    • Fixed issue, Uncaught TypeError: r is undefined when resizing the window on Firefox
    • Fixed issue, select all and delete not working in android with PYTHON-FLASK
    • Fixed issue, text deletion is not getting tracked in Froala editor with Knockout
    • Fixed, Table and cell styles are not applying on pasted tables from MS word
    • Fixed, Froala Editor removes multiple characters when pressing backspace
    • Fixed, contentChanged event does not trigger when pasting an image
    Source code(tar.gz)
    Source code(zip)
  • v4.0.6(Oct 19, 2021)

    • Fixed the issue Outdent button is not enabled after indent when enabling Iframe option
    • Fixed ENTER_DIV does not work as expected when enter between a sentence
    • Fixed the issue empty space appears on copy pasting from Google sheets
    • Fixed the issue link carries through to the first character of the new first list item
    • Fixed, lists behave strangely when <p> inside <li>
    • Fixed issue with pasting content from notepad, Applying font-size on pasted content does not work as expected when pastePlain and htmlUntouched options are enabled
    • Fixed, TypeError: Cannot read property 'contains' of null
    • Fixed the issue progress bar gets hidden if the editor is resized while a large file is uploading
    • Fixed issue throwing error, "Cannot read property 'tagName' of undefined" when htmlUntouched option enabled and press delete on content in some scenarios
    • Fixed issue editor freezes/crashes when selecting table cells
    • Fixed issue link getting removed on image when toggling between an image caption and start typing
    • Fixed issue cannot upload .msg files even after configuring the correct MIME type
    • Fixed issue next textbox gets inside the focused textbox while pressing delete button on a bulleted sentence
    • Fixed html.getSelected() method to work correctly with ENTER_BR or ENTER_DIV options
    • Fixed issue inserting youtube videos with the autoplay option doesn't work
    • Fixed issue editor lags when its content is selected
    • Fixed issue space after text getting removed when using keyboard shortcuts to enable and disable the basic commands (bold, italic, underline)
    • Fixed issue with selected styles (font size, font family, font color) getting reset while toggle the "Bold" tool
    • Fixed issue applying bold, italics and underline commands leaves ZeroWidthSpace on text
    Source code(tar.gz)
    Source code(zip)
  • v4.0.5(Sep 17, 2021)

    • Fixed the issue editor scrolls down if the user clicks the Enter or Backspace in iframe mode
    • Fixed issue with applying formatting on single word, Sometimes the editor applies formatting on whole paragraph or last word in firefox browser
    • Fixed adding caption to an image having inline text, the text incorporates within the image
    • Fixed Uncaught TypeError: Cannot set property 'more_btn' of undefined
    • Fixed issue pasting content from word containing bold, underline and italic text does not retain formatting
    • Fixed images won't paste into editor when imageUploadURL is specified
    • Fixed images in base64 format lose their alignment issue
    • Fixed uncaught exception when removing a table row
    • Fixed the pasted table always has borders in iframe mode
    • Fixed Table Edit Popup doesn't appear when selecting all cells when one of the table cell contains text in it.
    • Fixed issue editor cannot be initialised for the second time with ng-if directive
    • Fixed Clear formatting command does not work with some block tags elements, e.g( <h1>, <h2>, <pre>.)
    • Fixed the Indent/Outdent buttons does not work as expected
    • Fixed pasting lists from MS word is broken in IE11
    • Fixed the prompt moves down 2-3 lines when the htmlUntouched option is set to true and the font is changed
    • Fixed the issue keepFormatOnDelete prevents the creation of an empty paragraph
    • Fixed editor component returns empty divs when testing jest enzyme
    • Fixed inserting image through quick insert, does not show in track changes
    • Fixed copy and pasting a table with multiple images as base64, some of the images gets displayed twice
    • Fixed switching off the formatting button clears formatting and cursor jumps to the beginning issue on Android
    • Fixed the editor loses focus when undo after pasting a hyperlink
    • Fixed ParagraphFormat: Object doesn't support property or method 'includes' issue in IE
    Source code(tar.gz)
    Source code(zip)
  • v4.0.4(Aug 3, 2021)

    • Fixed, Reject Single Change icon is rejecting multiple changes in one click
    • Fixed, Iframe: ImageEdit popup does not appear on images when initializing the editor with predefined height.
    • Fixed, Enter_BR: Multiple characters gets deleted on backspace
    • Fixed, can't type text after pasting image
    • Fixed, pasting a image from MS word causes the editor to freeze.
    • Fixed, deleting list from table cell deletes the cell itself
    • Fixed, uploading SVG image to server, displays the image twice in the editor
    • Fixed, buttons group dropdown stopped working.
    • Fixed, the clearFormatting command does not remove style attribute
    • Fixed, after clicking on image in specific scenario the image edit popup does not appear properly
    • Fixed, pasting from Word breaks in Safari
    • Fixed, the Underline and Strikethrough styles are not working properly after highlighting text.
    • Fixed, editor scrolls to bottom on enter/backspace
    • Fixed, Froala editor scrolls up if you use enter in table
    • Fixed, IE: Remove button on textColor and backgroundColor doesn't works
    • Fixed, if user uploads PDF file via Files Manager, it is inserted into the iframe element with fr-video class
    • Fixed, Markdown: Code blocks should render the spacing, newlines, tabs and formatting.
    • Fixed, inserting image with fr-fir class and inserting caption destroys the imagEditPopup
    • Fixed, when replacing youTube video with a video from upload video, The interface throws an error.
    • Fixed, if the iframe is enabled, popups do not close if the user clicks outside the editor
    • Fixed, ENTER_BR feature
    • Fixed, when fullPage & heightMin options is enabled scroll bar doesn't appear
    Source code(tar.gz)
    Source code(zip)
  • v4.0.3(Jul 6, 2021)

    • Fixed selection lost issue on Safari while focusing the toolbar by keyboard shortcut (alt+F10)
    • Fixed the video preview issue on Safari browser
    • Fixed the issue with copy/paste base64 image from editor to editor on Safari browser
    • Fixed selection lost issue with custom popup
    • Fixed issue inserting text followed by a line break into the editor, The editor ignores the line break(<br>)
    • Fixed issue with bullet Indent/Outdent
    • Fixed embedded Twitter content is missing issue
    • Fixed issue pasting Images with some text from MSword gets pasted twice when setting the option wordPasteModal: false
    • Fixed issue with removing the 'videoReplace' and 'autoplay' buttons from the Video Edit popup
    • Fixed issue with creating list in iframe mode in IE11 browser
    • Fixed issue IE11: Object doesn't support property or method 'matches'
    • Fixed issue dropdowns has a horizontal scroll in Safari (Mac)
    • Fixed error on applying inline styles on content with nested spans in IE11 browser
    • Added translation for Table Styles and Cell Styles options
    • Fixed issue toolbar buttons disappear when replacing the image caption
    • Fixed the progress bar getting hidden issue if the editor is resized while a large file is uploading
    • Fixed issue table edit popup not opened after wrapping the table in a div tag
    Source code(tar.gz)
    Source code(zip)
  • v4.0.2(Jul 2, 2021)

    • Fixed extra space getting added after we write a line and press enter
    • Fixed when copy paste list item it pasted at place where we copied
    • Fixed when applying style , unable to click outside that style area
    • Fix when applying paragraph style and formatting like borders, the two lines appear instead of one
    • Fixed, menu gets hidden after track changes bar
    • Fix for Two vertical split labels that get shown
    • Fixed , when formatting changes are rejected, the highlighted text duplicates itself
    • Fixed, continuous deletion from 1 paragraph to another not working properly
    • Fixed, unexpected letters is adding while we write something
    • Fix in Markdown plugin , when we press enter the above text get change
    Source code(tar.gz)
    Source code(zip)
  • v4.0.1(Jun 9, 2021)

    • Fix for Track changes Toolbar sometimes not opening in Froala website
    • Fix for Table, tbody, tr, td having generic styling
    • Fix for CSS style rules for some elements which were broken
    Source code(tar.gz)
    Source code(zip)
  • v4.0.0(Jun 1, 2021)

    • Enable / Disable Track Changes
    • Show / Hide Track Changes
    • Accept Single Change feature in Track Changes
    • Reject Single Change feature in Track Changes
    • Accept ALL Changes feature in Track Changes
    • Reject ALL Changes feature in Track Changes
    • Markdown Support
    Source code(tar.gz)
    Source code(zip)
  • v3.2.7(May 19, 2021)

    • Fixed Froala editor scrolls up if you use enter in table
    • Fixed Enter_BR: Multiple characters gets deleted on backspace
    • Fixed space getting removed between link and text when loading the content with html.set method
    • Fixed uncaught TypeError: Super expression must either be null or a function, not undefined
    • Fixed , with htmlUntouched the empty character is deleted
    • Fixed blur fires if the user clicks a toolbar button in Mobile
    • Fixed , when attribution: false in Froala v3 editor appearance looks odd
    • Fixed , user cannot link the selected word if the enter option is set to BR
    • Fixed, dropdowns has a horizontal scroll in Safari (Mac)
    • Fixed, current instance loses the focus if the user clicks on the button of the shared toolbar
    • Fixed , char counter is missing when the inlineToolbar is enabled
    • Fixed, Ionic4: toolbarBottom option doesn't work
    • Fixed, cannot upload .svg image in the editor
    • Fixed, update State in functional component
    • Fixed , ImageEdit popup doesn't appear on mobile devices
    • Fixed, external javascript is not executing in the editor
    • Fixed, replace fill-available to stretch, because spec had been changed
    • Fixed, uncaught TypeError: Cannot read property 'length' of undefined
    • Fixed, MS SharePoint integration support
    • Fixed, keyboard issue on IOS device running a ionic/capacitor app on angular
    • Fixed, editor cannot be initialized for the second time with ng-if directive
    • Fixed, After setting contenteditable false, can still select the text apply features(like bold) from toolbar
    • Fixed, click on the Clean button should remove all formatting
    • Fixed, form tag removed when editor is itself contained with a form
    • Fixed, pasting a numbered list from Word resets numbers to 1
    • Fixed, pressing backspace on quoted area which contains fr-inner class, removes the whole quoted area or content.
    • Fixed, Content gets deleted on the Enter click in Safari
    • Fixed, adding image caption adds empty P tags on the above and below of the image
    • Fixed, wordPaste plugin unconditionally removes empty table cells in Chrome
    • Fixed, cannot apply an option from the dropdown
    • Fixed, image alignment does not work as expected
    • Fixed, method events.focus() does not work
    • Fixed , TypeError: Cannot read property 'classList' of null
    • Fixed, editTable popup doesn't appear on mobile devices
    • Fixed, TypeError: Cannot read property '0' of undefined
    • Fixed, after pasting the image, the user cannot type
    • Fixed Uncaught TypeError: Cannot read property 'hasOwnProperty' of null
    • Fixed, Unexpected behavior with style height: 100vh in the content when fullpage option is enabled
    • Fixed, quick insert button shows half after adding a table in fullscreen mode
    • Fixed , xss vulnerability issue
    Source code(tar.gz)
    Source code(zip)
  • v3.2.6-1(Feb 5, 2021)

    • Fixed Method events.focus() does not work.
    • Fixed Missing translation es, pt_pt, ko, pl, it.
    • Fixed Cannot insert the Font Awesome icon.
    • Fixed The preformatted text (pre tag) loses its formatting if it's pasted into the editor.
    Source code(tar.gz)
    Source code(zip)
  • v3.2.6(Jan 25, 2021)

    • Fixed Spell checker not working and missing Image Advanced Edit button in Node JS SDK
    • Fixed Unable to load any images or files Python Flask SDK
    • Fixed Upload Video not working in Rail SDk
    • Fixed On opening an uploaded file throws "HTTP status 404-Not Found" in Java SDK
    • Fixed Unable to upload images in Java SDK
    • Fixed On opening an uploaded file throws "Template is missing" in Rail SDK :
    • Fixed Image upload throwing error for "By Url and Upload Image" under 2nd & 3rd section of Editor in Node js SDK
    • Fixed Video upload throwing error for "By Url and Embed code" on Console for Save disk section in Node js SDK
    • Fixed Unable to Upload Images,videos and files under S3 editor in Python Flask SDK:
    • Fixed File upload not working for files other than pdf in .NET SDK
    • Fixed Unable to upload images through Browse option and Sample-2 Editor(Resize on Server) in Node js SDK
    • Fixed Unable to Upload the Files from File Manager Plugin in Python Flask SDK
    • Fixed Unable to remove file from disk when image is deleted from the Accept only JPEG images in Ruby SDK
    • Fixed Video are not playing under Firefox in Ruby SDK
    • Fixed Help plugin UI not inline in knockout framework
    • Fixed Color plugin issue in WordPress framework
    • Fixed Undo.saveStep() not working with React when inserting content without focusing editor
    • Fixed componentWillMount hook deprecated
    • Fixed Cell height of table not proper in CakePHP 3
    • Fixed Insert link plugin is not working properly in CakePHP 3 framework
    • Fixed Quote plugin not working properly in CakePHP 3 framework
    • Fixed Froala editor not coming up in fullscreen mode in CakePHP 3 framework
    • Fixed Paragraph format UI is different from other framework/froala editor in Yii Framework
    • Fixed Codeview not working properly in WordPress framework
    • Fixed Line Breaker not showing break icon on mouse hover at the bottom of the table In Aurelia Webpack
    • Fixed Quick insert option is not working in normal screen mode but working in full screen mode
    • Fixed Unable to access to the AppComponent members in Angular2+
    • Fixed Selection box is misplaced for embeded link in Knockout frame work
    • Fixed GatsbyJS support issue
    • Fixed Setting the content with ng-repeat, events are undefined in Angular1
    • Fixed user can't scroll with mouse wheel when editor is inside DevExpress popup
    • Fixed Unable to drag an image under Firefox in Word Press
    • Fixed Embed URL ,Advanced Edit in Image TUI, Code Beautifier not working in WordPress
    • Fixed Heading 2 does not appear with underline in paragraph formatting in WordPress
    • Fixed Maximize screen does not change the symbol to 'Restore' after maximizing E in WordPress
    • Fixed Spell checker and Image TUI not working Aurelia Integration Webpack Framework
    • Fixed Error when trying to show the editor after it is hidden, if options are defined in Angular1
    • Fixed missing plugins when Froala is imported from the vue-froala-wysiwyg,
    • Fixed quick insert not working in both master and v3 in angular framework
    • Fixed Copy-Paste options through shortcut keys not working properly in Django framework
    • Fixed Download pdf not working - across all frameworks
    • Fixed Copy paste not working as expected in Knockout framework
    • Fixed Insert link by short-cut(ctrl-k) is not working if text is not provided in URL addition.(same in master also)
    • Fixed Quick insert not visible in both master and V3 in Angular 2
    • Fixed entities plugin in Yii framework
    • Fixed Image_TUI issue across all Frameworks
    • Fixed No colors for different attributes in code view(meteor and cake2)-across all Frameworks
    
    Source code(tar.gz)
    Source code(zip)
  • v3.2.5-2(Jan 19, 2021)

    • Fixed Cannot apply an option from the dropdown
    • Fixed Cannot insert the Font Awesome icon
    • Fixed Inserting image is always added to the top instead of the cursor position
    Source code(tar.gz)
    Source code(zip)
  • v3.2.5-1(Jan 6, 2021)

    • Fixed Cannot apply an option from the dropdown
    • Fixed Image alignment does not work as expected
    • Fixed Uncaught TypeError: Cannot read property 'hasOwnProperty' of null
    • Fixed additional scrollbar appears if the editor height is less than 600px
    • Fixed Edit.off() method stopped working in V3.2.1
    • Fixed Method events.focus() does not work
    • Fixed The editor scrolls down if contains a lot of content
    • Fixed Uncaught TypeError: Cannot read property 'hasOwnProperty' of null
    • Fixed Focus and Blur events not working properly while using multiple editors in the same page
    Source code(tar.gz)
    Source code(zip)
  • v3.2.5(Dec 15, 2020)

    • Fixed Uncaught TypeError: Cannot read property 'row' of undefined
    • Fixed The imageDefaultMargin gets ignored
    • Fixed Cannot read property 'getBoundingClientRect' of undefined
    • Fixed Error when style tag includes comments on macOS
    • Fixed Method events.focus() does not work
    • Fixed toolbarButtons are not responsive to the window size
    • Fixed When font_awesome_5 is used, some font awesome icons are not visible
    • Fixed Quick insert icon is partially truncated
    • Fixed Tab can't move the text inside br tags (v3)
    • Fixed Entering hit Froala does not scrolls down to the view port
    • Fixed toolbar.esc' event doesn't trigger before hiding the toolbar on pressing Esc key
    • Fixed contentChanged event is triggered before binding is updated
    • Fixed Chrome and Tribute.js: Can't make a selection with arrows/enter inside the table
    • Fixed PastePlain option doesn't work when content form the website is pasted
    • Fixed JS error on copy-paste styled list in IE
    • Fixed File Manager popup appears automatically
    • Fixed The editor scrolls down if contains a lot of content
    • Fixed Edit.off() method stopped working
    • Fixed Uncaught ReferenceError: replace is not defined
    Source code(tar.gz)
    Source code(zip)
  • v3.2.3(Oct 30, 2020)

    Fixed XSS Vulnerability in WYSIWYG HTML Editor Fixed Edit.off() method stopped working in 3.2.1 Fixed popups.setContainer() , throws error if custom container is used Fixed Disabling bold and italic makes already inserted content unformatted Fixed Triple-click selection inside the table in Chrome Browser Fixed the ng-model as it was not working properly with the ng-required directive Fixed removing the link also removes the title Fixed In case of table inside the table, the user can't select bolded text Fix for New div tags get created on Entering click if the cursor is inside the div element Fix for Links and input fields are editable even if content editable attr is set to false Fix for The preformatted text ( tag) loses its formatting if it's pasted together with other content Fix for Delete key stopped working if the enter option is defined as entering Fix for reported XSS vulnerability in Froala Editor Fixed, Froala_editor.css in case of any broken applications Fixed, after deleting the last character, text styling is lost

    Source code(tar.gz)
    Source code(zip)
  • v3.2.2(Sep 15, 2020)

    Bug Fixes

    • Fixed Security issue: XSS via pasted content
    • Fixed Inputs on popups on mobile is not working
    • Fixed User cannot change the type of the nested list item
    • Fixed Aurelia plugin issues
    • Fixed editor load issue in Safari
    • Fixed backward slash urls issue
    • Fixed DOMException: Blocked a frame with origin...from accessing a cross-domain frame
    • Fixed SecurityError: Permission denied to access property "document" on cross-origin object
    • Fixed Problem with one of the polyfill in IE11
    • Fixed Froala formats more than the selected text in IE11 in iframe mode
    • Fixed Dropdown Selection Scrolls to top of Page in IE11
    • Fixed issue when inserting an image from image manager it loses data-* attributes
    • Fixed to show both Height and width in the change size pop-up when uploaded new image
    Source code(tar.gz)
    Source code(zip)
  • v3.2.1(Aug 5, 2020)

    Bug Fixes

    • Fixed Inserting images 1st image replaces the second(newly) added image when clicking outside image within editor when image is focused
    • Fixed Back button is missing in image replacement option
    • Fixed Shadow is not applied to inserted image
    • Fixed Can't type text after adding image
    • Fixed After setting image to display inline, User is not able to type text, Only way is to press escape key
    • Fixed Can't format more than one image caption
    • Fixed image.replaced event is not getting triggered when image is being replaced using 'Upload Image' and 'By URL' option
    • Fixed imageBack and videoBack buttons are not showing in 'Insert Image' and 'Insert Video' toolbar option
    • Fixed If the imageResizeWithPercent is enabled, user can't insert/edit image captions
    • Fixed Initialized fired before html is ready
    • Fixed Two Froalas on same page with same options but second Froala doesn't update froalaModel (Angular, Vue, React)
    • Fixed Automatically adding extra period after typing out email address
    • Fixed Inserting link fails when linkText is set to false
    • Fixed Pasting content with image between Froala windows drops whitespace in content
    • Fixed Editor buttons get disabled while dragging a image between table cells.
    • Fixed IE11: Missing buttons in image manager
    • Fixed Cursor doesn't retain its position when using a inline class feature
    • Fixed Delete key does not work for images
    • Fixed Removing caption from an image, removes a link as well
    • Fixed Can't select the image that contains the caption and the link
    • Fixed IE11: Object doesn't support property or method 'includes'
    • Fixed YouTube should only suggest videos from the same channel
    Source code(tar.gz)
    Source code(zip)
  • v3.2.0(Jul 22, 2020)

    Version 3.2.0

    • Enhanced Upload Image Feature
    • Image Upload - Drag & Drop/Click and Browse One or More Files
    • Enhanced Image Upload -Drop Image box - header action buttons
    • Enhanced Image Upload - Upload By URL
    • Enhanced Image Upload - Embed Code
    • Enhanced Image Upload - Insert
    • Enhanced Image Upload - Cancel
    • Enhanced Image Upload - Minimize
    • Enhanced Image Upload - Progress bar
    • Enhanced Image Upload - Checkbox
    • Enhanced Image Upload - File Thumbnail / Icon
    • Enhanced Image Upload -File Size
    • Enhanced Image Upload - File Actions - File Checkbox
    • Enhanced Image Upload - File Actions - File Insert
    • Enhanced Image Upload - File Actions - File Edit (only file, not image or video)
    • Enhanced Image Upload - File Actions - File Delete
    • Enhanced Image Upload - File Actions - File View
    • Enhanced Image Upload - File Actions - File Edit - Image
    • Created options and events for File Manager
    Source code(tar.gz)
    Source code(zip)
  • v2.9.8(Apr 30, 2020)

  • v2.9.7(Apr 27, 2020)

    • Improved Document Ready mode functionalities and alignment improvements, such as:
      • iFrame styling parity.
      • Improved alignment and displaying inline images.
      • Improved Toolbar alignment and placeholder in Document Ready mode.
    • Enhanced copy and paste capabilities, including:
      • Style / format maintained in lists and tables when pasted into the editor.
      • Improved copying, pasting lists, creating indentation and styling.
    • Improved content editing functionalities, such as adding descriptive text, dragging, select, delete and copy/paste formatted text inside the editor.
      • Users can now designate whether content is editable.
    • Enhanced superscript and subscript text editing feature.
    • Improved Font awesome icons.
    • Improved text inside table feature.
    • Hitting backspace won’t delete the line break anymore.
    • Improved video upload and embedding features in iOS and alignment issues in safari browser
    • Improved embedly integration.
    • Improved dropdown in android.
    • Enhanced captioning and resizing in feature images.
    • Improved alignment of toolbar over the text areas.
    • More minor bug fixes like HTMLallowed, enhanced read property of ‘nextSibling’ defined, improved enter/return Key behavior and resolved tab issues inside
      tag.
    Source code(tar.gz)
    Source code(zip)
  • v3.1.0(Jan 15, 2020)

    Hotfixes

    • Improved pasting when copying from MSWord
    • Improved formatting for bold styling
    • Improved German and French translation
    • Fixed ordered list display
    • Fixed autosave function in special conditions
    • Fixed line height selection
    • Fixed freezes UI while performing video insertion by URL or upload
    • Fixed image captions with Korean characters in IE11
    • Fixed JS error on removing a list when paragraph format button is not available
    • Fixed disappearing   if ENTER_BR is set for the enter option
    • Fixed line breaks in the image caption of an image inside list
    • Fixed uploading images via dropping image in the editor window in IE11
    • Fixed some malfunctions for tag elements
    • Fixed "Special Characters" button on mobile devices
    • Fixed inserted links with "Open in new tab" option
    • Fixed issue with uploading a new image to a FroalaEditor that initialized on an image
    • Fixed zero width spaces when no text is selected
    • Fixed missed embedded video content after re-initialization
    • Fixed striping already applied attributes in inline style
    • Fixed issue with inserted lines from the editor is shown in one page per line when pdf is downloaded
    • Fixed previously added images in the editor on mobile will not let you select them
    • Fixed issue when backspace deletes an extra empty space
    • Fixed 'template' custom HTML tag usage
    • Fixed paragraph format display after pasting content from MSWord
    • Fixed error with selection.isFull() method
    • Fixed calls for 'codeView.update' event in special conditions
    • Fixed displaying custom URI without slashes
    • Fixed 'disableRightClick' option
    • Fixed table options popup display if text is wrapped under < b >,< u >, < i >etc tag
    • Fixed character count update when froala.html.set() called
    • Fixed 'toolbarButtons' option to be responsive to editor size, not viewport size as it was
    • Fixed JS error when navigating dropdown menu with arrow keys
    • Fixed problem with nested contenteditable element and backspace
    • Fixed 'imageManagerLoadMethod' option usage with 'POST' value
    • Fixed situation when contenteditable="false" elements are editable by drag&drop
    • Fixed 'Open Link' button behavior in IE11
    Source code(tar.gz)
    Source code(zip)
Owner
Froala
Editing software for fast development with better developer and user experience in mind.
Froala
An enhanced Yii 2 widget encapsulating the HTML 5 range input (sub repo split from yii2-widgets)

yii2-widget-rangeinput The RangeInput widget is a customized range slider control widget based on HTML5 range input. The widget enhances the default H

Kartik Visweswaran 19 Mar 12, 2022
Extends Yii Menu widget

Extends Yii Menu widget. This widget offers a scrollspy and affixed enhanced navigation (upto 2-levels) to highlight sections and secondary sections in each page.

Kartik Visweswaran 15 Mar 12, 2022
DepDrop widget is a Yii 2 wrapper for the dependent-dropdown jQuery plugin by Krajee.

yii2-widget-depdrop The DepDrop widget is a Yii 2 wrapper for the dependent-dropdown jQuery plugin by Krajee. This plugin allows multi level dependent

Kartik Visweswaran 82 Nov 27, 2022
A easy way to install your basic yii projetc, we have encrypt database password in phpfile, my class with alot funtions to help you encrypt and decrypt and our swoole server install just run ./yii swoole/start and be happy!

Yii 2 Basic Project Template with swoole and Modules Yii 2 Basic Project Template is a skeleton Yii 2 application best for rapidly creating small proj

null 3 Apr 11, 2022
Date/Time Picker widget for Yii2 framework Based on Eonasdan's Bootstrap 3 Date/Time Picker

Yii2 Date/Time Picker Widget Date/Time Picker widget for Yii2 framework Based on Eonasdan's Bootstrap 3 Date/Time Picker Demo Since this is a part of

Yevhen Terentiev 8 Mar 14, 2022
Yii2 SwitchInput widget turns checkboxes and radio buttons into toggle switchinputes

Yii2 SwitchInput widget turns checkboxes and radio buttons into toggle switchinputes

Kartik Visweswaran 38 Sep 21, 2022
An enhanced FileInput widget for Bootstrap 4.x/3.x with file preview, multiple selection, and more features (sub repo split from yii2-widgets)

yii2-widget-fileinput The FileInput widget is a customized file input widget based on Krajee's Bootstrap FileInput JQuery Plugin. The widget enhances

Kartik Visweswaran 227 Nov 6, 2022
An extended bootstrap alert and alert block widget for Yii2 (sub repo split from yii2-widgets)

yii2-widget-alert This extension contains a couple of useful widgets. The Alert widget extends the \yii\bootstrap\Alert widget with more easy styling

Kartik Visweswaran 28 Mar 12, 2022
Yii 2: The Fast, Secure and Professional PHP Framework

Yii 2 is a modern framework designed to be a solid foundation for your PHP application. It is fast, secure and efficient and works right out of the bo

Yii Software 14k Dec 31, 2022
Yii 2 Bootstrap 5 Extension

Twitter Bootstrap 5 Extension for Yii 2 This is the Twitter Bootstrap extension for Yii framework 2.0. It encapsulates Bootstrap 5 components and plug

Yii Software 48 Dec 14, 2022
Yii-specific middleware

Yii Middleware The package ... Requirements PHP 8.0 or higher. Installation The package could be installed with composer: composer require yiisoft/yii

Yii Software 9 Nov 4, 2022
Yii2-symfonymailer - Yii 2 Symfony mailer extension.

Yii Mailer Library - Symfony Mailer Extension This extension provides a Symfony Mailer mail solution for Yii framework 2.0. For license information ch

Yii Software 28 Dec 22, 2022
Geography module for Yii 2

Geography module for Yii 2

Sergey Fedorov 13 Oct 20, 2018
Code generation with logic-less templates for Yii

Caviar Code generation with logic-less templates for Yii. Caviar vs Gii You might be wondering why you should use Caviar instead of Gii, so let us tak

Christoffer Niska 10 Dec 19, 2015
This extension provides a view renderer for Pug templates for Yii framework 2.0 applications.

This extension provides a view renderer for Pug templates for Yii framework 2.0 applications.

Revin Roman 9 Jun 17, 2022
Extension for creating and sending emails for the Yii PHP framework.

yii-emailer Extension for creating and sending emails for the Yii PHP framework. Usage Migrate the email_message database table by this command: yiic

Digia 12 Mar 30, 2022
This extension provides Flysystem integration for the Yii framework

This extension provides Flysystem integration for the Yii framework. Flysystem is a filesystem abstraction which allows you to easily swap out a local filesystem for a remote one.

Alexander Kochetov 276 Dec 9, 2022
Password strategies for Yii

Password strategies are specifications for how passwords should be encoded and verified and how complicated user supplied passwords should be.

Charles Pick 76 Apr 22, 2022
A magic PHP framework. Build reactive web apps without writing HTML, CSS, or JavaScript! Powered by Tailwind, Alpine, Laravel, & Livewire.

Malzahar A magic PHP framework. Build reactive web apps without writing HTML, CSS, or JavaScript! Powered by Tailwind, Alpine, Laravel, & Livewire. Re

null 26 Nov 17, 2022