Newly Paranoid Maintainers
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    angular-formly-transformerpublic

    FormlyTransformer

    GitHub version Build Status Coverage Status Codacy Badge Coverage Status

    Better way of field transformation in Angular-Formly.

    Install

    meteor

    meteor add wieldo:angular-formly-transformer
    

    npm

    npm install angular-formly-transformer
    

    bower

    bower install angular-formly-transformer
    

    Getting Started

    angular.module('myApp', [
        'formly',
        'formlyTransformer'
      ])

    formlyTransformer service

    see formlyTransformer API

    How to use it

    Register transformer

    Each transformer has four arguments: fields, model, formOptions, and form.

    See fieldTransform in formlyConfig for details.

    Transformer is basically the same as fieldTransform method. formlyTransform service just wraps all functions into one place.

    formlyTransformer.register(function(fields, model, form, formOptions) {
        // ...
    });

    Special space in formly field configuration (formlyconfig)

    formlyTransformer creates property with "transformers" key and empty object as value.

    Special space is removed after all the transformers are executed.

    So basically, you can put there all your transformation methods which are based on custom property.

    Example

    angular.module('myAppName', [
        'formly',
        'formlyTransformer'
      ])
      .run(runApp)
      .controller('demoCtrl', demoCtrl);
      
      function runApp(formlyTransformer) {
            // label upperCaseLabel transformer
            formlyTransformer.register(function(fields) {
                fields.forEach((field) => {
                    if(field.transformers.upperCaseLabel && field.templateOptions && field.templateOptions.label) {
                        field.templateOptions.label = field.templateOptions.label.toUpperCase();
                    }
                });
            });
      }
      
      function demoCtrl(formlyTransformer) {
            var vm = this;
            
            vm.fields = [
                key: 'firstName',
                type: 'input',
                templateOptions: {
                    label: 'First name'
                },
                transformers: {
                    upperCaseLabel: true
                }
            ];
            
            console.log(vm.fields[0].templateOptions.label); // FIRST NAME
      }

    Bitdeli Badge

    install

    npm i angular-formly-transformer

    Downloadsweekly downloads

    3

    version

    1.3.0

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar