sukovanej / aceeditor-bundle
Bundle that integrate excellent JavaScript ace editor into Symfony Form.
Installs: 17
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 37
Type:symfony-bundle
Requires
- php: >=5.6
- symfony/asset: ^3.0
- symfony/expression-language: ^3.0
- symfony/form: ^3.0
- symfony/framework-bundle: ^3.0
- symfony/twig-bridge: ^3.0
- twig/twig: ^1.23|^2.0
Requires (Dev)
- phpunit/phpunit: ^5.7
- satooshi/php-coveralls: ^1.0
This package is not auto-updated.
Last update: 2024-04-28 02:06:00 UTC
README
Bundle provides a Ace editor integration into Symfony Form component.
It automatically register ace_editor
form type.
Symfony
This bundle is supporting following Symfony versions:
Composer
To use this bundle with Symfony ^3.0
, require it in Composer:
composer require "sukovanej/aceeditor-bundle" ^3.0
Register bundle in AppKernel.php
// app/AppKernel.php public function registerBundles() { return array( new Sukovanej\AceEditorBundle\SukovanejAceEditorBundle(), // ... ); }
Ace editor
Unles you do some configuration, this bundle expect Ace editor files to be in web/vendor/ace
:
cd your_project_root/web mdkir vendor && cd vendor wget https://github.com/ajaxorg/ace-builds/archive/v1.2.6.tar.gz tar -xvf v1.2.6.tar.gz mv ace-builds-1.2.6 ace rm v1.2.6.tar.gz
Usage
use Sukovanej\AceEditorBundle\Form\Type\AceEditorType; /* @var $builder \Symfony\Component\Form\FormBuilderInterface */ $builder->add('description', AceEditorType::class, array( 'wrapper_attr' => array(), // aceeditor wrapper html attributes. 'width' => '100%', 'height' => 250, 'font_size' => 12, 'mode' => 'ace/mode/html', // every single default mode must have ace/mode/* prefix 'theme' => 'ace/theme/monokai', // every single default theme must have ace/theme/* prefix 'tab_size' => null, 'read_only' => null, 'use_soft_tabs' => null, 'use_wrap_mode' => null, 'show_print_margin' => null, 'show_invisibles' => null, 'highlight_active_line' => null, 'options_enable_basic_autocompletion' => true, 'options_enable_live_autocompletion' => true, 'options_enable_snippets' => false 'keyboard_handler' => null ));
Above code will create textarea element that will be replaced with ace editor instance. Textarea value is updated on every single change in ace editor.
Configuration
This section is optional, you dont need to configure anything and the form type will still work perfectly fine
Default configuration:
# app/config/config.yml
sukovanej_ace_editor:
base_path: "vendor/ace" # notice! this is starting from "your_project_root/web"!
autoinclude: true
debug: false # sources not minified, based on kernel.debug but it can force it
noconflict: true # uses ace.require instead of require
You can also include Ace editor directly from a location that follow the same directory layout than
https://github.com/ajaxorg/ace-builds
, all you need to do is setting base_path
option:
sukovanej_ace_editor:
base_path: "http://rawgithub.com/ajaxorg/ace-builds/master"