[minor] replace autocomplete with awesomplete
This commit is contained in:
parent
e60c2c7b7a
commit
512b85e040
@ -410,32 +410,36 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
|
|||||||
this.frm.doc.customer = this.default_customer;
|
this.frm.doc.customer = this.default_customer;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.party_field.$input.autocomplete({
|
this.party_field.awesomeplete = new Awesomplete(this.party_field.$input.get(0), {
|
||||||
autoFocus: true,
|
minChars: 0,
|
||||||
source: function (request, response) {
|
maxItems: 99,
|
||||||
me.customer_data = me.get_customers(request.term)
|
autoFirst: true,
|
||||||
response($.map(me.customer_data, function(data){
|
list: [],
|
||||||
|
});
|
||||||
|
|
||||||
|
this.party_field.$input
|
||||||
|
.on('input', function(e) {
|
||||||
|
var customer_data = me.get_customers(e.target.value) || [];
|
||||||
|
me.party_field.awesomeplete.list = customer_data.map(function(data){
|
||||||
return {label: data.name, value: data.name,
|
return {label: data.name, value: data.name,
|
||||||
customer_group: data.customer_group, territory: data.territory}
|
customer_group: data.customer_group, territory: data.territory}
|
||||||
}))
|
});
|
||||||
},
|
})
|
||||||
change: function(event, ui){
|
.on('awesomplete-select', function(e) {
|
||||||
if(ui.item){
|
var item = me.party_field.awesomeplete.get_item(e.originalEvent.text.value);
|
||||||
me.frm.doc.customer = ui.item.label;
|
console.log(item);
|
||||||
me.frm.doc.customer_name = ui.item.customer_name;
|
if(item) {
|
||||||
me.frm.doc.customer_group = ui.item.customer_group;
|
me.frm.doc.customer = item.label;
|
||||||
me.frm.doc.territory = ui.item.territory;
|
me.frm.doc.customer_name = item.customer_name;
|
||||||
}else{
|
me.frm.doc.customer_group = item.customer_group;
|
||||||
|
me.frm.doc.territory = item.territory;
|
||||||
|
} else {
|
||||||
me.frm.doc.customer = me.party_field.$input.val();
|
me.frm.doc.customer = me.party_field.$input.val();
|
||||||
}
|
}
|
||||||
me.refresh();
|
me.refresh();
|
||||||
}
|
})
|
||||||
}).on("focus", function(){
|
.on('focus', function(e) {
|
||||||
setTimeout(function() {
|
$(e.target).val('').trigger('input');
|
||||||
if(!me.party_field.$input.val()) {
|
|
||||||
me.party_field.$input.autocomplete( "search", " " );
|
|
||||||
}
|
|
||||||
}, 500);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -313,39 +313,38 @@ $.extend(erpnext.item, {
|
|||||||
|
|
||||||
$(field.input_area).addClass("ui-front");
|
$(field.input_area).addClass("ui-front");
|
||||||
|
|
||||||
field.$input.autocomplete({
|
var input = field.$input.get(0);
|
||||||
minLength: 0,
|
input.awesomplete = new Awesomplete(input, {
|
||||||
minChars: 0,
|
minChars: 0,
|
||||||
autoFocus: true,
|
maxItems: 99,
|
||||||
source: function(request, response) {
|
autoFirst: true,
|
||||||
|
list: [],
|
||||||
|
});
|
||||||
|
input.field = field;
|
||||||
|
|
||||||
|
field.$input
|
||||||
|
.on('input', function(e) {
|
||||||
|
var term = e.target.value;
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method:"frappe.client.get_list",
|
method:"frappe.client.get_list",
|
||||||
args:{
|
args:{
|
||||||
doctype:"Item Attribute Value",
|
doctype:"Item Attribute Value",
|
||||||
filters: [
|
filters: [
|
||||||
["parent","=", i],
|
["parent","=", i],
|
||||||
["attribute_value", "like", request.term + "%"]
|
["attribute_value", "like", term + "%"]
|
||||||
],
|
],
|
||||||
fields: ["attribute_value"]
|
fields: ["attribute_value"]
|
||||||
},
|
},
|
||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
if (r.message) {
|
if (r.message) {
|
||||||
response($.map(r.message, function(d) { return d.attribute_value; }));
|
e.target.awesomplete.list = r.message.map(function(d) { return d.attribute_value; });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
})
|
||||||
select: function(event, ui) {
|
.on('focus', function(e) {
|
||||||
field.$input.val(ui.item.value);
|
$(e.target).val('').trigger('input');
|
||||||
field.$input.trigger("change");
|
})
|
||||||
},
|
|
||||||
}).on("focus", function(){
|
|
||||||
setTimeout(function() {
|
|
||||||
if(!field.$input.val()) {
|
|
||||||
field.$input.autocomplete("search", "");
|
|
||||||
}
|
|
||||||
}, 500);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
toggle_attributes: function(frm) {
|
toggle_attributes: function(frm) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user