2016-06-09 03:32:33 +00:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
// Configuring the Forms drop-down menus
|
|
|
|
angular.module('view-form')
|
|
|
|
.filter('formValidity', function(){
|
|
|
|
return function(formObj){
|
|
|
|
if(formObj && formObj.form_fields && formObj.visible_form_fields){
|
|
|
|
|
|
|
|
//get keys
|
|
|
|
var formKeys = Object.keys(formObj);
|
|
|
|
|
|
|
|
//we only care about things that don't start with $
|
|
|
|
var fieldKeys = formKeys.filter(function(key){
|
|
|
|
return key[0] !== '$';
|
|
|
|
});
|
|
|
|
|
|
|
|
var fields = formObj.form_fields;
|
|
|
|
|
|
|
|
var valid_count = fields.filter(function(field){
|
2017-07-27 05:22:58 +00:00
|
|
|
if(typeof field === 'object' && field.fieldType !== 'rating' && field.fieldType !== 'statement'){
|
2016-06-09 03:32:33 +00:00
|
|
|
return !!(field.fieldValue);
|
2017-07-27 05:22:58 +00:00
|
|
|
} else if (field.fieldType === 'rating'){
|
|
|
|
return true;
|
2016-06-09 03:32:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}).length;
|
|
|
|
return valid_count - (formObj.form_fields.length - formObj.visible_form_fields.length);
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
|
|
|
angular.module('view-form').value('supportedFields', [
|
|
|
|
'textfield',
|
|
|
|
'textarea',
|
|
|
|
'date',
|
|
|
|
'dropdown',
|
|
|
|
'hidden',
|
|
|
|
'password',
|
|
|
|
'radio',
|
|
|
|
'legal',
|
|
|
|
'statement',
|
|
|
|
'rating',
|
|
|
|
'yes_no',
|
|
|
|
'number',
|
|
|
|
'natural'
|
|
|
|
]);
|
2017-03-06 20:30:31 +00:00
|
|
|
|
|
|
|
angular.module('view-form').constant('VIEW_FORM_URL', '/forms/:formId/render');
|
|
|
|
|