dojo.provide("epages.cartridges.de_epages.product.widget.SmartSearchProducts"); dojo.require("epages.cartridges.de_epages.content.widget.SmartSearchInput"); dojo.declare( "epages.cartridges.de_epages.product.widget.SmartSearchProducts", [epages.cartridges.de_epages.content.widget.SmartSearchInput], { /** * public properties */ ViewAction: 'JSONSmartSearchProductAlias', inputName : 'NewProduct', placeholder: '', /** * dojo widget properties */ templatePath: dojo.moduleUrl('epages.cartridges.de_epages.product.widget', 'templates/SmartSearchProducts.html'), // overloads smartsearchinput's method queryObjectAliases: function(callbackArgs) { if(!this._lastInputValue) { return; } var inputValue = this._lastInputValue; var me = this; var json = new epages.io.Json(); var result = json.loadAsync(this.url, function(result){ if(result.error || !result.data) { return; } // update tageditor available tags ... result.data me._lastSeachResultCount = parseInt(result.data.NumResults); // mapping for name attribute var fixedResults = []; var results = result.data.Results; var len = result.data.NumResults; for(var i=0; i<len; i++) { fixedResults[i] = {}; fixedResults[i].inputvalue = results[i].alias; fixedResults[i].labelvalue = results[i].alias; if(results[i].name) { fixedResults[i].labelvalue += ' <span class="SmartSearchProductsName">- ' + epages.format.slice(results[i].name, 23, true) + '</span>'; } } dojo.publish(me.SmartSearchBox.id + '/onNewSearchResults', [fixedResults, callbackArgs]); }, { 'ObjectID' : this.objectId, 'ViewAction' : this.ViewAction, 'SearchString' : inputValue }); } } );