angular-formly-transformer
v1.3.0
Published
Automate configuration of fields in Angular-Formly
Downloads
63
Maintainers
Readme
FormlyTransformer
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
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
}