Customizing ADAC new client

This article aims to provide a few examples for customizing your implementation of ADAC. The latest version of the ADAC Javascript client is meant to be used in a front-end framework like Vue, or React. If you haven't installed the ADAC package just yet, please consult the README on our GitHub repository.

If you do not use a front-end framework, you can refer to this knowledge base article for customizing ADAC.

Examples

Plain example (Vue 3)

<template>
  <div class="container">
    <input v-model="domainInput" id="adac-js-domain-input" @input.prevent="onChangeDomainInput"/>
    <div style="display:flex;gap:1rem;justify-content:center;">
      <span v-for="category in categories">
        <input type="checkbox" :id="'form_' + category[1]" :value="category[0]" v-model="selectedCategories"
               @change="onChangeDomainInput"/>
        <label :for="'form_'+category[1]">{{category[1]}}</label>
      </span>
    </div>
    <div class="results" style="display: grid; grid-template-columns: 1fr 1fr">
      <div class="domain-results">
        <div v-for="result in results">
          {{result.domain_name}}
        </div>
      </div>
      <div class="domain-suggestions">
        <div v-for="suggestion in suggestions">
          {{suggestion.domain_name}}
        </div>
      </div>
    </div>
  </div>
</template>
<script setup>
  import ADAC from '@realtimeregister/adac-api-client'
  import { debounce } from 'es-toolkit' // or write your own simple debounce function.
  import { ref } from 'vue'
  const domainInput = ref('')
  const selectedCategories = ref([])
  const results = ref([])
  const suggestions = ref([])
  const categories = ref([])
  const adac = ADAC.initialize('YOUR_API_KEY', {
        tldSetToken: 'YOUR_TLD_SET_TOKEN'
      }
  )
  adac.onCategories = (categoryResult) => categories.value = categoryResult
  adac.onDomainResult = (domainResult) => results.value.push(domainResult)
  adac.onSuggestion = (suggestionResult) => suggestions.value.push(suggestionResult)
  const onChangeDomainInput = debounce(() => {
    results.value = []
    suggestions.value = []
    adac.processInput(domainInput.value, selectedCategories.value)
  }, 300)
</script>

Bootstrap 5 with dropdown (Vue 3)

<div class="btn-group d-flex flex-wrap">  
    <h4>Check if your domain is available</h4>  
    <div class="adac-domain-container rounded-top align-items-center p-3 bg-dark text-white input-group">  
        <input type="text" class="form-control" id="adac-js-domain-input" autofocus  
               placeholder="Enter domain or keyword">  
        <span class="input-group-text">.com</span>  
    </div>
    <div id="adac-js-categories" class="categories bg-dark text-white d-flex w-100 m-0 p-3 px-4">
        <span v-for="category in categories">
        <input type="checkbox" :id="'form_' + category[1]" :value="category[0]" v-model="selectedCategories"
               @change="onChangeDomainInput"/>
        <label :for="'form_'+category[1]">{{category[1]}}</label>
      </span>
    </div>  
    <div class="dropdown-menu w-100 shadow-sm top-100 rounded-bottom" id="adac-results-dropdown">
        <div class="row">  
            <div class="domain-name-results-wrapper p-3 col-md-6 col-12">  
                <h4>Results</h4>  
                <div id="adac-js-domain-results" class="domain-results">
                    <div class="domain-result" v-for="domain in results">
                        {{ domain.domain_name }}
                    </div>
                </div>  
            </div>           
             <div class="suggestions-wrapper p-3 col-md-6 col-12">  
                <h4>Suggestions</h4>  
                <div id="adac-js-suggestions" class="suggestions">
                    <div v-for="suggestion in suggestions" class="suggestion">
                      {{suggestion.domain_name}}
                    </div>
                </div>  
            </div>        
        </div>   
     </div>
</div>
<script setup>
  import ADAC from '@realtimeregister/adac-api-client'
  import { debounce } from 'es-toolkit' // or write your own simple debounce function.
  import { ref } from 'vue'
  const domainInput = ref('')
  const selectedCategories = ref([])
  const results = ref([])
  const suggestions = ref([])
  const categories = ref([])
  const adac = ADAC.initialize('YOUR_API_KEY', {
        tldSetToken: 'YOUR_TLD_SET_TOKEN'
      }
  )
  adac.onCategories = (categoryResult) => categories.value = categoryResult
  adac.onDomainResult = (domainResult) => results.value.push(domainResult)
  adac.onSuggestion = (suggestionResult) => suggestions.value.push(suggestionResult)
  const onChangeDomainInput = debounce(() => {
    results.value = []
    suggestions.value = []
    adac.processInput(domainInput.value, selectedCategories.value)
  }, 300)
</script>
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.