0.0.4 • Published 2 years ago

kartmax-search-client v0.0.4

Weekly downloads
-
License
-
Repository
github
Last release
2 years ago

Kartmax Search Client

A npm package for Kartmax Search integration. This package should be used to communicate with Kartmax Search from front-end with the basic setup and standards already defined in this package.

Under the hood (Features)

  • Built in component
  • Integrated with Debounce to prevent excessive requests
  • Fully customizable input tag in component
  • Integrated support for Analytics
  • Emits response from component to your component for further action

Screenshot

Generic Search with Validations

Kartmax Search Client

Search with inbuilt debounce

Kartmax Search

Installation

Run npm i kartmax-search-client into your app.

Dependencies

Usage

<script>
import Vue from 'vue';
import SearchClient from 'kartmax-search-client';

export default Vue.extend({
  components: {
    SearchClient
  },
  methods : {
     receiveResponse(response) {
       /*
       * You can use this response to do whatever you want.
       * Such as hide and show the search results or loader
       * */
       console.log("Search emitted response received");
        console.log(response);
        this.response = response;
    }
  },
  data() {
    return {
      response: '',
      options:{
        app_id: '<your-app-id>',
        emptyInputError: true,
      },
      form:{
        collection : "<your-collection-id>",
        page :1,
        count : 12,
      }
    }
  },
});
</script>

<template>
  <div id="app">
    <SearchClient
        :placeholder="'Feel free to search'"
        :class="'form-control form-control form-control-borderless'"
        :form="form"
        :options="options"
        v-on:receiveResponse="receiveResponse"
        v-model="response"
    ></SearchClient>
  </div>
</template>

Methods

List of all the methods that you can use to send logs to our tool

OptionsDescriptionRequired
app_idApp id, that you received from SearchTrue
emptyInputErrorReturns error if input is empty (default false)False
collectionCollection id from the collection that you createdTrue
pagePage count for pagination (default 1)True
countTotal results expected in paginationTrue
:form="form"Object consisting of necessary payloadTrue
:options="options"Object consisting of configurable optionsTrue
v-on:receiveResponse="receiveResponse"Directive to receive search response as soon as its receivedFalse
v-model="response"Binds the data to response, dependent on v-on:receiveResponseFalse
:class="'form-control'"Allows you to attach any class to input for designingFalse
:id="'search-input'"Allows you to attach any id to input for designingFalse
:placeholder="'Feel free to search'"Allows you to assign any placeholder to inputFalse

Nuxt - SSR Usage

To make sure this runs on server side, you need to create your build with the following command:

nuxt build --standalone

You can add the command in your scripts section in the package.json file like this :

"scripts": {
    "build": "nuxt build --standalone",
  },

Why is this needed?

Author

KartMax is developed by GreenHonchos, one of India’s largest 360-degree eCommerce Service Providers & Consultants. From startup brands who need a one-stop-shop cart to large enterprises of international repute looking for scale – GreenHonchos provides a one-stop solution by advising across services, such as Technology, Marketing, Operations & Marketplace Management.

Contributor

Sagar Chauhan

License

MIT