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 #549
    In the 549th issue of ProcessWire Weekly we’re going to check out the latest core updates, highlight one older yet still very relevant third party module, and more. Read on!
    Weekly.pw / 17 November 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

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits