1.3.0 • Published 9 years ago
angular-multi-step-form v1.3.0
Angular Multi step form
multiStepForm is an angular module to create multi step forms and wizards. Create your steps like your would
create your views with ngRoute or ui-router!
It is lightweight (6kb minified) but extremely versatile and powerful.
Requirements
- Angular 1.3+
Features
- Steps are controlled views and are easily configured
- Directive controller
- Asynchronous loading of steps (
templateUrlandresolve) - Forward and backward animations
- Isolated or non isolated scopes for steps
- Track step validity if it contains a form
onCancel,onFinishandonStepChangecallbacks- Browser navigation with search URL parameter
- You decide what level of control you expose to the user: next, previous, jump to state, finish, cancel, etc...
- Place summary, controls, etc... in header or footer
- Support for multiple components per view
Breaking changes with 1.1.x
See changelog and migration guide:
Examples
- Getting started
- Using forms
- Saving data
- CSS transitions
- Cancel and Finish
- Browser navigation
- Inside a modal
Docs
- Configuring your steps
- The multiStepContainer directive
- Steps and directive scopes
- Multi step form instance object
- Animations, navigation, callbacks
- Advanced guide
Getting started
Grab the sources with bower, npm or download from Github: https://github.com/troch/angular-multi-step-form/tree/master/dist:
$ npm install --save angular-multi-step-form;
$ bower install --savev angular-multi-step-formInclude multiStepForm module in your app:
angular.module('yourApp', [
'multiStepForm'
]);Or (with npm):
import multiStepForm from 'angular-multi-step-form';
angular.module('yourApp', [
multiStepForm.name
]);You can then configure your steps
$scope.steps = [
{
template: 'Hello <button class="btn btn-default" ng-click="$nextStep()">Next</button>'
},
{
template: 'World <button class="btn btn-default" ng-click="$previousStep()">Previous</button>'
}
];And start your multiple step form / wizard:
- Use the
multiStepContainerdirective - You need to use the
stepContainerinsidemultiStepContainerto tell it where to load steps.
<multi-step-container steps="yourSteps">
<step-container></step-container>
</multi-step-container>