README
Domainr Search Box
Drop-in instant domain search for your site.
Installation
Make sure you have Node.js and NPM installed.
Run npm install domainr-search-box
to create a local copy of the module.
Usage
From the dist/
directory, include domainr-search-box.min.js
and domainr-search-box.css
on your page.
Add an empty div
underneath your input
; the Domainr Search Box will fill it with results.
To authenticate, use the API for free via RapidAPI with your RapidAPI API key, or contact us regarding high-volume usage.
Plain JavaScript
var box = new domainr.SearchBox({
mashapeKey: yourRapidAPIKey, // your RapidAPI API key
// clientId: yourClientId, // your high-volume clientId; not needed if using RapidAPI
observe: yourInputElement,
renderTo: yourResultsElement,
onSelect: function(result) { ... }
});
jQuery
$('input#search')
.domainrSearchBox({
mashapeKey: yourRapidAPIKey, // your RapidAPI API key
clientId: yourClientId, // or alternatively your Client ID; not needed if using RapidAPI
renderTo: yourResultsElementOrSelector,
onSelect: function(result) { ... }
});
Reference
Plain JavaScript
SearchBox
Create a domainr.SearchBox
with new domainr.SearchBox(options)
. The options
argument is an object with the following possible properties:
clientId
: Either this ormashapeKey
are required.mashapeKey
: Either this orclientId
are required.observe
: The DOM element to observe.renderTo
: The DOM element to contain the rendered autocomplete.renderWith
: A function that will render the autocomplete. It will receive a state object.limit
: A number for the max number of results to display. Optional; default = 20.registrar
: Registrar or Registry domain name, to limit search results to domains supported by a registrar or registry. e.g.namecheap.com
ordonuts.co
defaults
: Include the given default zones (an array of strings) in your search, e.g.["coffee", "cafe", "organic"]
. Results will be sorted according to the order of this array.searchDelay
: How many milliseconds after keyboard entry before the search is made (to avoid redundant network traffic). Optional; default =250
.onSelect
: An optional function to be called when the user selects a domain (if omitted, a new window will open with a recommended registrar for that result). Receives a single object with these properties:domain
host
path
registerURL
status
subdomain
zone
Client
Create a domainr.Client
with new domainr.Client(options)
. The options
argument is an object with the following possible properties:
clientId
: Either this ormashapeKey
are required.mashapeKey
: Either this or clientId are required.baseURL
: Optional.
The domainr.Client
has the following methods:
search(params, callback)
: Search with the given params and call the callback with the results upon completion. Theparams
argument is an object with the following possible properties:defaults
: Comma-delimited string, e.g.coffee,cafe,organic
location
: String, e.g.de
query
: String.registrar
: String, e.g.namecheap.com
ordonuts.co
status(domains, callback)
: Call thestatus
API with the given domains (an array) and call the callback with the results upon completion.options(domain, callback)
: Call theoptions
API with the given domain (a string) and call the callback with the results upon completion.zones(callback)
: Call thezones
API and call the callback with the results upon completion.registerURL(domain, options)
: Returns a URL for registering the given domain (a string). The options parameter is an object; currently one property is accepted,registrar
, to specify a specific registrar.
jQuery
Select the element you want to observe and call .domainrSearchBox(options)
on it. Possible options include:
clientId
: Either this ormashapeKey
are required.mashapeKey
: Either this orclientId
are required.renderTo
: Specification for which element to contain the rendered autocomplete. Can be anything jQuery will accept (selector, element, jQuery object).renderWith
: A function that will render the autocomplete. It will receive a state object.limit
: A number for the max number of results to display. Optional; default = 20.registrar
: Registrar or Registry domain name, to limit search results to domains supported by a registrar or registry. e.g.namecheap.com
ordonuts.co
defaults
: Include the given default zones (an array of strings) in your search, e.g.["coffee", "cafe", "organic"]
. Results will be sorted according to the order of this array.searchDelay
: How many milliseconds after keyboard entry before the search is made (to avoid redundant network traffic). Optional; default = 250.onSelect
: An optional function to be called when the user selects a domain (if omitted, a new window will open with a recommended registrar for that result). Receives a single object with these properties:domain
host
path
registerURL
status
subdomain
zone
Development
You'll need to have Node and Gulp installed.
npm install -g gulp
to install Gulp.npm install
to install dependenciesgulp build
to build the code.gulp watch
to watch the code, building on changes.- note: console output will appear when files are changed
gulp
builds + watch, and runs the demo in a webpage.
Publishing new versions
- Always increment the version
npm whoami
to see your current npm usernpm publish
to publish it
Note that the demo requires the code to be built. Also, you'll need to get a mashapeKey
or clientId
and set up a config.js
; instructions are in index.html
.
© 2018 nb.io, LLC