visualsearch.js | |
---|---|
This is the annotated source code for VisualSearch.js, a rich search box for real data. The annotated source HTML is generated by Docco. | /** @license VisualSearch.js 0.3.0
* (c) 2011 Samuel Clay, @samuelclay, DocumentCloud Inc.
* VisualSearch.js may be freely distributed under the MIT license.
* For all details and documentation:
* http://documentcloud.github.com/visualsearch
*/
(function() {
var $ = jQuery; // Handle namespaced jQuery |
Setting up VisualSearch globals. These will eventually be made instance-based. | if (!window.VS) window.VS = {};
if (!VS.app) VS.app = {};
if (!VS.ui) VS.ui = {};
if (!VS.model) VS.model = {};
if (!VS.utils) VS.utils = {}; |
Sets the version for VisualSearch to be used programatically elsewhere. | VS.VERSION = '0.3.0';
VS.VisualSearch = function(options) {
var defaults = {
container : '',
query : '',
autosearch : true,
unquotable : [],
remainder : 'text',
showFacets : true,
callbacks : {
search : $.noop,
focus : $.noop,
blur : $.noop,
facetMatches : $.noop,
valueMatches : $.noop
}
};
this.options = _.extend({}, defaults, options);
this.options.callbacks = _.extend({}, defaults.callbacks, options.callbacks);
VS.app.hotkeys.initialize();
this.searchQuery = new VS.model.SearchQuery();
this.searchBox = new VS.ui.SearchBox({
app: this,
showFacets: this.options.showFacets
});
if (options.container) {
var searchBox = this.searchBox.render().el;
$(this.options.container).html(searchBox);
}
this.searchBox.value(this.options.query || ''); |
Disable page caching for browsers that incorrectly cache the visual search inputs. This is forced the browser to re-render the page when it is retrieved in its history. | $(window).bind('unload', function(e) {}); |
Gives the user back a reference to the | return this;
}; |
Entry-point used to tie all parts of VisualSearch together. It will either attach
itself to | VS.init = function(options) {
return new VS.VisualSearch(options);
};
})();
|