我们的新要求之一是拥有一个公式编辑器,用户可以在其中输入某种公式(excel类型),例如
IF($Field1 < 1000, 'Message 1') AND
IF($Field2 > 10000,'Message 2')
所以这里的想法是我们应该为&#34;功能(IF)&#34;做自动建议(上下文)。 ,&#34; Field(Field1和Field2)&#34;,&#34; Condition(AND)&#34; ,&#34;运营商(&gt;)&#34;作为用户在textarea中的类型(因此它不会是多行)。
所以基本上我们试图模仿jira所具有的相同功能,它自动建议分辨率,fixVersion等如下所示
到目前为止我已经尝试了this Sencha Forum但是我得到的行为像我们不想要的多选组合框。
所以我的问题是
1. textarea的上下文自动完成
2.语法解析公式以获取上下文。
和
我真的需要帮助,因为谷歌不是很有帮助。
答案 0 :(得分:1)
这里我修复了我的自动建议问题
var textField = Ext.create('Ext.form.field.TextArea', {
renderTo: Ext.getBody(),
enableKeyEvents: true,
width: 200,
height:200
});
textField.on('keypress', function(f){
// debugger;
var val = f.getValue();
if(val){
var query = val;
console.log(query);
store.clearFilter();
store.filter('Name', query);
dataview.show();
} else {
dataview.hide()
}
}, this, {
buffer: 200
});
var dataview = Ext.create('Ext.view.View', {
height: 200,
width: 50,
store: store,
itemTpl: '{Name}',
renderTo: Ext.getBody(),
hidden: true,
listeners: {
itemclick: function(view, rec){
var val = textField.getValue();
val = val.replace(nameRegex, '@' + rec.get('Name'));
textField.setValue(val);
dataview.hide();
textField.focus();
}
}
});
答案 1 :(得分:0)
创建一个包含您想要建议的所有可能值的组合框用户和textarea的按键事件按照键入的字符填充已过滤记录的组合。
示例 - 我键入fieldName,然后键入空格,本例通过filter combo显示所有运算符。