InputfieldAceExtended by Horst Nogajski

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 instance
  • 1.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 setting
  • 0.2.0 Add possibility to clear localStorage, add cookie fall-back
  • 0.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.

Latest news

  • ProcessWire Weekly #543
    In the 543rd issue of ProcessWire Weekly we'll check out the latest weekly update from Ryan, introduce a couple of new third party modules — both authored by Bernhard Baumrock — and more. Read on!
    Weekly.pw / 5 October 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer