0.0.31 • Published 3 years ago

domainr-search-box v0.0.31

Weekly downloads
9
License
-
Repository
github
Last release
3 years ago

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 or mashapeKey are required.
  • mashapeKey: Either this or clientId 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 or donuts.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 or mashapeKey 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. The params 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 or donuts.co
  • status(domains, callback): Call the status API with the given domains (an array) and call the callback with the results upon completion.
  • options(domain, callback): Call the options API with the given domain (a string) and call the callback with the results upon completion.
  • zones(callback): Call the zones 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 or mashapeKey are required.
  • mashapeKey: Either this or clientId 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 or donuts.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 dependencies
  • gulp 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 user
  • npm 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

0.0.31

3 years ago

0.0.30

5 years ago

0.0.29

5 years ago

0.0.27

5 years ago

0.0.26

5 years ago

0.0.25

6 years ago

0.0.24

6 years ago

0.0.23

7 years ago

0.0.22

7 years ago

0.0.20

7 years ago

0.0.18

8 years ago

0.0.17

8 years ago

0.0.15

8 years ago

0.0.14

9 years ago

0.0.13

9 years ago

0.0.12

9 years ago

0.0.11

9 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago