123456789101112131415161718192021222324252627282930 |
- import 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/ace.js';
- ace.config.set('basePath', 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/');
- const instanceCache = {};
- export const CreateEditor = (elementId) => {
- var editor = ace.edit(elementId);
- editor.getSession().on('change',
- function () {
- DotNet.invokeMethodAsync("BlazorAceEditor", "JsCallback", elementId, "onChange", null);
- });
- instanceCache[elementId] = editor;
- DotNet.invokeMethodAsync("BlazorAceEditor", "JsCallback", elementId, "onLoad", null);
- }
- export const DestroyEditor = (elementId) => {
- instanceCache[elementId].destroy();
- delete instanceCache[elementId];
- }
- export const SetTheme = (elementId, themeName) => instanceCache[elementId].setTheme(`ace/theme/${themeName}`);
- export const SetLang = (elementId, lang) => instanceCache[elementId].session.setMode(`ace/mode/${lang}`);
- export const SetInfinityMaxLines = (elementId) => instanceCache[elementId].setOptions({ maxLines: Infinity });
- export const SetMaxLines = (elementId, maxLines) => instanceCache[elementId].setOptions({ maxLines: maxLines });
- export const SetMinLines = (elementId, minLines) => instanceCache[elementId].setOptions({ minLines: minLines });
- export const GetValue = (elementId) => instanceCache[elementId].getValue();
- export const SetValue = (elementId, value) => instanceCache[elementId].setValue(value);
- export const SetFontSize = (elementId, value) => document.getElementById(elementId).style.fontSize = `${value}px`;
- export const ClearSelection = (elementId) => instanceCache[elementId].getSession().selection.clearSelection();
|