New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

angular-form-persistence

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-form-persistence

An Angular module that gives you data persistence using local storage

latest
Source
npmnpm
Version
0.0.1
Version published
Maintainers
1
Created
Source

angular-form-persistence

Get Started

Installation

npm

$ npm install angular-form-persistence

Include angular-form-persistence.js or angular-form-persistence.min.js in your index.html after Angular.

<script src="node_modules/angular-form-persistence.min.js"></script>

Or import angular-form-persistence in your JS.

require('angular-form-persistence');

Add formPersistence to your module's dependencies.

angular.module('app', ['formPersistence']);

Configuration

setPrefix

.config(function (formPersistenceProvider) {
    formPersistenceProvider.setPrefix('dmo');
});

Default prefix: fp.[key]

Usage

Directive formPersistence, along with attribute save-data allow you to set the key and the data (respectively) to be stored.

Example

In this example user_form is the key and vm.data is the data that will be stored.

formPersistence will listen for changes in save-data and save the object with every change detected. In the example below, vm.data has some properties bounded to ngModel directive, so every time the user changes the value in the inputs the objects vm.data will be saved under the user_form key.

When the view is reloaded, formPersistence will fill vm.data with the data stored in local storage.

Controller

angular.controller('myController', function(formPersistence) {
    'ngInject';

    var vm = this;

    vm.data = {};

    vm.submit = function() {
        formPersistence.clearAll();
        [...]
    };
});

View

<div ng-controller="myController as vm">
    <form form-persistence="user_form" save-data="vm.data" ng-submit="vm.submit()">
        <label for="username">Username</label>
        <input
            id="username"
            type="text"
            name="username"
            ng-model="vm.data.username" />

        <label for="name">Name</label>
        <input
            id="name"
            type="text"
            name="name"
            ng-model="vm.data.name" />

        <label for="age">Age</label>
        <input
            id="age"
            type="number"
            name="age"
            ng-model="vm.data.age" />

        <button type="submit">
            Submit
        </button>
    </form>
</div>

Other attributes

beforeSave

Get and use the data before is saved. Must return the data that will be saved.

beforeLoad

Get and use the data before is loaded into save-data. Must return the data that will fill save-data.

Controller

angular.controller('myController', function(formPersistence) {
    'ngInject';

    var vm = this;

    vm.data = {};

    vm.parseData = function(data) {
        // you logic
        return data;
    };

    vm.parseLoadedData = function(data) {
        // you logic
        return data;
    };
});

View

<div ng-controller="myController as vm">
    <form form-persistence="user_form" save-data="vm.data" before-save="vm.parseData" before-load="vm.parseLoadedData">
        [...]
    </form>
</div>

Service API

save

Save data manually in local storage.

ParameterDescription
keyData key (automatically prefixed)
payloadData to be stored
onSaveOptional function to handle the data before is stored
formPersistence.save(key, payload, onSave);

load

Load data from local storage.

ParameterDescription
keyData key (automatically prefixed)
onLoadOptional function to handle the data before is loaded

Return: Data stored or onLoad results

var data = formPersistence.load(key, onLoad);

clear

Remove data stored with the given key.

ParameterDescription
keyData key (automatically prefixed)
formPersistence.clear(key);

clearAll

Remove all stored data and keys.

formPersistence.clearAll();

Keywords

angular

FAQs

Package last updated on 14 Jul 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts