A simple extension of Angular's form that adds control management through schema.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
The Form Schema library was born out of the need to easily manage the fields of a form through a schema while allowing maximum freedom in implementing the GUI.
This project is currently in beta version, therefore it is not yet ready for production.
IMPORTANT: This project is currently in beta version, therefore it is not yet ready for production.
This library needs the following packages: rxjs
(if not already installed), jsep
and jse-eval
. so, before to install the library, install those packages.
- npm
npm install rxjs@latest [email protected] [email protected]
To use Ngx Form Schema in your project simply execute the following command:
- npm
npm install ngx-form-schema@latest --save
This is how to create a control instance by a schema.
const control = new FormControlSchema<UserRoleType>({
defaultValue: string | number | boolean | null,
type: FormSchemaFieldType,
key: string,
label: string,
placeholder?: string,
hint?: string,
readonly?: boolean,
disabled?: boolean,
disableWhenNotVisible?: boolean,
size?: FormSchemaFieldSize,
maxLength?: number,
visible?: boolean,
group?: string,
options?: FormSchemaFieldOptions[] | Observable<FormSchemaFieldOptions[]>,
order?: number,
prefix?: string,
dependencies?: string[],
suffix?: string,
permissions?: FormSchemaPermissionSettings<UserRoleType>,
userRoles?: UserRoleType[],
validators?: FormSchemaValidators,
conditions?: FormSchemaConditions
}, ValidatorFn[]);
This is how to create a group of controls.
const groupBySchema = new FormGroupSchema<UserRoleType>({
fields: {
foo: fooControl,
bar: barControl
}
});
See the open issues for a list of proposed features (and known issues).
Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Your Name - @your_twitter - [email protected]
Project Link: https://github.com/mancarius/ngx-form-schema