(function ($, Drupal) {
"use strict";
Drupal.behaviors.openlayers_editor = {
attach: function (context, settings) {
$('textarea[data-editor]').each(function () {
var textarea = $(this);
var mode = textarea.data('editor');
var editDiv = $('
', {
position: 'absolute',
width: textarea.width(),
height: textarea.height(),
'class': textarea.attr('class')
}).insertBefore(textarea);
textarea.css('visibility', 'hidden');
textarea.css('display', 'none');
var editor = ace.edit(editDiv[0]);
editor.renderer.setShowGutter(true);
editor.renderer.setDisplayIndentGuides(true);
editor.renderer.setShowInvisibles(true);
editor.session.setUseSoftTabs(true);
editor.getSession().setValue(textarea.val());
editor.getSession().setMode("ace/mode/" + mode);
editor.setTheme("ace/theme/textmate");
// copy back to textarea on form submit...
textarea.closest('form').submit(function () {
textarea.val(editor.getSession().getValue());
});
});
}
};
}(jQuery, Drupal));