conquer / codemirror
Yii2 codemirror 小部件
2.0.2
2022-07-19 07:11 UTC
Requires
- php: >=5.4.0
- bower-asset/codemirror: ^5
- conquer/helpers: ~2.0.8
- yiisoft/yii2: *
README
描述
CodeMirror 是一个基于 JavaScript 实现的适用于浏览器的多用途文本编辑器。它专门用于代码编辑,并附带多种语言模式和插件,实现更高级的编辑功能。更多详情请访问 CodeMirror
安装
安装此扩展的首选方式是通过 composer。
安装方法如下:
$ php composer.phar require conquer/codemirror "*"
或者添加以下内容到你的 composer.json
文件的 require
部分:
"conquer/codemirror": "*"
使用
use conquer\codemirror\CodemirrorWidget; $form->field($model, 'code')->widget( CodemirrorWidget::className(), [ 'preset'=>'php', 'options'=>['rows' => 20], ] );
你可以使用现成的预设,也可以创建自己的。为此,指定你的预设文件夹。
use conquer\codemirror\CodemirrorWidget; $form->field($model, 'code')->widget( CodemirrorWidget::className(), [ 'presetsDir'=>'/path_to_your_presets', 'preset'=>'sql', ] );
通常,你可以通过直接指定属性来定制小部件。
use conquer\codemirror\CodemirrorWidget; use conquer\codemirror\CodemirrorAsset; $form->field($model, 'code')->widget( CodemirrorWidget::className(), [ 'assets'=>[ CodemirrorAsset::MODE_CLIKE, CodemirrorAsset::KEYMAP_EMACS, CodemirrorAsset::ADDON_EDIT_MATCHBRACKETS, CodemirrorAsset::ADDON_COMMENT, CodemirrorAsset::ADDON_DIALOG, CodemirrorAsset::ADDON_SEARCHCURSOR, CodemirrorAsset::ADDON_SEARCH, ], 'settings'=>[ 'lineNumbers' => true, 'mode' => 'text/x-csrc', 'keyMap' => 'emacs' ], ] );
JavaScript
要从 JavaScript 访问 CodeMirror 实例,你可以使用 CodeMirror.instances[] 。示例
var instanceName = document.getElementById('textarea-id').dataset.codeMirror; var cm = CodeMirror.instances[instanceName]; var code = cm.getValue(); // Get the current editor content /* cm.save(); // Copy the content of the editor into the textarea cm.toTextArea(); // Remove the editor, and restore the original textarea */
许可证
conquer/codemirror 在 MIT 许可证下发布。有关详细信息,请参阅附带文件 LICENSE.md
。