Saeed Vaziry d1f2add699 - 2.x - sites (wip)
- improved ssh error handling
- database soft deletes
2024-10-04 21:34:07 +02:00

49 lines
1.5 KiB
JavaScript

import ace from "brace";
import "brace/mode/ini";
import "brace/ext/searchbox";
import "../ace-editor/theme-vito";
import "../ace-editor/mode-env";
import "../ace-editor/mode-nginx";
export default (Alpine) => {
Alpine.data("codeEditorFormComponent", ({ state, options }) => {
return {
state,
options,
init: function () {
this.render();
},
render() {
this.editor = null;
const editorValue = JSON.parse(this.options.value || "");
this.editor = ace.edit(this.options.id);
this.editor.$blockScrolling = Infinity;
this.editor.setTheme("ace/theme/vito");
this.editor.setValue(editorValue, -1);
this.editor
.getSession()
.setMode(`ace/mode/${this.options.lang || "plain_text"}`);
this.editor.clearSelection();
this.editor.focus();
this.editor.setOptions({
printMargin: false,
});
this.editor.renderer.setScrollMargin(15, 15, 0, 0);
this.editor.renderer.setPadding(15);
this.editor.getSession().on("change", () => {
this.state = this.editor.getValue();
});
window.addEventListener("resize", () => {
this.editor.resize();
});
this.state = editorValue;
},
};
});
};