Changeset 1370
- Timestamp:
- 16/11/09 13:16:40 (4 months ago)
- Files:
-
- trunk/modules/kauri-forms/kauri-forms-extra/src/main/kauri/static/autocomplete/js/autocomplete.js (modified) (2 diffs)
- trunk/modules/kauri-forms/kauri-forms-extra/src/main/kauri/static/autocomplete/js/jquery.autocomplete.js (modified) (3 diffs)
- trunk/samples/kauri-forms-sample/src/main/kauri/pages/autocomplete-control.html.xml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/modules/kauri-forms/kauri-forms-extra/src/main/kauri/static/autocomplete/js/autocomplete.js
r1369 r1370 43 43 44 44 AutocompleteControl.prototype.initElements = function(create) { 45 debugger; 45 46 $acinput = kf.ControlElements.lookup(this, "acinput", true); 46 47 47 48 var me = this; 48 49 49 var inputTemplate = new kp.UriTemplate( "{email}");50 var listTemplate = new kp.UriTemplate( "{id} - {email})");51 var valueTemplate = new kp.UriTemplate( "{id}");50 var inputTemplate = new kp.UriTemplate(this.inputTemplate, {skipEscape: true}); 51 var listTemplate = new kp.UriTemplate(this.listTemplate, {skipEscape: true}); 52 var valueTemplate = new kp.UriTemplate(this.valueTemplate, {skipEscape: true}); 52 53 53 $acinput.autocomplete(this.options.dataUri,{54 var jqOptions = { 54 55 dataType: "json", 55 56 parse: function(data) { … … 63 64 return listTemplate.expand(data, true); 64 65 } 65 }).bind("result", function(event, objData, valueData) { 66 }; 67 if (this.filterParam) { 68 jqOptions.filterParam = this.filterParam; 69 } 70 71 $acinput.autocomplete(this.dataUri, jqOptions).bind("result", function(event, objData, valueData) { 66 72 alert('You selected ' + valueData); 67 73 }); trunk/modules/kauri-forms/kauri-forms-extra/src/main/kauri/static/autocomplete/js/jquery.autocomplete.js
r1368 r1370 345 345 }); 346 346 347 var data = $.extend({ 348 limit: options.max 349 }, extraParams); 350 data[options.filterParam] = lastWord(term); 347 351 $.ajax({ 348 352 // try to leverage ajaxQueue plugin to abort previous requests … … 352 356 dataType: options.dataType, 353 357 url: options.url, 354 data: $.extend({ 355 q: lastWord(term), 356 limit: options.max 357 }, extraParams), 358 data: data, 358 359 success: function(data) { 359 360 var parsed = options.parse && options.parse(data) || parse(data); … … 416 417 }, 417 418 scroll: true, 418 scrollHeight: 180 419 scrollHeight: 180, 420 filerParam: 'q' 419 421 }; 420 422 trunk/samples/kauri-forms-sample/src/main/kauri/pages/autocomplete-control.html.xml
r1369 r1370 18 18 "control": { 19 19 "base": "autocomplete-control", 20 "options": { 21 "dataUri": "${publicUri('service:/data/contact/')}", 22 "valueTemplate": "{id}", 23 "labelTemplate": "{name}", 24 "nullable": true 25 } 20 "dataUri": "${publicUri('service:/data/contact/')}", 21 "valueTemplate": "value:{id}", 22 "inputTemplate": "input:{id} - {name}", 23 "listTemplate": "list:{id} - {name} {email}" 26 24 } 27 25 }
