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.