Skip to content
This repository was archived by the owner on Jun 27, 2023. It is now read-only.
/ vue-dynamic-forms Public archive

Easy way to dynamically create reactive forms in Vue based on a varying business object model

License

Notifications You must be signed in to change notification settings

asigloo/vue-dynamic-forms

Repository files navigation

Library Banner

Vue Dynamic Forms

Current npm version Minified size Vue.js version

Implementing handcrafted forms can be:

  1. Costly
  2. Time-consuming

Especially if you need to create a very large form, in which the inputs are similar to each other, and they change frequently to meet rapidly changing business and regulatory requirements.

So, wouldn't it be more economical to create the forms dynamically? Based on metadata that describes the business object model?

That's Vue Dynamic Forms.

Documentation

Complete documentation and examples available at

Installation

$ npm install @asigloo/vue-dynamic-forms

or if you prefer yarn

$ yarn add @asigloo/vue-dynamic-forms

Usage

Global

Register the component globally in your main.js:

import Vue from 'vue';
import VueDynamicForms from '@asigloo/vue-dynamic-forms';

Vue.use(VueDynamicForms);

Local

You can include the dynamic form directly to your component.

import Vue from 'vue';
import { DynamicForm } from '@asigloo/vue-dynamic-forms';

const components = { DynamicForm };

export {
    ...
    components,
    ...
}

Development

Project setup

yarn install

Compiles and hot-reloads

yarn run serve

Compiles and minifies for production

yarn run build

Run your tests

yarn run test

Lints and fixes files

yarn run lint

Run your unit tests

yarn run test:unit

Contributing

If you find this library useful and you want to help improve it, maintain it or just want a new feature, feel free to contact me, or feel free to do a PR 😁.

Todolist

This are the features I have planned for next versions of this library

  • Material theme
  • Form Mixins for fields manipulation (for example, change values of a field depending of other)
  • More complex input types.
  • Nuxt plugin istall
  • Better docs & online examples

License

This project is licensed under the MIT License - see the LICENSE.md file for details.