angular-form-state

WebJar for angular-form-state

License

License

MIT
Categories

Categories

Github Development Tools Version Controls Angular User Interface Web Frameworks ORM Data
GroupId

GroupId

org.webjars.bower
ArtifactId

ArtifactId

github-com-bendrucker-angular-form-state
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

angular-form-state
WebJar for angular-form-state
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/bendrucker/angular-form-state

Download github-com-bendrucker-angular-form-state

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.bower/github-com-bendrucker-angular-form-state/ -->
<dependency>
    <groupId>org.webjars.bower</groupId>
    <artifactId>github-com-bendrucker-angular-form-state</artifactId>
    <version>2.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.bower/github-com-bendrucker-angular-form-state/
implementation 'org.webjars.bower:github-com-bendrucker-angular-form-state:2.0.0'
// https://jarcasting.com/artifacts/org.webjars.bower/github-com-bendrucker-angular-form-state/
implementation ("org.webjars.bower:github-com-bendrucker-angular-form-state:2.0.0")
'org.webjars.bower:github-com-bendrucker-angular-form-state:jar:2.0.0'
<dependency org="org.webjars.bower" name="github-com-bendrucker-angular-form-state" rev="2.0.0">
  <artifact name="github-com-bendrucker-angular-form-state" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.bower', module='github-com-bendrucker-angular-form-state', version='2.0.0')
)
libraryDependencies += "org.webjars.bower" % "github-com-bendrucker-angular-form-state" % "2.0.0"
[org.webjars.bower/github-com-bendrucker-angular-form-state "2.0.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.bower : angular jar [1.3,1.5]

Project Modules

There are no modules declared in this project.

angular-form-state Build Status

Smarter AngularJS forms for reacting to submission states

Install

# npm
$ npm install angular-form-state
# bower
$ bower install angular-form-state

Setup

// node module exports the string 'bd.form-state' for convenience
angular.module('myApp', [
  require('angular-form-state')
]);
// otherwise, include the code first then the module name
angular.module('myApp', [
  'bd.form-state'
]);

API

bdSubmit

Replace your ngSubmit directives with bdSubmit.

<form bd-submit="submitForm()"></form>

In addition to standard ngSubmit behavior, the expression passed to bdSubmit can return a promise.

A submission objection is attached to ngFormController containing:

  • succeeded boolean: true if the bdSubmit expression returns a value or fulfilled promise
  • failed boolean: true if the expression returns a rejected promise
  • error object: The Error from a rejected promise returned by the bdSubmit expression. Otherwise null.
  • pending boolean: true if the expression returned a promise that is still pending (not resolved or rejected)
  • attempted boolean: true if submission has been attempted at least once
  • attempts number: The number of times that form submission has been attempted.

Form submission can be reattempted an unlimited number of times. If you wish to prevent users from resubmitting a form that was successfully sent, for example, you should implement that yourself. Submission state (succeeded, failed, error, pending) is reset on every new submission attempt and will always reflect the active/most recent submission.

When the bdSubmit expression returns a rejected promise, the error is passed to $exceptionHandler which by default logs the error using console.error.

$scope.submit = function () {
  // return a promise, probably from $http
};
<form bd-submit="submitForm()" name="myForm">
  <button type="submit">Submit</button>
  <p ng-show="myForm.submission.pending">Submitting...</p>
  <p>Form submitted {{myForm.submission.attempts}} times</p>
</form>

submitButton

submitButton can be combined with bdSubmit to create a simple text button that:

  • Disables itself and changes its text to a customizable message while form submission is pending
  • Re-enables itself and restores its text when form submission completes (succeeds or fails)
<form bd-submit="submitForm()" name="myForm">
  <button submit-button pending="Submitting...">Submit</button>
</form>

The directive will automatically add type="submit" to the element.

Versions

Version
2.0.0