FormStamp is a pure AngularJS widgets library designed for rich front-end web applications. FormStamp core principles are:
- all widgets are written from scratch;
- maximum AngularJS compatibility (supports ngDisabled, ngModel and other standard directives);
- styled with Twitter Bootstrap;
- clean & minimalistic codebase.
FormStamp can be installed via Bower Package Manager:
bower install angular-formstamp
There are 3 levels of directives:
- Form Builder - orchestrates building of complex forms; provides simple DSL-like markup for describing forms and hides complex markup from you.
- Widget directives - most often used widgets.
- Low-level directives - common concerns for widgets construction, can be used to build your own custom widgets.
fsFormFor
- root form builder directive;fsInput
- renders a row with input in form builder;fsRow
- renders a custom row.
fsSelect
- select input with free text support (select/combo);fsMultiselect
- multiple select input with free text support;fsTime
- time input;fsDate
- date input withfsCalendar
inside dropdown;fsDatetime
- widget composed fromfsTime
andfsDate
to enter both date and time;fsRadio
- a group of radiobuttons;fsCheck
- a group of checkboxes.
fsList
- renders a list of items and allows to move selection up and down (with custom templating for items);fsNullForm
- hides input with ngModel binding from a parent form;fsInput
- simplifies keyboard & focus events handling;fsCalendar
- draws a calendar and allows to mark one day as selected.
Install node.js
curl https://raw.github.com/creationix/nvm/master/install.sh | sh # install nvm
nvm install 0.10
Clone FormStamp repository
git clone git@github.com:formstamp/formstamp.git
Install bower dependencies and node.js packages
cd formstamp
nvm use 0.10
npm install && cd demo && npm install && cd ..
Build, start demo server and start watching changes using
npm start
# open browser @ localhost:8080/index.html
Now, point your browser to http://localhost:8080/ and you'll see FormStamp's demo page.
NOTE: These commands add nvm
command to .bash_profile
. It may not
work if you are not using bash
shell (like zsh
). In this case you
have to manually configure profile file.
Run unit tests:
npm test
To run protractor tests you could use:
npm run-script e2e
To build bower package in dist/ run:
npm run-script build
To see what has changed in recent versions, see the CHANGELOG.
FormStamp is released under MIT License.