UNPKG

jarb-angular-formly

Version:
1 lines 2.04 kB
"use strict";angular.module("jarb-angular-formly",[]),angular.module("jarb-angular-formly").factory("constraintsStore",["$http",function(a){function b(b){return a.get(b).then(function(a){var b=a.data;return d(b),a})}function c(){return f}function d(a){f=a,_.each(g,function(a){a(f)})}function e(a){function b(){var b=g.indexOf(a);g.splice(b,1)}return g.push(a),b}var f=null,g=[];return{loadConstraints:b,getConstraints:c,setConstraints:d,onConstraintsChanged:e}}]),angular.module("jarb-angular-formly").factory("jarbFormlyFieldTransformer",["constraintsStore","jarbRegex",function(a,b){function c(b,c,h){if(d(h)===!1)return b;var i=a.getConstraints();return b.map(function(a){if(_.get(a,"data.ignoreJarbConstraints")===!0)return a;var b=e(h.data.entityName,a.key,i);if(b===!1)return a;b.required&&_.set(a,"templateOptions.required",!0),"java.lang.String"===b.javaType&&(b.minimumLength&&_.set(a,"templateOptions.minlength",b.minimumLength),b.maximumLength&&_.set(a,"templateOptions.maxlength",b.maximumLength)),b.min&&_.set(a,"templateOptions.min",b.min),b.max&&_.set(a,"templateOptions.max",b.max);var c=g(b.types);return f(c,b,a),a})}function d(a){var b=_.get(a,"data.entityName");return _.isEmpty(b)===!1}function e(a,b,c){var d=c[a];return!!d&&_.get(d,b,!1)}function f(a,c,d){var e=!1;"number"===a&&c.fractionLength>0?e=b.fractionNumberRegex(c.fractionLength):"number"===a&&(e=b.numberRegex()),e&&_.set(d,"templateOptions.pattern",b.convertRegexToFormlyPattern(e))}function g(a){for(var b=["color","datetime-local","datetime","month","week","date","time","email","tel","number","url","password","file","image","text"],c=0;c<a.length;c+=1)for(var d=a[c],e=0;e<b.length;e+=1){var f=b[e];if(d===f)return d}return"text"}return{transform:c}}]),angular.module("jarb-angular-formly").factory("jarbRegex",function(){function a(a){return new RegExp("^-?\\d+(\\.\\d{1,"+a+"})?$")}function b(){return/^-?\d+$/}function c(a){var b=""+a;return b.substring(1,b.length-1)}return{fractionNumberRegex:a,numberRegex:b,convertRegexToFormlyPattern:c}});