A highly configurable and flexible ACE editor input field for ProcessWire
Inputfield Ace Extended
Version 1.0.3
A highly configurable and flexible Ace editor input field for ProcessWire 2.5.5+
and 3.0.0+
This module is sponsored in part by Nibiri, aka forum member Macrura.
See this short Screencast to get an overview.
Usage via API
$ace = $modules->get('InputfieldAceExtended');
$ace->label = 'An Ace Field';
$ace->name = 'ace';
$ace->value = json_encode($someArray, JSON_PRETTY_PRINT);
$ace->collapsed = Inputfield::collapsedYes;
$ace->rows = 10;
$ace->enableLocalStorage = false;
$ace->mode = 'json';
$ace->optionsCollapsed = Inputfield::collapsedHidden;
$ace->theme = 'tomorrow';
$ace->setAdvancedOptions(array(
'highlightActiveLine' => false,
'showLineNumbers' => false,
'showGutter' => false,
'tabSize' => 2,
'printMarginColumn' => false,
));
$ace->setExtensionOptions(array(
'enableEmmet' => true
));
Changelog
1.1.3
Expose $textarea.getAce()
to get the editor instance1.0.0
- Use no-conflict version of ace
- Implement possibility to add built-in extensions, by default emmet is enabled
- Apply PHP code refactoring
0.5.0
- Enable field to be instantiated via
API
- Add interval check on
editor.renderer.lineHeight
and only initialize everything via callback when it is available - Add option to enable/disable
localStorage
- Make
advancedOptions
use the the Inputfield itself, INCEPTION!
0.4.0
Move advanced options into one dimensional hash, rather that in sub objects like editor
, session
etc.0.3.0
Add possibility to apply advanced options via JSON string in a separate field setting0.2.0
Add possibility to clear localStorage, add cookie fall-back0.1.0
Initial version
Roadmap
- Enable ajax mode
- Add full screen mode
- Expose a jQuery API for resizing, setting row count etc.
1.1.3
Expose$textarea.getAce()
to get the editor instance1.0.0
- Use no-conflict version of ace
- Implement possibility to add built-in extensions, by default emmet is enabled
- Apply PHP code refactoring
0.5.0
- Enable field to be instantiated via
API
- Add interval check on
editor.renderer.lineHeight
and only initialize everything via callback when it is available - Add option to enable/disable
localStorage
- Make
advancedOptions
use the the Inputfield itself, INCEPTION!
- Enable field to be instantiated via
0.4.0
Move advanced options into one dimensional hash, rather that in sub objects likeeditor
,session
etc.0.3.0
Add possibility to apply advanced options via JSON string in a separate field setting0.2.0
Add possibility to clear localStorage, add cookie fall-back0.1.0
Initial version
Roadmap
- Enable ajax mode
- Add full screen mode
- Expose a jQuery API for resizing, setting row count etc.
Install and use modules at your own risk. Always have a site and database backup before installing new modules.