[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