Re: Yii2 Imperavi Redactor
Добавлено: 2017.04.26, 17:57
Код: Выделить всё
setMarker: function (range, node, type) {
var nclone = window.getSelection().getRangeAt(0).cloneRange();
range = range.cloneRange();
try {
var selection = window.getSelection();
range.collapse(type);
range.insertNode(node);
selection.removeAllRanges();
selection.addRange(nclone);
}
catch (e)
{
this.focus.setStart();
}
},
Ох, как я обрадовался, когда это увидел. Действительно, в последних Crome нереально работать с этим редактором. Внёс изменения в redactor.js и также снова расстроился от того, что это не помогло.
Ох блин спасибо, я уже думал редактор идти менять. Столько лет все прекрасно работало, а тут что то перестало.nikitakls писал(а): ↑2017.05.12, 11:47 Тоже не против продлить лицензию на редактор.
Наверное нужно создать отдельную тему по сбору средств на него.
В последних версих Chrome для 10.2.5 версии очень криво работает выделение текста и другие функции.
Удалось починить следующим образом (может кому пригодиться):
Нужно заменить функции setMarker на эту реализацию:Код: Выделить всё
setMarker: function (range, node, type) { var nclone = window.getSelection().getRangeAt(0).cloneRange(); range = range.cloneRange(); try { var selection = window.getSelection(); range.collapse(type); range.insertNode(node); selection.removeAllRanges(); selection.addRange(nclone); } catch (e) { this.focus.setStart(); } },
Код: Выделить всё
// DefaultController.php
public function actions()
{
return [
'images-get' => [
'class' => 'vova07\imperavi\actions\GetImagesAction',
'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored.
'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored.
],
'image-upload' => [
'class' => 'vova07\imperavi\actions\UploadFileAction',
'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored.
'path' => '@alias/to/my/path', // Or absolute path to directory where files are stored.
],
'file-delete' => [
'class' => 'vova07\imperavi\actions\DeleteFileAction',
'url' => 'http://my-site.com/statics/', // Directory URL address, where files are stored.
'path' => '/var/www/my-site.com/web/statics', // Or absolute path to directory where files are stored.
],
];
}
// View.php
echo \vova07\imperavi\Widget::widget([
'selector' => '#my-textarea-id',
'settings' => [
'lang' => 'ru',
'minHeight' => 200,
'imageUpload' => Url::to(['/default/image-upload']),
'imageDelete' => Url::to(['/default/file-delete']),
'imageManagerJson' => Url::to(['/default/images-get']),
],
'plugins' => [
'imagemanager' => 'vova07\imperavi\bundles\ImageManagerAsset',
],
]);
Код: Выделить всё
<?= $form->field($model, 'description')
->widget(Widget::classname(), [
'settings' => [
'lang' => 'ru',
'plugins' => ['fullscreen']
]
]
)
->label('Описание:') ?>
Код: Выделить всё
use yii\widgets\ActiveForm;
use yii\helpers\Html;
use vova07\imperavi\Widget;