@pulter/react

0.1.7 • Public • Published

@pulter/react

React adapter for pulter.co

NPM JavaScript Style Guide

Shell

npm install @pulter/react

Import

import { Pulter } from "@pulter/react";

Usage

<Pulter
  templateId="Data Template ID"
  user={{
    id: "default123",
  }}
  onSubmit={(result, data) => {
    if (result) {
      console.log("success");
      console.log(data + " data uploaded");
      //custom code
    } else {
      console.log("fail");
      //custom code
    }
  }}
  fields={[
    {
      label: "Name",
      key: "name",
      fieldType: {
        // There are 3 types - "input" / "checkbox" / "select".
        type: "input",
      },
      validations: [
        {
          // Can be "required" / "unique" / "regex"
          rule: "required",
          errorMessage: "Name is required",
          // There can be "info" / "warning" / "error" levels. Optional. Default "error".
          level: "error",
        },
      ],
    },
    {
      label: "Email",
      key: "email",
      fieldType: {
        // There are 3 types - "input" / "checkbox" / "select".
        type: "input",
      },
      validations: [
        {
          // Can be "required" / "unique" / "regex"
          rule: "required",
          errorMessage: "Email is required",
          // There can be "info" / "warning" / "error" levels. Optional. Default "error".
          level: "error",
        },
      ],
    },
    {
      label: "Phone",
      key: "phone",
      fieldType: {
        // There are 3 types - "input" / "checkbox" / "select".
        type: "input",
      },
      validations: [
        {
          // Can be "required" / "unique" / "regex"
          rule: "required",
          errorMessage: "Name is required",
          // There can be "info" / "warning" / "error" levels. Optional. Default "error".
          level: "error",
        },
      ],
    },
  ]}
  rowHook={(data, addError) => {
    // Validation
    if (data.name !== "John") {
      addError("name", { message: "No Johns allowed", level: "info" });
    }
    // Transformation
    return { ...data, name: "Not John" };
    // Sorry John
  }}
/>

Readme

For usage see the guide here - https://docs.pulter.co/getting-started/add-data-template

License

MIT © pulter-co

Package Sidebar

Install

npm i @pulter/react

Weekly Downloads

1

Version

0.1.7

License

MIT

Unpacked Size

37.2 kB

Total Files

6

Last publish

Collaborators

  • ezehuche