File: /home/greer489/public_html/wp-content/themes/betheme/visual-builder/assets/js/forms/fields/ace.js
function mfn_field_ace(field = false) {
let html = `<div class="mfn-ace-editor-wrapper"><pre id="editor"></pre></div>`;
setTimeout(function() {initAceEditor(field);}, 50);
return html;
}
function initAceEditor(field = false) {
ace.require("ace/ext/language_tools");
var editor = ace.edit("editor");
editor.session.setMode("ace/mode/html");
if( jQuery('#mfn-visualbuilder').hasClass('mfn-ui-dark') ){
editor.setTheme("ace/theme/tomorrow_night");
}else{
editor.setTheme("ace/theme/tomorrow");
}
editor.setOptions({
minLines: 20,
maxLines: Infinity,
showGutter: true,
useWorker: true,
wrap: true,
enableBasicAutocompletion: true,
enableLiveAutocompletion: true
});
if( _.has(edited_item['attr'], field.id) && edited_item['attr'][field.id].length ){
editor.setValue( edited_item['attr'][field.id] );
}
editor.session.on('change', function(delta) {
var val = editor.getValue();
if( !val ){
$content.find('.mcb-item-'+edited_item.uid+' .mfn-html-editor-wrapper').html('<div class="mfn-widget-placeholder"><img class="item-preview-image" src="'+mfn.themepath+'/visual-builder/assets/_dark/svg/items/code.svg" alt=""></div>');
}else{
let ready_html = val
.replaceAll('<!DOCTYPE html>', '')
.replaceAll('<html', '<div')
.replaceAll('<head>', '')
.replaceAll('</head>', '')
.replaceAll('<body', '<div')
.replaceAll('</body>', '</div>')
.replaceAll('</html>', '</div>');
$content.find('.mcb-item-'+edited_item.uid+' .mfn-html-editor-wrapper').html(ready_html);
}
if( !_.has(edited_item, 'attr') ) edited_item.attr = {};
edited_item.attr[field.id] = val;
});
}