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.

Twitter updates

  • Adding custom actions to ProcessWire image fields in the admin, part of this week’s dev branch additions: More
    27 January 2023
  • ProcessWire 3.0.210 new main/master version released— More
    6 January 2023
  • ProcessWire 3.0.209: Core updates and an interesting AI that knows ProcessWire– More
    30 December 2022

Latest news

  • ProcessWire Weekly #456
    The 456th issue of ProcessWire Weekly covers latest core updates, introduces a new third party module called TextformatterRockDown, and more. Read on!
    Weekly.pw / 4 February 2023
  • ProcessWire 3.0.210 new main/master version
    140 commits, 55 resolved issues, dozens of new features, eight contributors, and five new pull requests make yet another great new version of ProcessWire.
    Blog / 6 January 2023
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer