client-ui
Version:
Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront
179 lines (178 loc) • 6.76 kB
JavaScript
angular.module(moduleName)
.filter('rate', function () {
return function (input) {
return input.toFixed(3) + '%';
};
})
.filter("dobFilter", function () {
return function (value) {
if (value) {
if (value.length >= 4) {
return value.substr(0,2) + "/" + value.substr(2,2) + "/" + value.substr(4);
} else if (value.length >= 2) {
return value.substr(0,2) + "/" + value.substr(2)
} else if (value.length < 2) {
return value.substr(0);
}
}
return value;
};
})
.filter("dobReverse", function () {
return function (value) {
if (!!value) {
return value.replace(/\D/g, '').substr(0,8);
}
return value;
};
})
.filter("phnFilter", function () {
return function (value) {
if (value) {
value = value.toString();
if (value.length >= 6) {
return "(" + value.substr(0,3) + ")" + value.substr(3,3) + "-" + value.substr(6);
} else if (value.length >= 3) {
return "(" + value.substr(0,3) + ")" + value.substr(3);
} else if (value.length < 3) {
return "(" + value.substr(0);
}
}
return value;
};
})
.filter("phnReverse", function () {
return function (value) {
if (!!value) {
return value.replace(/\D/g, '').substr(0,10);
}
return value;
};
})
.filter('rateTwoDecimal', function () {
return function (input) {
input = input || 0;
return input.toFixed(2) + '%';
};
})
.filter('rateThreeDecimal', function () {
return function (input) {
input = input || 0;
return input.toFixed(3) + '%';
};
})
.filter('urlReady', function () {
return function (input) {
return encodeURIComponent(input);
};
})
.filter('qLoanCurrency', ['$filter', function ($filter) {
return function (input) {
input = input || 0;
input = '$' + input;
return input;
};
}])
.filter('wholeDollarAmount', ['$filter', function ($filter) {
return function (input) {
input = $filter('number')(input, 0);
input = $filter('qLoanCurrency')(input);
return input;
};
}])
.filter('loanAmount', ['$filter', function ($filter) {
return function (input) {
return $filter('wholeDollarAmount')(input);
};
}])
.filter('statedIncome', ['$filter', function ($filter) {
return function (input) {
return $filter('wholeDollarAmount')(input);
};
}])
.filter('payment', ['$filter', function ($filter) {
return function (input) {
input = $filter('number')(input, 2);
input = $filter('qLoanCurrency')(input);
return input;
};
}])
.filter('idformat', ['$filter', function ($filter) {
return function (input) {
return input;
};
}])
.filter('orderObjectBy', function () {
return function (items, field, reverse) {
var filtered = [];
angular.forEach(items, function (item, key) {
item.id = key;
filtered.push(item);
});
filtered.sort(function (a, b) {
return (a[field] > b[field] ? 1 : -1);
});
if (reverse)
filtered.reverse();
return filtered;
};
})
.filter('groupBy', ['$timeout', function ($timeout) {
return function (data, key) {
if (!key) return data;
var outputPropertyName = '__groupBy__' + key;
if(!data[outputPropertyName]){
var result = {};
for (var i=0;i<data.length;i++) {
if (!result[data[i][key]])
result[data[i][key]]=[];
result[data[i][key]].push(data[i]);
}
Object.defineProperty(data, outputPropertyName, {enumerable:false, configurable:true, writable: false, value:result});
$timeout(function(){delete data[outputPropertyName];},0,false);
}
return data[outputPropertyName];
};
}])
.filter('loanStatus', ['$filter', function () {
return function (input) {
if (input >= 0 && input <= 799){
return "Pending";
} else if(input >= 800){
return "Funded";
} else {
return 'undefined';
}
};
}])
.filter('limitDocumentName', function () {
return function (input) {
return input.substring(0,20)+"...";
}
})
.filter('documentReviewStatus', function () {
return function (input) {
var status = "Pending";
switch (input) {
case "reviewed":
case "verified":
status = "Reviewed"; break;
case "rejected":
status = "Rejected"; break;
}
return status;
};
})
.filter('documentStatusClass', function () {
return function (input) {
var className = 'warning';
switch (input) {
case "reviewed":
case "verified":
className = 'success'; break;
case "rejected":
className = 'danger'; break;
}
return className;
}
})