search.js.coffee 1.0KB

    $ -> $agentNavigate = $('#agent-navigate') # initialize typeahead listener $agentNavigate.bind "typeahead:selected", (event, object, name) -> item = object['value'] $agentNavigate.typeahead('val', '') if window.agentPaths[item] $(".spinner").show() navigationData = window.agentPaths[item] if !(navigationData instanceof Object) || !navigationData.method || navigationData.method == 'GET' window.location = navigationData.url || navigationData else $("<a href='#{navigationData.url}' data-method='#{navigationData.method}'></a>").appendTo($("body")).click() # substring matcher for typeahead substringMatcher = (strings) -> findMatches = (query, callback) -> matches = [] substrRegex = new RegExp(query, "i") $.each strings, (i, str) -> matches.push value: str if substrRegex.test(str) callback(matches.slice(0,6)) $agentNavigate.typeahead minLength: 1, highlight: true, , source: substringMatcher(window.agentNames)