Adrian,
I am working on to get these changes in the script.aculo.us library as
well.
On Wed, Jul 9, 2008 at 8:27 PM, Adrian Crum <[EMAIL PROTECTED]> wrote:
> Are you sure you want to modify a third party library?
>
> -Adrian
>
> [EMAIL PROTECTED] wrote:
>
>> Author: apatel
>> Date: Tue Jul 8 23:15:23 2008
>> New Revision: 675103
>>
>> URL: http://svn.apache.org/viewvc?rev=675103&view=rev
>> Log:
>> enhancements to the Autocompleter integration with form widget dropdown.
>>
>> Modified:
>> ofbiz/trunk/framework/example/widget/example/ExampleForms.xml
>> ofbiz/trunk/framework/example/widget/example/ExampleScreens.xml
>> ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js
>> ofbiz/trunk/framework/images/webapp/images/selectall.js
>>
>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java
>>
>> Modified:
>> ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js?rev=675103&r1=675102&r2=675103&view=diff
>>
>> ==============================================================================
>> --- ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js
>> (original)
>> +++ ofbiz/trunk/framework/images/webapp/images/prototypejs/controls.js Tue
>> Jul 8 23:15:23 2008
>> @@ -407,9 +407,9 @@
>> // you support them.
>> Autocompleter.Local = Class.create(Autocompleter.Base, {
>> - initialize: function(element, update, array, options) {
>> + initialize: function(element, update, data, options) {
>> this.baseInitialize(element, update, options);
>> - this.options.array = array;
>> + this.options.data = data;
>> },
>> getUpdatedChoices: function() {
>> @@ -429,38 +429,75 @@
>> var entry = instance.getToken();
>> var count = 0;
>> - for (var i = 0; i < instance.options.array.length && -
>> ret.length < instance.options.choices ; i++) { -
>> - var elem = instance.options.array[i];
>> - var foundPos = instance.options.ignoreCase ? -
>> elem.toLowerCase().indexOf(entry.toLowerCase()) : -
>> elem.indexOf(entry);
>> -
>> - while (foundPos != -1) {
>> - if (foundPos == 0 && elem.length != entry.length) { -
>> ret.push("<li><strong>" + elem.substr(0, entry.length) + "</strong>" +
>> - elem.substr(entry.length) + "</li>");
>> - break;
>> - } else if (entry.length >= instance.options.partialChars && -
>> instance.options.partialSearch && foundPos != -1) {
>> - if (instance.options.fullSearch ||
>> /\s/.test(elem.substr(foundPos-1,1))) {
>> - partial.push("<li>" + elem.substr(0, foundPos) +
>> "<strong>" +
>> - elem.substr(foundPos, entry.length) + "</strong>" +
>> elem.substr(
>> - foundPos + entry.length) + "</li>");
>> + if (Object.isHash(instance.options.data)) {
>> + var keys = [];
>> + keys = instance.options.data.keys();
>> + for (var i = 0; i < keys.length && + ret.length <
>> instance.options.choices ; i++) { +
>> + var elem = instance.options.data.get(keys[i]);
>> + var foundPos = instance.options.ignoreCase ? +
>> elem.toLowerCase().indexOf(entry.toLowerCase()) : +
>> elem.indexOf(entry);
>> +
>> + while (foundPos != -1) {
>> + if (foundPos == 0 && elem.length != entry.length) { +
>> ret.push("<li id=" + '"' + keys[i] + '"' + "><strong>" +
>> elem.substr(0, entry.length) + "</strong>" + +
>> elem.substr(entry.length) + "</li>");
>> break;
>> + } else if (entry.length >= instance.options.partialChars &&
>> + instance.options.partialSearch && foundPos != -1) {
>> + if (instance.options.fullSearch ||
>> /\s/.test(elem.substr(foundPos-1,1))) {
>> + partial.push("<li id=" + '"' + keys[i] + '"' + ">" +
>> elem.substr(0, foundPos) + "<strong>" +
>> + elem.substr(foundPos, entry.length) + "</strong>" +
>> elem.substr(
>> + foundPos + entry.length) + "</li>");
>> + break;
>> + }
>> }
>> +
>> + foundPos = instance.options.ignoreCase ? +
>> elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : +
>> elem.indexOf(entry, foundPos + 1);
>> +
>> }
>> + }
>> + if (partial.length)
>> + ret = ret.concat(partial.slice(0, instance.options.choices -
>> ret.length))
>> + return "<ul>" + ret.join('') + "</ul>";
>> + } else {
>> + for (var i = 0; i < instance.options.data.length && +
>> ret.length < instance.options.choices ; i++) { +
>> + var elem = instance.options.data[i];
>> + var foundPos = instance.options.ignoreCase ? +
>> elem.toLowerCase().indexOf(entry.toLowerCase()) : +
>> elem.indexOf(entry);
>> +
>> + while (foundPos != -1) {
>> + if (foundPos == 0 && elem.length != entry.length) { +
>> ret.push("<li><strong>" + elem.substr(0, entry.length) +
>> "</strong>" + + elem.substr(entry.length) + "</li>");
>> + break;
>> + } else if (entry.length >= instance.options.partialChars &&
>> + instance.options.partialSearch && foundPos != -1) {
>> + if (instance.options.fullSearch ||
>> /\s/.test(elem.substr(foundPos-1,1))) {
>> + partial.push("<li>" + elem.substr(0, foundPos) +
>> "<strong>" +
>> + elem.substr(foundPos, entry.length) + "</strong>" +
>> elem.substr(
>> + foundPos + entry.length) + "</li>");
>> + break;
>> + }
>> + }
>> - foundPos = instance.options.ignoreCase ? -
>> elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : -
>> elem.indexOf(entry, foundPos + 1);
>> + foundPos = instance.options.ignoreCase ? +
>> elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : +
>> elem.indexOf(entry, foundPos + 1);
>> + }
>> }
>> + if (partial.length)
>> + ret = ret.concat(partial.slice(0, instance.options.choices -
>> ret.length))
>> + return "<ul>" + ret.join('') + "</ul>";
>> }
>> - if (partial.length)
>> - ret = ret.concat(partial.slice(0, instance.options.choices -
>> ret.length))
>> - return "<ul>" + ret.join('') + "</ul>";
>> }
>> }, options || { });
>> }
>>
>
--
Thanks & Regards
Mridul Pathak
Hotwax Media
http://www.hotwaxmedia.com
[EMAIL PROTECTED]