1.0.67 • Published 2 years ago

@bradtech/form v1.0.67

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

@bradtech/form

NPM npm

React form generator originally used in Brad Technology web applications.

Getting started

npm i @bradtech/form

OR

yarn add @bradtech/form

Building a basic form

index.tsx

import React from 'react'
import { FormComponent } from '@bradtech/form'
import userForm from './user-form'

export default class App extends React.Component<any, any> {
   constructor(props: MyProps) {
      super(props)
      this.state = {}
   }

   render() {
      return (
         <>
            <FormComponent form={userForm} {...this.props} />
         </>
      )
   }
}

user-form.js

import { FormComponent } from '@bradtech/form'

export default {
   fields: {
      email: {
         type: FormComponent.EMAIL,
         label: 'fields.email',
         mandatory: true,
         searchable: true,
         options: {
            autoComplete: 'email',
         },
      },

      password: {
         label: 'password.title',
         type: FormComponent.PASSWORD,
         mandatory: FormComponent.MODE_CREATE,
         options: {
            minLength: 6,
         },
      },

      name: {
         type: FormComponent.GROUP,
         fields: {
            lastname: {
               label: 'fields.lastname',
               mandatory: true,
               searchable: true,
               options: {
                  autoComplete: 'family-name',
               },
            },
            firstname: {
               label: 'fields.firstname',
               mandatory: true,
               searchable: true,
               options: {
                  autoComplete: 'given-name',
               },
            },
         },
      },
   },

   buttons: {
      submit: true,
      delete: true,
      cancel: true,
      extras: [],
   },
   actions: {
      create: data => console.log(data),
      read: uid => console.log(`users/${uid}`),
      update: ({ uid, ...data }) => console.log(uid, data),
      delete: ({ uid }) => console.log(`users/${uid}`),
   },
   extras: [],
}

Result

form-example-1

Using the search component

index.tsx

import React from 'react'
import { SearchComponent } from '@bradtech/form'
import userSearch from './user-search'

export default class App extends React.Component {
   constructor(props: any) {
      super(props)
      this.state = {}
   }

   render() {
      const { tableType } = this.state

      return <SearchComponent form={userSearch} {...this.props} />
   }
}

user-search.js

import { FormComponent } from '@bradtech/form'
import Api from '../../Api'
import { SearchComponent } from '../../Form'

export default {
   mode: FormComponent.MODE_SEARCH,
   fields: {
      search: {
         type: FormComponent.GROUP,
         fields: {
            keywords: {
               label: 'fields.lastname_firstname_email',
               search: {
                  mode: SearchComponent.BEGINS_WITH,
               },
               options: {
                  autoComplete: 'off',
               },
            },
         },
      },
   },
   buttons: {
      submit: {
         label: 'fields.search',
         icon: 'search',
      },
      cancel: {
         label: 'fields.reset',
         icon: 'undo',
      },
      extras: [],
   },
   actions: {},
   extras: [],
}

Search component result

search-example-1

License

MIT

1.0.66

2 years ago

1.0.67

2 years ago

1.0.65

2 years ago

1.0.64

2 years ago

1.0.62

2 years ago

1.0.61

2 years ago

1.0.63

2 years ago

1.0.60

2 years ago

1.0.59

3 years ago

1.0.58

3 years ago

1.0.57

3 years ago

1.0.56

3 years ago

1.0.44

3 years ago

1.0.48

3 years ago

1.0.47

3 years ago

1.0.46

3 years ago

1.0.49

3 years ago

1.0.51

3 years ago

1.0.50

3 years ago

1.0.55

3 years ago

1.0.54

3 years ago

1.0.53

3 years ago

1.0.52

3 years ago

1.0.40

3 years ago

1.0.43

3 years ago

1.0.41

3 years ago

1.0.39

3 years ago

1.0.38

3 years ago

1.0.26

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.29

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.33

3 years ago

1.0.32

3 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.37

3 years ago

1.0.36

3 years ago

1.0.35

3 years ago

1.0.34

3 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.15

3 years ago

1.0.14

4 years ago

1.0.23

3 years ago

1.0.12

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago