Просмотр исходного кода

fix: pass context to autocompletions getter

version-14
Faris Ansari 3 лет назад
Родитель
Сommit
aa1fefee28
1 измененных файлов: 22 добавлений и 22 удалений
  1. +22
    -22
      frappe/public/js/frappe/form/controls/code.js

+ 22
- 22
frappe/public/js/frappe/form/controls/code.js Просмотреть файл

@@ -71,33 +71,21 @@ frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlTex
if (this._autocompletion_setup) return; if (this._autocompletion_setup) return;


const ace = window.ace; const ace = window.ace;
const get_autocompletions = () => {
let getters = this._autocompletions || [];
let completions = [];
for (let getter of getters) {
let values = getter()
completions.push(...values);
}
return completions;
}

ace.config.loadModule("ace/ext/language_tools", langTools => {
this.editor.setOptions({
enableBasicAutocompletion: true,
enableLiveAutocompletion: true
});

langTools.addCompleter({
getCompletions: customGetCompletions || getCompletions
});
});
this._autocompletion_setup = true;


function getCompletions(editor, session, pos, prefix, callback) {
let getCompletions = (editor, session, pos, prefix, callback) => {
if (prefix.length === 0) { if (prefix.length === 0) {
callback(null, []); callback(null, []);
return; return;
} }
const get_autocompletions = () => {
let getters = this._autocompletions || [];
let completions = [];
for (let getter of getters) {
let values = getter({ editor, session, pos, prefix });
completions.push(...values);
}
return completions;
}
let autocompletions = get_autocompletions(); let autocompletions = get_autocompletions();
if (autocompletions.length) { if (autocompletions.length) {
callback( callback(
@@ -117,6 +105,18 @@ frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlTex
); );
} }
} }

ace.config.loadModule("ace/ext/language_tools", langTools => {
this.editor.setOptions({
enableBasicAutocompletion: true,
enableLiveAutocompletion: true
});

langTools.addCompleter({
getCompletions: customGetCompletions || getCompletions
});
});
this._autocompletion_setup = true;
} }


refresh_height() { refresh_height() {


Загрузка…
Отмена
Сохранить