1.3.0 • Published 10 years ago
angular-formly-transformer v1.3.0
FormlyTransformer
Better way of field transformation in Angular-Formly.
Install
meteor
meteor add wieldo:angular-formly-transformernpm
npm install angular-formly-transformerbower
bower install angular-formly-transformerGetting 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
}