angular-filter
Advanced tools
Comparing version 0.5.2 to 0.5.3
{ | ||
"name": "angular-filter", | ||
"version": "0.5.2", | ||
"version": "0.5.3", | ||
"main": "dist/angular-filter.js", | ||
@@ -5,0 +5,0 @@ "description": "Bunch of useful filters for angularJS(with no external dependencies!)", |
/** | ||
* Bunch of useful filters for angularJS(with no external dependencies!) | ||
* @version v0.5.2 - 2015-01-17 * @link https://github.com/a8m/angular-filter | ||
* @version v0.5.3 - 2015-02-16 * @link https://github.com/a8m/angular-filter | ||
* @author Ariel Mashraki <ariel@mashraki.co.il> | ||
@@ -301,5 +301,3 @@ * @license MIT License, http://www.opensource.org/licenses/MIT | ||
*/ | ||
angular.module('a8m.is-null', []) | ||
.filter('isNull', function () { | ||
@@ -372,3 +370,2 @@ return function(input) { | ||
* in the collection before the first that found with the given properties. | ||
* | ||
*/ | ||
@@ -423,5 +420,3 @@ angular.module('a8m.before-where', []) | ||
* get (array/object, object/array) and return merged collection | ||
* | ||
*/ | ||
angular.module('a8m.concat', []) | ||
@@ -460,3 +455,2 @@ //TODO(Ariel):unique option ? or use unique filter to filter result | ||
*/ | ||
angular.module('a8m.contains', []) | ||
@@ -532,3 +526,2 @@ .filter({ | ||
*/ | ||
angular.module('a8m.defaults', []) | ||
@@ -651,5 +644,5 @@ .filter('defaults', ['$parse', function( $parse ) { | ||
var n, | ||
getter, | ||
args; | ||
var n | ||
, getter | ||
, args; | ||
@@ -879,9 +872,8 @@ collection = (isObject(collection)) | ||
*/ | ||
angular.module('a8m.is-empty', []) | ||
.filter('isEmpty', function () { | ||
return function(collection) { | ||
return (isObject(collection)) ? | ||
!toArray(collection).length : | ||
!collection.length; | ||
return (isObject(collection)) | ||
? !toArray(collection).length | ||
: !collection.length; | ||
} | ||
@@ -925,3 +917,2 @@ }); | ||
return function(collection) { | ||
var n | ||
@@ -946,7 +937,7 @@ , getter | ||
return (args.length) ? | ||
return (args.length) | ||
//send reversed collection as arguments, and reverse it back as result | ||
getFirstMatches(reversed.reverse(), n,(getter) ? $parse(getter) : getter).reverse() : | ||
? getFirstMatches(reversed.reverse(), n,(getter) ? $parse(getter) : getter).reverse() | ||
//get the last element | ||
reversed[reversed.length-1]; | ||
: reversed[reversed.length-1]; | ||
} | ||
@@ -1104,8 +1095,5 @@ }]); | ||
*/ | ||
angular.module('a8m.reverse', []) | ||
.filter('reverse',[ function () { | ||
return function (input) { | ||
input = (isObject(input)) ? toArray(input) : input; | ||
@@ -1117,3 +1105,5 @@ | ||
return (isArray(input)) ? input.slice().reverse() : input; | ||
return isArray(input) | ||
? input.slice().reverse() | ||
: input; | ||
} | ||
@@ -1168,5 +1158,3 @@ }]); | ||
*/ | ||
angular.module('a8m.to-array', []) | ||
.filter('toArray', function() { | ||
@@ -1179,7 +1167,7 @@ return function (collection, addKey) { | ||
return (!addKey) ? toArray(collection) : | ||
Object.keys(collection).map(function (key) { | ||
return extend(collection[key], { $key: key }); | ||
}); | ||
return !addKey | ||
? toArray(collection) | ||
: Object.keys(collection).map(function (key) { | ||
return extend(collection[key], { $key: key }); | ||
}); | ||
} | ||
@@ -1318,5 +1306,3 @@ }); | ||
*/ | ||
angular.module('a8m.math.byteFmt', ['a8m.math']) | ||
.filter('byteFmt', ['$math', function ($math) { | ||
@@ -1338,5 +1324,4 @@ return function (bytes, decimal) { | ||
} else { | ||
return "NaN"; | ||
} | ||
} | ||
return "NaN"; | ||
} | ||
@@ -1351,10 +1336,7 @@ }]); | ||
* Convert angle from radians to degrees | ||
* | ||
*/ | ||
angular.module('a8m.math.degrees', ['a8m.math']) | ||
.filter('degrees', ['$math', function ($math) { | ||
return function (radians, decimal) { | ||
// if decimal is not an integer greater than -1, we cannot do. quit with error "NaN" | ||
// if decimal is not an integer greater than -1, we cannot do. quit with error "NaN" | ||
// if degrees is not a real number, we cannot do also. quit with error "NaN" | ||
@@ -1382,5 +1364,3 @@ if(isNumber(decimal) && isFinite(decimal) && decimal%1===0 && decimal >= 0 && | ||
*/ | ||
angular.module('a8m.math.kbFmt', ['a8m.math']) | ||
.filter('kbFmt', ['$math', function ($math) { | ||
@@ -1399,6 +1379,4 @@ return function (bytes, decimal) { | ||
} | ||
} else { | ||
} | ||
return "NaN"; | ||
} | ||
} | ||
@@ -1412,8 +1390,5 @@ }]); | ||
*/ | ||
angular.module('a8m.math', []) | ||
.factory('$math', ['$window', function ($window) { | ||
return $window.Math; | ||
}]); | ||
@@ -1430,5 +1405,3 @@ | ||
*/ | ||
angular.module('a8m.math.max', ['a8m.math']) | ||
.filter('max', ['$math', '$parse', function ($math, $parse) { | ||
@@ -1457,3 +1430,2 @@ return function (input, expression) { | ||
} | ||
}]); | ||
@@ -1469,5 +1441,3 @@ /** | ||
*/ | ||
angular.module('a8m.math.min', ['a8m.math']) | ||
.filter('min', ['$math', '$parse', function ($math, $parse) { | ||
@@ -1496,3 +1466,2 @@ return function (input, expression) { | ||
} | ||
}]); | ||
@@ -1506,9 +1475,5 @@ /** | ||
* percentage between two numbers | ||
* | ||
*/ | ||
angular.module('a8m.math.percent', ['a8m.math']) | ||
.filter('percent', ['$math', '$window', function ($math, $window) { | ||
return function (input, divided, round) { | ||
@@ -1522,6 +1487,6 @@ | ||
return (round) ? $math.round((divider / divided) * 100) : | ||
((divider / divided) * 100); | ||
return round | ||
? $math.round((divider / divided) * 100) | ||
: (divider / divided) * 100; | ||
} | ||
}]); | ||
@@ -1536,7 +1501,4 @@ | ||
* Convert angle from degrees to radians | ||
* | ||
*/ | ||
angular.module('a8m.math.radians', ['a8m.math']) | ||
.filter('radians', ['$math', function ($math) { | ||
@@ -1550,5 +1512,4 @@ return function (degrees, decimal) { | ||
return $math.round(radians * $math.pow(10,decimal)) / ($math.pow(10,decimal)); | ||
} else { | ||
return "NaN"; | ||
} | ||
return "NaN"; | ||
} | ||
@@ -1567,9 +1528,5 @@ }]); | ||
*/ | ||
angular.module('a8m.math.radix', []) | ||
.filter('radix', function () { | ||
return function (input, radix) { | ||
var RANGE = /^[2-9]$|^[1-2]\d$|^3[0-6]$/; | ||
@@ -1582,5 +1539,3 @@ | ||
return input.toString(radix).toUpperCase(); | ||
} | ||
}); | ||
@@ -1598,5 +1553,3 @@ | ||
*/ | ||
angular.module('a8m.math.shortFmt', ['a8m.math']) | ||
.filter('shortFmt', ['$math', function ($math) { | ||
@@ -1617,5 +1570,4 @@ return function (number, decimal) { | ||
}else{ | ||
return "NaN"; | ||
} | ||
return "NaN"; | ||
} | ||
@@ -1630,17 +1582,12 @@ }]); | ||
* Sum up all values within an array | ||
* | ||
*/ | ||
angular.module('a8m.math.sum', []) | ||
.filter('sum', function () { | ||
return function (input, initial) { | ||
return (!isArray(input)) ? input : | ||
input.reduce(function(prev, curr) { | ||
return !isArray(input) | ||
? input | ||
: input.reduce(function(prev, curr) { | ||
return prev + curr; | ||
}, initial || 0); | ||
} | ||
}); | ||
@@ -1656,3 +1603,2 @@ | ||
*/ | ||
angular.module('a8m.ends-with', []) | ||
@@ -1679,2 +1625,124 @@ | ||
* @ngdoc filter | ||
* @name latinize | ||
* @kind function | ||
* | ||
* @description | ||
* remove accents/diacritics from a string | ||
*/ | ||
angular.module('a8m.latinize', []) | ||
.filter('latinize',[ function () { | ||
var defaultDiacriticsRemovalap = [ | ||
{'base':'A', 'letters':'\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F'}, | ||
{'base':'AA','letters':'\uA732'}, | ||
{'base':'AE','letters':'\u00C6\u01FC\u01E2'}, | ||
{'base':'AO','letters':'\uA734'}, | ||
{'base':'AU','letters':'\uA736'}, | ||
{'base':'AV','letters':'\uA738\uA73A'}, | ||
{'base':'AY','letters':'\uA73C'}, | ||
{'base':'B', 'letters':'\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181'}, | ||
{'base':'C', 'letters':'\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E'}, | ||
{'base':'D', 'letters':'\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779'}, | ||
{'base':'DZ','letters':'\u01F1\u01C4'}, | ||
{'base':'Dz','letters':'\u01F2\u01C5'}, | ||
{'base':'E', 'letters':'\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E'}, | ||
{'base':'F', 'letters':'\u0046\u24BB\uFF26\u1E1E\u0191\uA77B'}, | ||
{'base':'G', 'letters':'\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E'}, | ||
{'base':'H', 'letters':'\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D'}, | ||
{'base':'I', 'letters':'\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197'}, | ||
{'base':'J', 'letters':'\u004A\u24BF\uFF2A\u0134\u0248'}, | ||
{'base':'K', 'letters':'\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2'}, | ||
{'base':'L', 'letters':'\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780'}, | ||
{'base':'LJ','letters':'\u01C7'}, | ||
{'base':'Lj','letters':'\u01C8'}, | ||
{'base':'M', 'letters':'\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C'}, | ||
{'base':'N', 'letters':'\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4'}, | ||
{'base':'NJ','letters':'\u01CA'}, | ||
{'base':'Nj','letters':'\u01CB'}, | ||
{'base':'O', 'letters':'\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C'}, | ||
{'base':'OI','letters':'\u01A2'}, | ||
{'base':'OO','letters':'\uA74E'}, | ||
{'base':'OU','letters':'\u0222'}, | ||
{'base':'OE','letters':'\u008C\u0152'}, | ||
{'base':'oe','letters':'\u009C\u0153'}, | ||
{'base':'P', 'letters':'\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754'}, | ||
{'base':'Q', 'letters':'\u0051\u24C6\uFF31\uA756\uA758\u024A'}, | ||
{'base':'R', 'letters':'\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782'}, | ||
{'base':'S', 'letters':'\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784'}, | ||
{'base':'T', 'letters':'\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786'}, | ||
{'base':'TZ','letters':'\uA728'}, | ||
{'base':'U', 'letters':'\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244'}, | ||
{'base':'V', 'letters':'\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245'}, | ||
{'base':'VY','letters':'\uA760'}, | ||
{'base':'W', 'letters':'\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72'}, | ||
{'base':'X', 'letters':'\u0058\u24CD\uFF38\u1E8A\u1E8C'}, | ||
{'base':'Y', 'letters':'\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE'}, | ||
{'base':'Z', 'letters':'\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762'}, | ||
{'base':'a', 'letters':'\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250'}, | ||
{'base':'aa','letters':'\uA733'}, | ||
{'base':'ae','letters':'\u00E6\u01FD\u01E3'}, | ||
{'base':'ao','letters':'\uA735'}, | ||
{'base':'au','letters':'\uA737'}, | ||
{'base':'av','letters':'\uA739\uA73B'}, | ||
{'base':'ay','letters':'\uA73D'}, | ||
{'base':'b', 'letters':'\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253'}, | ||
{'base':'c', 'letters':'\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184'}, | ||
{'base':'d', 'letters':'\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A'}, | ||
{'base':'dz','letters':'\u01F3\u01C6'}, | ||
{'base':'e', 'letters':'\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD'}, | ||
{'base':'f', 'letters':'\u0066\u24D5\uFF46\u1E1F\u0192\uA77C'}, | ||
{'base':'g', 'letters':'\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F'}, | ||
{'base':'h', 'letters':'\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265'}, | ||
{'base':'hv','letters':'\u0195'}, | ||
{'base':'i', 'letters':'\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131'}, | ||
{'base':'j', 'letters':'\u006A\u24D9\uFF4A\u0135\u01F0\u0249'}, | ||
{'base':'k', 'letters':'\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3'}, | ||
{'base':'l', 'letters':'\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747'}, | ||
{'base':'lj','letters':'\u01C9'}, | ||
{'base':'m', 'letters':'\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F'}, | ||
{'base':'n', 'letters':'\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5'}, | ||
{'base':'nj','letters':'\u01CC'}, | ||
{'base':'o', 'letters':'\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275'}, | ||
{'base':'oi','letters':'\u01A3'}, | ||
{'base':'ou','letters':'\u0223'}, | ||
{'base':'oo','letters':'\uA74F'}, | ||
{'base':'p','letters':'\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755'}, | ||
{'base':'q','letters':'\u0071\u24E0\uFF51\u024B\uA757\uA759'}, | ||
{'base':'r','letters':'\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783'}, | ||
{'base':'s','letters':'\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B'}, | ||
{'base':'t','letters':'\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787'}, | ||
{'base':'tz','letters':'\uA729'}, | ||
{'base':'u','letters': '\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289'}, | ||
{'base':'v','letters':'\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C'}, | ||
{'base':'vy','letters':'\uA761'}, | ||
{'base':'w','letters':'\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73'}, | ||
{'base':'x','letters':'\u0078\u24E7\uFF58\u1E8B\u1E8D'}, | ||
{'base':'y','letters':'\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF'}, | ||
{'base':'z','letters':'\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763'} | ||
]; | ||
var diacriticsMap = {}; | ||
for (var i = 0; i < defaultDiacriticsRemovalap.length; i++) { | ||
var letters = defaultDiacriticsRemovalap[i].letters.split(""); | ||
for (var j = 0; j < letters.length ; j++){ | ||
diacriticsMap[letters[j]] = defaultDiacriticsRemovalap[i].base; | ||
} | ||
} | ||
// "what?" version ... http://jsperf.com/diacritics/12 | ||
function removeDiacritics (str) { | ||
return str.replace(/[^\u0000-\u007E]/g, function(a){ | ||
return diacriticsMap[a] || a; | ||
}); | ||
} | ||
return function (input) { | ||
return isString(input) | ||
? removeDiacritics(input) | ||
: input; | ||
} | ||
}]); | ||
/** | ||
* @ngdoc filter | ||
* @name ltrim | ||
@@ -1686,5 +1754,3 @@ * @kind function | ||
*/ | ||
angular.module('a8m.ltrim', []) | ||
.filter('ltrim', function () { | ||
@@ -1695,7 +1761,5 @@ return function(input, chars) { | ||
if(!isString(input)) { | ||
return input; | ||
} | ||
return input.replace(new RegExp('^' + trim + '+'), ''); | ||
return isString(input) | ||
? input.replace(new RegExp('^' + trim + '+'), '') | ||
: input; | ||
} | ||
@@ -1712,5 +1776,3 @@ }); | ||
*/ | ||
angular.module('a8m.repeat', []) | ||
.filter('repeat',[ function () { | ||
@@ -1725,3 +1787,5 @@ return function (input, n, separator) { | ||
return (!times) ? input : strRepeat(input, --n, separator || ''); | ||
return !times | ||
? input | ||
: strRepeat(input, --n, separator || ''); | ||
} | ||
@@ -1751,5 +1815,3 @@ }]); | ||
*/ | ||
angular.module('a8m.rtrim', []) | ||
.filter('rtrim', function () { | ||
@@ -1760,7 +1822,5 @@ return function(input, chars) { | ||
if(!isString(input)) { | ||
return input; | ||
} | ||
return input.replace(new RegExp(trim + '+$'), ''); | ||
return isString(input) | ||
? input.replace(new RegExp(trim + '+$'), '') | ||
: input; | ||
} | ||
@@ -1777,5 +1837,3 @@ }); | ||
*/ | ||
angular.module('a8m.slugify', []) | ||
.filter('slugify',[ function () { | ||
@@ -1786,8 +1844,5 @@ return function (input, sub) { | ||
if(isString(input)) { | ||
return input.toLowerCase() | ||
.replace(/\s+/g, replace); | ||
} | ||
return input; | ||
return isString(input) | ||
? input.toLowerCase().replace(/\s+/g, replace) | ||
: input; | ||
} | ||
@@ -1804,5 +1859,3 @@ }]); | ||
*/ | ||
angular.module('a8m.starts-with', []) | ||
.filter('startsWith', function () { | ||
@@ -1831,3 +1884,2 @@ return function (input, start, csensitive) { | ||
*/ | ||
angular.module('a8m.stringular', []) | ||
@@ -1842,3 +1894,2 @@ .filter('stringular', function () { | ||
}); | ||
} | ||
@@ -1855,10 +1906,8 @@ }); | ||
*/ | ||
angular.module('a8m.strip-tags', []) | ||
.filter('stripTags', function () { | ||
return function(input) { | ||
if(isString(input)) { | ||
return input.replace(/<\S[^><]*>/g, ''); | ||
} | ||
return input; | ||
return isString(input) | ||
? input.replace(/<\S[^><]*>/g, '') | ||
: input; | ||
} | ||
@@ -1875,5 +1924,3 @@ }); | ||
*/ | ||
angular.module('a8m.trim', []) | ||
.filter('trim', function () { | ||
@@ -1884,7 +1931,5 @@ return function(input, chars) { | ||
if(!isString(input)) { | ||
return input; | ||
} | ||
return input.replace(new RegExp('^' + trim + '+|' + trim + '+$', 'g'), ''); | ||
return isString(input) | ||
? input.replace(new RegExp('^' + trim + '+|' + trim + '+$', 'g'), '') | ||
: input; | ||
} | ||
@@ -1901,3 +1946,2 @@ }); | ||
*/ | ||
angular.module('a8m.truncate', []) | ||
@@ -1913,6 +1957,5 @@ .filter('truncate', function () { | ||
return input.substring(0, (preserve) ? | ||
((input.indexOf(' ', length) === -1) ? input.length : input.indexOf(' ', length)) : | ||
length) + suffix; | ||
return input.substring(0, (preserve) | ||
? ((input.indexOf(' ', length) === -1) ? input.length : input.indexOf(' ', length)) | ||
: length) + suffix; | ||
}; | ||
@@ -1928,3 +1971,2 @@ }); | ||
* ucfirst | ||
* | ||
*/ | ||
@@ -1934,8 +1976,10 @@ angular.module('a8m.ucfirst', []) | ||
return function(input) { | ||
if(!isString(input)) { | ||
return input; | ||
} | ||
return input.split(' ').map(function (ch) { | ||
return ch.charAt(0).toUpperCase() + ch.substring(1); | ||
}).join(' '); | ||
return isString(input) | ||
? input | ||
.split(' ') | ||
.map(function (ch) { | ||
return ch.charAt(0).toUpperCase() + ch.substring(1); | ||
}) | ||
.join(' ') | ||
: input; | ||
} | ||
@@ -1952,13 +1996,8 @@ }]); | ||
*/ | ||
angular.module('a8m.uri-component-encode', []) | ||
.filter('uriComponentEncode',['$window', function ($window) { | ||
return function (input) { | ||
if(isString(input)) { | ||
return $window.encodeURIComponent(input); | ||
} | ||
return input; | ||
return isString(input) | ||
? $window.encodeURIComponent(input) | ||
: input; | ||
} | ||
@@ -1975,13 +2014,8 @@ }]); | ||
*/ | ||
angular.module('a8m.uri-encode', []) | ||
.filter('uriEncode',['$window', function ($window) { | ||
return function (input) { | ||
if(isString(input)) { | ||
return $window.encodeURI(input); | ||
} | ||
return input; | ||
return isString(input) | ||
? $window.encodeURI(input) | ||
: input; | ||
} | ||
@@ -1998,14 +2032,8 @@ }]); | ||
*/ | ||
angular.module('a8m.wrap', []) | ||
.filter('wrap', function () { | ||
return function(input, wrap, ends) { | ||
if(!isString(input) || isUndefined(wrap)) { | ||
return input; | ||
} | ||
return [wrap, input, ends || wrap].join(''); | ||
return isString(input) && isDefined(wrap) | ||
? [wrap, input, ends || wrap].join('') | ||
: input; | ||
} | ||
@@ -2164,2 +2192,3 @@ }); | ||
'a8m.slugify', | ||
'a8m.latinize', | ||
'a8m.strip-tags', | ||
@@ -2166,0 +2195,0 @@ 'a8m.stringular', |
/** | ||
* Bunch of useful filters for angularJS(with no external dependencies!) | ||
* @version v0.5.2 - 2015-01-17 * @link https://github.com/a8m/angular-filter | ||
* @version v0.5.3 - 2015-02-16 * @link https://github.com/a8m/angular-filter | ||
* @author Ariel Mashraki <ariel@mashraki.co.il> | ||
* @license MIT License, http://www.opensource.org/licenses/MIT | ||
*/!function(a,b,c){"use strict";function d(a){return D(a)?a:Object.keys(a).map(function(b){return a[b]})}function e(a){return null===a}function f(a,b){var d=Object.keys(a);return-1==d.map(function(d){return b[d]!==c&&b[d]==a[d]}).indexOf(!1)}function g(a,b){if(""===b)return a;var c=a.indexOf(b.charAt(0));return-1===c?!1:g(a.substr(c+1),b.substr(1))}function h(a,b,c){var d=0;return a.filter(function(a){var e=x(c)?b>d&&c(a):b>d;return d=e?d+1:d,e})}function i(a,b,c){return c.round(a*c.pow(10,b))/c.pow(10,b)}function j(a,b,c){b=b||[];var d=Object.keys(a);return d.forEach(function(d){if(C(a[d])&&!D(a[d])){var e=c?c+"."+d:c;j(a[d],b,e||d)}else{var f=c?c+"."+d:d;b.push(f)}}),b}function k(a){return a&&a.$evalAsync&&a.$watch}function l(){return function(a,b){return a>b}}function m(){return function(a,b){return a>=b}}function n(){return function(a,b){return b>a}}function o(){return function(a,b){return b>=a}}function p(){return function(a,b){return a==b}}function q(){return function(a,b){return a!=b}}function r(){return function(a,b){return a===b}}function s(){return function(a,b){return a!==b}}function t(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!1:b.some(function(b){return C(b)||z(c)?a(c)(b):b===c})}}function u(a,b){return b=b||0,b>=a.length?a:D(a[b])?u(a.slice(0,b).concat(a[b],a.slice(b+1)),b):u(a,b+1)}function v(a){return function(b,c){function e(a,b){return y(b)?!1:a.some(function(a){return H(a,b)})}if(b=C(b)?d(b):b,!D(b))return b;var f=[],g=a(c);return b.filter(y(c)?function(a,b,c){return c.indexOf(a)===b}:function(a){var b=g(a);return e(f,b)?!1:(f.push(b),!0)})}}function w(a,b,c){return b?a+c+w(a,--b,c):a}var x=b.isDefined,y=b.isUndefined,z=b.isFunction,A=b.isString,B=b.isNumber,C=b.isObject,D=b.isArray,E=b.forEach,F=b.extend,G=b.copy,H=b.equals;String.prototype.contains||(String.prototype.contains=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),b.module("a8m.angular",[]).filter("isUndefined",function(){return function(a){return b.isUndefined(a)}}).filter("isDefined",function(){return function(a){return b.isDefined(a)}}).filter("isFunction",function(){return function(a){return b.isFunction(a)}}).filter("isString",function(){return function(a){return b.isString(a)}}).filter("isNumber",function(){return function(a){return b.isNumber(a)}}).filter("isArray",function(){return function(a){return b.isArray(a)}}).filter("isObject",function(){return function(a){return b.isObject(a)}}).filter("isEqual",function(){return function(a,c){return b.equals(a,c)}}),b.module("a8m.conditions",[]).filter({isGreaterThan:l,">":l,isGreaterThanOrEqualTo:m,">=":m,isLessThan:n,"<":n,isLessThanOrEqualTo:o,"<=":o,isEqualTo:p,"==":p,isNotEqualTo:q,"!=":q,isIdenticalTo:r,"===":r,isNotIdenticalTo:s,"!==":s}),b.module("a8m.is-null",[]).filter("isNull",function(){return function(a){return e(a)}}),b.module("a8m.after-where",[]).filter("afterWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(-1===c?0:c)}}),b.module("a8m.after",[]).filter("after",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(b):a}}),b.module("a8m.before-where",[]).filter("beforeWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(0,-1===c?a.length:++c)}}),b.module("a8m.before",[]).filter("before",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(0,b?--b:b):a}}),b.module("a8m.concat",[]).filter("concat",[function(){return function(a,b){if(y(b))return a;if(D(a))return a.concat(C(b)?d(b):b);if(C(a)){var c=d(a);return c.concat(C(b)?d(b):b)}return a}}]),b.module("a8m.contains",[]).filter({contains:["$parse",t],some:["$parse",t]}),b.module("a8m.count-by",[]).filter("countBy",["$parse",function(a){return function(b,c){var e,f={},g=a(c);return b=C(b)?d(b):b,!D(b)||y(c)?b:(b.forEach(function(a){e=g(a),f[e]||(f[e]=0),f[e]++}),f)}}]),b.module("a8m.defaults",[]).filter("defaults",["$parse",function(a){return function(b,c){if(b=C(b)?d(b):b,!D(b)||!C(c))return b;var e=j(c);return b.forEach(function(b){e.forEach(function(d){var e=a(d),f=e.assign;y(e(b))&&f(b,e(c))})}),b}}]),b.module("a8m.every",[]).filter("every",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!0:b.every(function(b){return C(b)||z(c)?a(c)(b):b===c})}}]),b.module("a8m.filter-by",[]).filter("filterBy",["$parse",function(a){return function(b,e,f){var g;return f=A(f)||B(f)?String(f).toLowerCase():c,b=C(b)?d(b):b,!D(b)||y(f)?b:b.filter(function(b){return e.some(function(c){if(~c.indexOf("+")){var d=c.replace(new RegExp("\\s","g"),"").split("+");g=d.reduce(function(c,d,e){return 1===e?a(c)(b)+" "+a(d)(b):c+" "+a(d)(b)})}else g=a(c)(b);return A(g)||B(g)?String(g).toLowerCase().contains(f):!1})})}}]),b.module("a8m.first",[]).filter("first",["$parse",function(a){return function(b){var e,f,g;return b=C(b)?d(b):b,D(b)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(b,e,f?a(f):f):b[0]):b}}]),b.module("a8m.flatten",[]).filter("flatten",function(){return function(a,b){return b=b||!1,a=C(a)?d(a):a,D(a)?b?[].concat.apply([],a):u(a,0):a}}),b.module("a8m.fuzzy-by",[]).filter("fuzzyBy",["$parse",function(a){return function(b,c,e,f){var h,i,j=f||!1;return b=C(b)?d(b):b,!D(b)||y(c)||y(e)?b:(i=a(c),b.filter(function(a){return h=i(a),A(h)?(h=j?h:h.toLowerCase(),e=j?e:e.toLowerCase(),g(h,e)!==!1):!1}))}}]),b.module("a8m.fuzzy",[]).filter("fuzzy",function(){return function(a,b,c){function e(a,b){var c,d,e=Object.keys(a);return 0<e.filter(function(e){return c=a[e],d?!0:A(c)?(c=f?c:c.toLowerCase(),d=g(c,b)!==!1):!1}).length}var f=c||!1;return a=C(a)?d(a):a,!D(a)||y(b)?a:(b=f?b:b.toLowerCase(),a.filter(function(a){return A(a)?(a=f?a:a.toLowerCase(),g(a,b)!==!1):C(a)?e(a,b):!1}))}}),b.module("a8m.group-by",["a8m.filter-watcher"]).filter("groupBy",["$parse","filterWatcher",function(a,b){return function(c,d){function e(a,b){var c,d={};return E(a,function(a){c=b(a),d[c]||(d[c]=[]),d[c].push(a)}),d}if(!C(c)||y(d))return c;var f=a(d);return b.isMemoized("groupBy",arguments)||b.memoize("groupBy",arguments,this,e(c,f))}}]),b.module("a8m.is-empty",[]).filter("isEmpty",function(){return function(a){return C(a)?!d(a).length:!a.length}}),b.module("a8m.join",[]).filter("join",function(){return function(a,b){return y(a)||!D(a)?a:(y(b)&&(b=" "),a.join(b))}}),b.module("a8m.last",[]).filter("last",["$parse",function(a){return function(b){var e,f,g,i=G(b);return i=C(i)?d(i):i,D(i)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(i.reverse(),e,f?a(f):f).reverse():i[i.length-1]):i}}]),b.module("a8m.map",[]).filter("map",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.map(function(b){return a(c)(b)})}}]),b.module("a8m.omit",[]).filter("omit",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return!a(c)(b)})}}]),b.module("a8m.pick",[]).filter("pick",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return a(c)(b)})}}]),b.module("a8m.remove-with",[]).filter("removeWith",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return!f(b,a)}))}}),b.module("a8m.remove",[]).filter("remove",function(){return function(a){a=C(a)?d(a):a;var b=Array.prototype.slice.call(arguments,1);return D(a)?a.filter(function(a){return!b.some(function(b){return H(b,a)})}):a}}),b.module("a8m.reverse",[]).filter("reverse",[function(){return function(a){return a=C(a)?d(a):a,A(a)?a.split("").reverse().join(""):D(a)?a.slice().reverse():a}}]),b.module("a8m.search-field",[]).filter("searchField",["$parse",function(a){return function(b){var c,e;b=C(b)?d(b):b;var f=Array.prototype.slice.call(arguments,1);return D(b)&&f.length?b.map(function(b){return e=f.map(function(d){return(c=a(d))(b)}).join(" "),F(b,{searchField:e})}):b}}]),b.module("a8m.to-array",[]).filter("toArray",function(){return function(a,b){return C(a)?b?Object.keys(a).map(function(b){return F(a[b],{$key:b})}):d(a):a}}),b.module("a8m.unique",[]).filter({unique:["$parse",v],uniq:["$parse",v]}),b.module("a8m.where",[]).filter("where",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return f(b,a)}))}}),b.module("a8m.xor",[]).filter("xor",["$parse",function(a){return function(b,c,e){function f(b,c){var d=a(e);return c.some(function(a){return e?H(d(a),d(b)):H(a,b)})}return e=e||!1,b=C(b)?d(b):b,c=C(c)?d(c):c,D(b)&&D(c)?b.concat(c).filter(function(a){return!(f(a,b)&&f(a,c))}):b}}]),b.module("a8m.math.byteFmt",["a8m.math"]).filter("byteFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" B":1048576>b?i(b/1024,c,a)+" KB":1073741824>b?i(b/1048576,c,a)+" MB":i(b/1073741824,c,a)+" GB":"NaN"}}]),b.module("a8m.math.degrees",["a8m.math"]).filter("degrees",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=180*b/a.PI;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.kbFmt",["a8m.math"]).filter("kbFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" KB":1048576>b?i(b/1024,c,a)+" MB":i(b/1048576,c,a)+" GB":"NaN"}}]),b.module("a8m.math",[]).factory("$math",["$window",function(a){return a.Math}]),b.module("a8m.math.max",["a8m.math"]).filter("max",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.max.apply(a,e))}return function(b,d){return D(b)?y(d)?a.max.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.min",["a8m.math"]).filter("min",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.min.apply(a,e))}return function(b,d){return D(b)?y(d)?a.min.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.percent",["a8m.math"]).filter("percent",["$math","$window",function(a,b){return function(c,d,e){var f=A(c)?b.Number(c):c;return d=d||100,e=e||!1,!B(f)||b.isNaN(f)?c:e?a.round(f/d*100):f/d*100}}]),b.module("a8m.math.radians",["a8m.math"]).filter("radians",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=3.14159265359*b/180;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.radix",[]).filter("radix",function(){return function(a,b){var c=/^[2-9]$|^[1-2]\d$|^3[0-6]$/;return B(a)&&c.test(b)?a.toString(b).toUpperCase():a}}),b.module("a8m.math.shortFmt",["a8m.math"]).filter("shortFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1e3>b?b:1e6>b?i(b/1e3,c,a)+" K":1e9>b?i(b/1e6,c,a)+" M":i(b/1e9,c,a)+" B":"NaN"}}]),b.module("a8m.math.sum",[]).filter("sum",function(){return function(a,b){return D(a)?a.reduce(function(a,b){return a+b},b||0):a}}),b.module("a8m.ends-with",[]).filter("endsWith",function(){return function(a,b,c){var d,e=c||!1;return!A(a)||y(b)?a:(a=e?a:a.toLowerCase(),d=a.length-b.length,-1!==a.indexOf(e?b:b.toLowerCase(),d))}}),b.module("a8m.ltrim",[]).filter("ltrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+"),""):a}}),b.module("a8m.repeat",[]).filter("repeat",[function(){return function(a,b,c){var d=~~b;return A(a)&&d?w(a,--b,c||""):a}}]),b.module("a8m.rtrim",[]).filter("rtrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp(c+"+$"),""):a}}),b.module("a8m.slugify",[]).filter("slugify",[function(){return function(a,b){var c=y(b)?"-":b;return A(a)?a.toLowerCase().replace(/\s+/g,c):a}}]),b.module("a8m.starts-with",[]).filter("startsWith",function(){return function(a,b,c){var d=c||!1;return!A(a)||y(b)?a:(a=d?a:a.toLowerCase(),!a.indexOf(d?b:b.toLowerCase()))}}),b.module("a8m.stringular",[]).filter("stringular",function(){return function(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/{(\d+)}/g,function(a,c){return y(b[c])?a:b[c]})}}),b.module("a8m.strip-tags",[]).filter("stripTags",function(){return function(a){return A(a)?a.replace(/<\S[^><]*>/g,""):a}}),b.module("a8m.trim",[]).filter("trim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+|"+c+"+$","g"),""):a}}),b.module("a8m.truncate",[]).filter("truncate",function(){return function(a,b,c,d){return b=y(b)?a.length:b,d=d||!1,c=c||"",!A(a)||a.length<=b?a:a.substring(0,d?-1===a.indexOf(" ",b)?a.length:a.indexOf(" ",b):b)+c}}),b.module("a8m.ucfirst",[]).filter("ucfirst",[function(){return function(a){return A(a)?a.split(" ").map(function(a){return a.charAt(0).toUpperCase()+a.substring(1)}).join(" "):a}}]),b.module("a8m.uri-component-encode",[]).filter("uriComponentEncode",["$window",function(a){return function(b){return A(b)?a.encodeURIComponent(b):b}}]),b.module("a8m.uri-encode",[]).filter("uriEncode",["$window",function(a){return function(b){return A(b)?a.encodeURI(b):b}}]),b.module("a8m.wrap",[]).filter("wrap",function(){return function(a,b,c){return!A(a)||y(b)?a:[b,a,c||b].join("")}}),b.module("a8m.filter-watcher",[]).provider("filterWatcher",function(){this.$get=["$window","$rootScope",function(a,c){function d(a,c){return[a,b.toJson(c)].join("#").replace(/"/g,"")}function e(a){var b=a.targetScope.$id;E(l[b],function(a){delete j[a]}),delete l[b]}function f(){m(function(){c.$$phase||(j={})})}function g(a,b){var c=a.$id;return y(l[c])&&(a.$on("$destroy",e),l[c]=[]),l[c].push(b)}function h(a,b){var c=d(a,b);return j[c]}function i(a,b,c,e){var h=d(a,b);return j[h]=e,k(c)?g(c,h):f(),e}var j={},l={},m=a.setTimeout;return{isMemoized:h,memoize:i}}]}),b.module("angular.filter",["a8m.ucfirst","a8m.uri-encode","a8m.uri-component-encode","a8m.slugify","a8m.strip-tags","a8m.stringular","a8m.truncate","a8m.starts-with","a8m.ends-with","a8m.wrap","a8m.trim","a8m.ltrim","a8m.rtrim","a8m.repeat","a8m.to-array","a8m.concat","a8m.contains","a8m.unique","a8m.is-empty","a8m.after","a8m.after-where","a8m.before","a8m.before-where","a8m.defaults","a8m.where","a8m.reverse","a8m.remove","a8m.remove-with","a8m.group-by","a8m.count-by","a8m.search-field","a8m.fuzzy-by","a8m.fuzzy","a8m.omit","a8m.pick","a8m.every","a8m.filter-by","a8m.xor","a8m.map","a8m.first","a8m.last","a8m.flatten","a8m.join","a8m.math","a8m.math.max","a8m.math.min","a8m.math.percent","a8m.math.radix","a8m.math.sum","a8m.math.degrees","a8m.math.radians","a8m.math.byteFmt","a8m.math.kbFmt","a8m.math.shortFmt","a8m.angular","a8m.conditions","a8m.is-null","a8m.filter-watcher"])}(window,window.angular); | ||
*/!function(a,b,c){"use strict";function d(a){return D(a)?a:Object.keys(a).map(function(b){return a[b]})}function e(a){return null===a}function f(a,b){var d=Object.keys(a);return-1==d.map(function(d){return b[d]!==c&&b[d]==a[d]}).indexOf(!1)}function g(a,b){if(""===b)return a;var c=a.indexOf(b.charAt(0));return-1===c?!1:g(a.substr(c+1),b.substr(1))}function h(a,b,c){var d=0;return a.filter(function(a){var e=x(c)?b>d&&c(a):b>d;return d=e?d+1:d,e})}function i(a,b,c){return c.round(a*c.pow(10,b))/c.pow(10,b)}function j(a,b,c){b=b||[];var d=Object.keys(a);return d.forEach(function(d){if(C(a[d])&&!D(a[d])){var e=c?c+"."+d:c;j(a[d],b,e||d)}else{var f=c?c+"."+d:d;b.push(f)}}),b}function k(a){return a&&a.$evalAsync&&a.$watch}function l(){return function(a,b){return a>b}}function m(){return function(a,b){return a>=b}}function n(){return function(a,b){return b>a}}function o(){return function(a,b){return b>=a}}function p(){return function(a,b){return a==b}}function q(){return function(a,b){return a!=b}}function r(){return function(a,b){return a===b}}function s(){return function(a,b){return a!==b}}function t(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!1:b.some(function(b){return C(b)||z(c)?a(c)(b):b===c})}}function u(a,b){return b=b||0,b>=a.length?a:D(a[b])?u(a.slice(0,b).concat(a[b],a.slice(b+1)),b):u(a,b+1)}function v(a){return function(b,c){function e(a,b){return y(b)?!1:a.some(function(a){return H(a,b)})}if(b=C(b)?d(b):b,!D(b))return b;var f=[],g=a(c);return b.filter(y(c)?function(a,b,c){return c.indexOf(a)===b}:function(a){var b=g(a);return e(f,b)?!1:(f.push(b),!0)})}}function w(a,b,c){return b?a+c+w(a,--b,c):a}var x=b.isDefined,y=b.isUndefined,z=b.isFunction,A=b.isString,B=b.isNumber,C=b.isObject,D=b.isArray,E=b.forEach,F=b.extend,G=b.copy,H=b.equals;String.prototype.contains||(String.prototype.contains=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),b.module("a8m.angular",[]).filter("isUndefined",function(){return function(a){return b.isUndefined(a)}}).filter("isDefined",function(){return function(a){return b.isDefined(a)}}).filter("isFunction",function(){return function(a){return b.isFunction(a)}}).filter("isString",function(){return function(a){return b.isString(a)}}).filter("isNumber",function(){return function(a){return b.isNumber(a)}}).filter("isArray",function(){return function(a){return b.isArray(a)}}).filter("isObject",function(){return function(a){return b.isObject(a)}}).filter("isEqual",function(){return function(a,c){return b.equals(a,c)}}),b.module("a8m.conditions",[]).filter({isGreaterThan:l,">":l,isGreaterThanOrEqualTo:m,">=":m,isLessThan:n,"<":n,isLessThanOrEqualTo:o,"<=":o,isEqualTo:p,"==":p,isNotEqualTo:q,"!=":q,isIdenticalTo:r,"===":r,isNotIdenticalTo:s,"!==":s}),b.module("a8m.is-null",[]).filter("isNull",function(){return function(a){return e(a)}}),b.module("a8m.after-where",[]).filter("afterWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(-1===c?0:c)}}),b.module("a8m.after",[]).filter("after",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(b):a}}),b.module("a8m.before-where",[]).filter("beforeWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(0,-1===c?a.length:++c)}}),b.module("a8m.before",[]).filter("before",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(0,b?--b:b):a}}),b.module("a8m.concat",[]).filter("concat",[function(){return function(a,b){if(y(b))return a;if(D(a))return a.concat(C(b)?d(b):b);if(C(a)){var c=d(a);return c.concat(C(b)?d(b):b)}return a}}]),b.module("a8m.contains",[]).filter({contains:["$parse",t],some:["$parse",t]}),b.module("a8m.count-by",[]).filter("countBy",["$parse",function(a){return function(b,c){var e,f={},g=a(c);return b=C(b)?d(b):b,!D(b)||y(c)?b:(b.forEach(function(a){e=g(a),f[e]||(f[e]=0),f[e]++}),f)}}]),b.module("a8m.defaults",[]).filter("defaults",["$parse",function(a){return function(b,c){if(b=C(b)?d(b):b,!D(b)||!C(c))return b;var e=j(c);return b.forEach(function(b){e.forEach(function(d){var e=a(d),f=e.assign;y(e(b))&&f(b,e(c))})}),b}}]),b.module("a8m.every",[]).filter("every",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!0:b.every(function(b){return C(b)||z(c)?a(c)(b):b===c})}}]),b.module("a8m.filter-by",[]).filter("filterBy",["$parse",function(a){return function(b,e,f){var g;return f=A(f)||B(f)?String(f).toLowerCase():c,b=C(b)?d(b):b,!D(b)||y(f)?b:b.filter(function(b){return e.some(function(c){if(~c.indexOf("+")){var d=c.replace(new RegExp("\\s","g"),"").split("+");g=d.reduce(function(c,d,e){return 1===e?a(c)(b)+" "+a(d)(b):c+" "+a(d)(b)})}else g=a(c)(b);return A(g)||B(g)?String(g).toLowerCase().contains(f):!1})})}}]),b.module("a8m.first",[]).filter("first",["$parse",function(a){return function(b){var e,f,g;return b=C(b)?d(b):b,D(b)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(b,e,f?a(f):f):b[0]):b}}]),b.module("a8m.flatten",[]).filter("flatten",function(){return function(a,b){return b=b||!1,a=C(a)?d(a):a,D(a)?b?[].concat.apply([],a):u(a,0):a}}),b.module("a8m.fuzzy-by",[]).filter("fuzzyBy",["$parse",function(a){return function(b,c,e,f){var h,i,j=f||!1;return b=C(b)?d(b):b,!D(b)||y(c)||y(e)?b:(i=a(c),b.filter(function(a){return h=i(a),A(h)?(h=j?h:h.toLowerCase(),e=j?e:e.toLowerCase(),g(h,e)!==!1):!1}))}}]),b.module("a8m.fuzzy",[]).filter("fuzzy",function(){return function(a,b,c){function e(a,b){var c,d,e=Object.keys(a);return 0<e.filter(function(e){return c=a[e],d?!0:A(c)?(c=f?c:c.toLowerCase(),d=g(c,b)!==!1):!1}).length}var f=c||!1;return a=C(a)?d(a):a,!D(a)||y(b)?a:(b=f?b:b.toLowerCase(),a.filter(function(a){return A(a)?(a=f?a:a.toLowerCase(),g(a,b)!==!1):C(a)?e(a,b):!1}))}}),b.module("a8m.group-by",["a8m.filter-watcher"]).filter("groupBy",["$parse","filterWatcher",function(a,b){return function(c,d){function e(a,b){var c,d={};return E(a,function(a){c=b(a),d[c]||(d[c]=[]),d[c].push(a)}),d}if(!C(c)||y(d))return c;var f=a(d);return b.isMemoized("groupBy",arguments)||b.memoize("groupBy",arguments,this,e(c,f))}}]),b.module("a8m.is-empty",[]).filter("isEmpty",function(){return function(a){return C(a)?!d(a).length:!a.length}}),b.module("a8m.join",[]).filter("join",function(){return function(a,b){return y(a)||!D(a)?a:(y(b)&&(b=" "),a.join(b))}}),b.module("a8m.last",[]).filter("last",["$parse",function(a){return function(b){var e,f,g,i=G(b);return i=C(i)?d(i):i,D(i)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(i.reverse(),e,f?a(f):f).reverse():i[i.length-1]):i}}]),b.module("a8m.map",[]).filter("map",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.map(function(b){return a(c)(b)})}}]),b.module("a8m.omit",[]).filter("omit",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return!a(c)(b)})}}]),b.module("a8m.pick",[]).filter("pick",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return a(c)(b)})}}]),b.module("a8m.remove-with",[]).filter("removeWith",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return!f(b,a)}))}}),b.module("a8m.remove",[]).filter("remove",function(){return function(a){a=C(a)?d(a):a;var b=Array.prototype.slice.call(arguments,1);return D(a)?a.filter(function(a){return!b.some(function(b){return H(b,a)})}):a}}),b.module("a8m.reverse",[]).filter("reverse",[function(){return function(a){return a=C(a)?d(a):a,A(a)?a.split("").reverse().join(""):D(a)?a.slice().reverse():a}}]),b.module("a8m.search-field",[]).filter("searchField",["$parse",function(a){return function(b){var c,e;b=C(b)?d(b):b;var f=Array.prototype.slice.call(arguments,1);return D(b)&&f.length?b.map(function(b){return e=f.map(function(d){return(c=a(d))(b)}).join(" "),F(b,{searchField:e})}):b}}]),b.module("a8m.to-array",[]).filter("toArray",function(){return function(a,b){return C(a)?b?Object.keys(a).map(function(b){return F(a[b],{$key:b})}):d(a):a}}),b.module("a8m.unique",[]).filter({unique:["$parse",v],uniq:["$parse",v]}),b.module("a8m.where",[]).filter("where",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return f(b,a)}))}}),b.module("a8m.xor",[]).filter("xor",["$parse",function(a){return function(b,c,e){function f(b,c){var d=a(e);return c.some(function(a){return e?H(d(a),d(b)):H(a,b)})}return e=e||!1,b=C(b)?d(b):b,c=C(c)?d(c):c,D(b)&&D(c)?b.concat(c).filter(function(a){return!(f(a,b)&&f(a,c))}):b}}]),b.module("a8m.math.byteFmt",["a8m.math"]).filter("byteFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" B":1048576>b?i(b/1024,c,a)+" KB":1073741824>b?i(b/1048576,c,a)+" MB":i(b/1073741824,c,a)+" GB":"NaN"}}]),b.module("a8m.math.degrees",["a8m.math"]).filter("degrees",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=180*b/a.PI;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.kbFmt",["a8m.math"]).filter("kbFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" KB":1048576>b?i(b/1024,c,a)+" MB":i(b/1048576,c,a)+" GB":"NaN"}}]),b.module("a8m.math",[]).factory("$math",["$window",function(a){return a.Math}]),b.module("a8m.math.max",["a8m.math"]).filter("max",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.max.apply(a,e))}return function(b,d){return D(b)?y(d)?a.max.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.min",["a8m.math"]).filter("min",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.min.apply(a,e))}return function(b,d){return D(b)?y(d)?a.min.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.percent",["a8m.math"]).filter("percent",["$math","$window",function(a,b){return function(c,d,e){var f=A(c)?b.Number(c):c;return d=d||100,e=e||!1,!B(f)||b.isNaN(f)?c:e?a.round(f/d*100):f/d*100}}]),b.module("a8m.math.radians",["a8m.math"]).filter("radians",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=3.14159265359*b/180;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.radix",[]).filter("radix",function(){return function(a,b){var c=/^[2-9]$|^[1-2]\d$|^3[0-6]$/;return B(a)&&c.test(b)?a.toString(b).toUpperCase():a}}),b.module("a8m.math.shortFmt",["a8m.math"]).filter("shortFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1e3>b?b:1e6>b?i(b/1e3,c,a)+" K":1e9>b?i(b/1e6,c,a)+" M":i(b/1e9,c,a)+" B":"NaN"}}]),b.module("a8m.math.sum",[]).filter("sum",function(){return function(a,b){return D(a)?a.reduce(function(a,b){return a+b},b||0):a}}),b.module("a8m.ends-with",[]).filter("endsWith",function(){return function(a,b,c){var d,e=c||!1;return!A(a)||y(b)?a:(a=e?a:a.toLowerCase(),d=a.length-b.length,-1!==a.indexOf(e?b:b.toLowerCase(),d))}}),b.module("a8m.latinize",[]).filter("latinize",[function(){function a(a){return a.replace(/[^\u0000-\u007E]/g,function(a){return c[a]||a})}for(var b=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"Œ"},{base:"oe",letters:"œ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],c={},d=0;d<b.length;d++)for(var e=b[d].letters.split(""),f=0;f<e.length;f++)c[e[f]]=b[d].base;return function(b){return A(b)?a(b):b}}]),b.module("a8m.ltrim",[]).filter("ltrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+"),""):a}}),b.module("a8m.repeat",[]).filter("repeat",[function(){return function(a,b,c){var d=~~b;return A(a)&&d?w(a,--b,c||""):a}}]),b.module("a8m.rtrim",[]).filter("rtrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp(c+"+$"),""):a}}),b.module("a8m.slugify",[]).filter("slugify",[function(){return function(a,b){var c=y(b)?"-":b;return A(a)?a.toLowerCase().replace(/\s+/g,c):a}}]),b.module("a8m.starts-with",[]).filter("startsWith",function(){return function(a,b,c){var d=c||!1;return!A(a)||y(b)?a:(a=d?a:a.toLowerCase(),!a.indexOf(d?b:b.toLowerCase()))}}),b.module("a8m.stringular",[]).filter("stringular",function(){return function(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/{(\d+)}/g,function(a,c){return y(b[c])?a:b[c]})}}),b.module("a8m.strip-tags",[]).filter("stripTags",function(){return function(a){return A(a)?a.replace(/<\S[^><]*>/g,""):a}}),b.module("a8m.trim",[]).filter("trim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+|"+c+"+$","g"),""):a}}),b.module("a8m.truncate",[]).filter("truncate",function(){return function(a,b,c,d){return b=y(b)?a.length:b,d=d||!1,c=c||"",!A(a)||a.length<=b?a:a.substring(0,d?-1===a.indexOf(" ",b)?a.length:a.indexOf(" ",b):b)+c}}),b.module("a8m.ucfirst",[]).filter("ucfirst",[function(){return function(a){return A(a)?a.split(" ").map(function(a){return a.charAt(0).toUpperCase()+a.substring(1)}).join(" "):a}}]),b.module("a8m.uri-component-encode",[]).filter("uriComponentEncode",["$window",function(a){return function(b){return A(b)?a.encodeURIComponent(b):b}}]),b.module("a8m.uri-encode",[]).filter("uriEncode",["$window",function(a){return function(b){return A(b)?a.encodeURI(b):b}}]),b.module("a8m.wrap",[]).filter("wrap",function(){return function(a,b,c){return A(a)&&x(b)?[b,a,c||b].join(""):a}}),b.module("a8m.filter-watcher",[]).provider("filterWatcher",function(){this.$get=["$window","$rootScope",function(a,c){function d(a,c){return[a,b.toJson(c)].join("#").replace(/"/g,"")}function e(a){var b=a.targetScope.$id;E(l[b],function(a){delete j[a]}),delete l[b]}function f(){m(function(){c.$$phase||(j={})})}function g(a,b){var c=a.$id;return y(l[c])&&(a.$on("$destroy",e),l[c]=[]),l[c].push(b)}function h(a,b){var c=d(a,b);return j[c]}function i(a,b,c,e){var h=d(a,b);return j[h]=e,k(c)?g(c,h):f(),e}var j={},l={},m=a.setTimeout;return{isMemoized:h,memoize:i}}]}),b.module("angular.filter",["a8m.ucfirst","a8m.uri-encode","a8m.uri-component-encode","a8m.slugify","a8m.latinize","a8m.strip-tags","a8m.stringular","a8m.truncate","a8m.starts-with","a8m.ends-with","a8m.wrap","a8m.trim","a8m.ltrim","a8m.rtrim","a8m.repeat","a8m.to-array","a8m.concat","a8m.contains","a8m.unique","a8m.is-empty","a8m.after","a8m.after-where","a8m.before","a8m.before-where","a8m.defaults","a8m.where","a8m.reverse","a8m.remove","a8m.remove-with","a8m.group-by","a8m.count-by","a8m.search-field","a8m.fuzzy-by","a8m.fuzzy","a8m.omit","a8m.pick","a8m.every","a8m.filter-by","a8m.xor","a8m.map","a8m.first","a8m.last","a8m.flatten","a8m.join","a8m.math","a8m.math.max","a8m.math.min","a8m.math.percent","a8m.math.radix","a8m.math.sum","a8m.math.degrees","a8m.math.radians","a8m.math.byteFmt","a8m.math.kbFmt","a8m.math.shortFmt","a8m.angular","a8m.conditions","a8m.is-null","a8m.filter-watcher"])}(window,window.angular); |
{ | ||
"name": "angular-filter", | ||
"description": "Bunch of useful filters for angularJS(with no external dependencies!)", | ||
"version": "0.5.2", | ||
"version": "0.5.3", | ||
"filename": "angular-filter.min.js", | ||
@@ -6,0 +6,0 @@ "main": "dist/angular-filter.min.js", |
#Angular-filter [![NPM version][npm-image]][npm-url] [![Build status][travis-image]][travis-url] [![Test coverage][coveralls-image]][coveralls-url] [![License][license-image]][license-url] | ||
>Bunch of useful filters for AngularJS (with no external dependencies!), **v0.5.1** | ||
>Bunch of useful filters for AngularJS (with no external dependencies!), **v0.5.3** | ||
@@ -49,2 +49,3 @@ **Notice:** if you want to use `angular-filter` out of AngularJS(e.g: Node, etc..), check [Agile.js repo](https://github.com/a8m/agile) | ||
- [slugify](#slugify) | ||
- [latinize](#latinize) | ||
- [startsWith](#startswith) | ||
@@ -108,3 +109,3 @@ - [stripTags](#striptags) | ||
<head> | ||
</head> | ||
@@ -228,3 +229,3 @@ <body> | ||
``` | ||
Return users whose full name is | ||
Return users whose full name is | ||
```html | ||
@@ -341,3 +342,3 @@ <!--search by full name --> | ||
```html | ||
<th ng-repeat="elm in wierdArray | flatten"> | ||
<th ng-repeat="elm in wierdArray | flatten"> | ||
{{ elm }}, | ||
@@ -487,3 +488,3 @@ </th> | ||
<b>id:</b> {{ order.id }}, | ||
<b>name:</b> {{ order.name }}, | ||
<b>name:</b> {{ order.name }}, | ||
<b>shipping address:</b> {{ order.destination.zip }} | ||
@@ -857,3 +858,3 @@ </li> | ||
</th> | ||
<!--result: | ||
<!--result: | ||
1 2 3 4 5 | ||
@@ -864,6 +865,6 @@ --> | ||
</th> | ||
<!--result: | ||
<!--result: | ||
2, foo bag | ||
``` | ||
###toArray | ||
###toArray | ||
Convert objects into stable arrays. <br/> | ||
@@ -890,3 +891,3 @@ **Usage:** ```object | toArray: addKey[optional]```<br/> | ||
</th> | ||
<!--result: | ||
<!--result: | ||
0.5, 1, 1.5, 2, 2.5 | ||
@@ -956,2 +957,13 @@ ``` | ||
``` | ||
###latinize | ||
Remove accents/diacritics from a string | ||
```html | ||
{{ 'Sòme strÏng with Âccénts' | latinize }} | ||
<!-- | ||
result: | ||
Some strIng with Accents | ||
--> | ||
``` | ||
###startsWith | ||
@@ -1083,4 +1095,4 @@ return whether string starts with the starts parameter.<br/> | ||
###max | ||
max find and return the largest number in a given array. | ||
if an `expression` is provided, will return max value by expression. | ||
max find and return the largest number in a given array. | ||
if an `expression` is provided, will return max value by expression. | ||
**Usage:** ```array | max: expression[optional]``` | ||
@@ -1105,4 +1117,4 @@ ```js | ||
###min | ||
min find and return the lowest number in a given array. | ||
if an `expression` is provided, will return min value by expression. | ||
min find and return the lowest number in a given array. | ||
if an `expression` is provided, will return min value by expression. | ||
**Usage:** ```array | min: expression[optional]``` | ||
@@ -1109,0 +1121,0 @@ ```js |
@@ -10,5 +10,3 @@ /** | ||
*/ | ||
angular.module('a8m.is-null', []) | ||
.filter('isNull', function () { | ||
@@ -15,0 +13,0 @@ return function(input) { |
@@ -9,3 +9,2 @@ /** | ||
* in the collection before the first that found with the given properties. | ||
* | ||
*/ | ||
@@ -12,0 +11,0 @@ angular.module('a8m.before-where', []) |
@@ -8,5 +8,3 @@ /** | ||
* get (array/object, object/array) and return merged collection | ||
* | ||
*/ | ||
angular.module('a8m.concat', []) | ||
@@ -13,0 +11,0 @@ //TODO(Ariel):unique option ? or use unique filter to filter result |
@@ -9,3 +9,2 @@ /** | ||
*/ | ||
angular.module('a8m.contains', []) | ||
@@ -12,0 +11,0 @@ .filter({ |
@@ -9,3 +9,2 @@ /** | ||
*/ | ||
angular.module('a8m.defaults', []) | ||
@@ -12,0 +11,0 @@ .filter('defaults', ['$parse', function( $parse ) { |
@@ -14,5 +14,5 @@ /** | ||
var n, | ||
getter, | ||
args; | ||
var n | ||
, getter | ||
, args; | ||
@@ -19,0 +19,0 @@ collection = (isObject(collection)) |
@@ -9,10 +9,9 @@ /** | ||
*/ | ||
angular.module('a8m.is-empty', []) | ||
.filter('isEmpty', function () { | ||
return function(collection) { | ||
return (isObject(collection)) ? | ||
!toArray(collection).length : | ||
!collection.length; | ||
return (isObject(collection)) | ||
? !toArray(collection).length | ||
: !collection.length; | ||
} | ||
}); |
@@ -13,3 +13,2 @@ /** | ||
return function(collection) { | ||
var n | ||
@@ -34,8 +33,8 @@ , getter | ||
return (args.length) ? | ||
return (args.length) | ||
//send reversed collection as arguments, and reverse it back as result | ||
getFirstMatches(reversed.reverse(), n,(getter) ? $parse(getter) : getter).reverse() : | ||
? getFirstMatches(reversed.reverse(), n,(getter) ? $parse(getter) : getter).reverse() | ||
//get the last element | ||
reversed[reversed.length-1]; | ||
: reversed[reversed.length-1]; | ||
} | ||
}]); |
@@ -9,8 +9,5 @@ /** | ||
*/ | ||
angular.module('a8m.reverse', []) | ||
.filter('reverse',[ function () { | ||
return function (input) { | ||
input = (isObject(input)) ? toArray(input) : input; | ||
@@ -22,4 +19,6 @@ | ||
return (isArray(input)) ? input.slice().reverse() : input; | ||
return isArray(input) | ||
? input.slice().reverse() | ||
: input; | ||
} | ||
}]); |
@@ -12,5 +12,3 @@ /** | ||
*/ | ||
angular.module('a8m.to-array', []) | ||
.filter('toArray', function() { | ||
@@ -23,8 +21,8 @@ return function (collection, addKey) { | ||
return (!addKey) ? toArray(collection) : | ||
Object.keys(collection).map(function (key) { | ||
return extend(collection[key], { $key: key }); | ||
}); | ||
return !addKey | ||
? toArray(collection) | ||
: Object.keys(collection).map(function (key) { | ||
return extend(collection[key], { $key: key }); | ||
}); | ||
} | ||
}); |
@@ -10,5 +10,3 @@ /** | ||
*/ | ||
angular.module('a8m.math.byteFmt', ['a8m.math']) | ||
.filter('byteFmt', ['$math', function ($math) { | ||
@@ -30,6 +28,5 @@ return function (bytes, decimal) { | ||
} else { | ||
return "NaN"; | ||
} | ||
} | ||
return "NaN"; | ||
} | ||
}]); |
@@ -8,10 +8,7 @@ /** | ||
* Convert angle from radians to degrees | ||
* | ||
*/ | ||
angular.module('a8m.math.degrees', ['a8m.math']) | ||
.filter('degrees', ['$math', function ($math) { | ||
return function (radians, decimal) { | ||
// if decimal is not an integer greater than -1, we cannot do. quit with error "NaN" | ||
// if decimal is not an integer greater than -1, we cannot do. quit with error "NaN" | ||
// if degrees is not a real number, we cannot do also. quit with error "NaN" | ||
@@ -18,0 +15,0 @@ if(isNumber(decimal) && isFinite(decimal) && decimal%1===0 && decimal >= 0 && |
@@ -10,5 +10,3 @@ /** | ||
*/ | ||
angular.module('a8m.math.kbFmt', ['a8m.math']) | ||
.filter('kbFmt', ['$math', function ($math) { | ||
@@ -27,7 +25,5 @@ return function (bytes, decimal) { | ||
} | ||
} else { | ||
} | ||
return "NaN"; | ||
} | ||
} | ||
}]); |
@@ -7,8 +7,5 @@ /** | ||
*/ | ||
angular.module('a8m.math', []) | ||
.factory('$math', ['$window', function ($window) { | ||
return $window.Math; | ||
}]); |
@@ -10,5 +10,3 @@ /** | ||
*/ | ||
angular.module('a8m.math.max', ['a8m.math']) | ||
.filter('max', ['$math', '$parse', function ($math, $parse) { | ||
@@ -37,3 +35,2 @@ return function (input, expression) { | ||
} | ||
}]); |
@@ -10,5 +10,3 @@ /** | ||
*/ | ||
angular.module('a8m.math.min', ['a8m.math']) | ||
.filter('min', ['$math', '$parse', function ($math, $parse) { | ||
@@ -37,3 +35,2 @@ return function (input, expression) { | ||
} | ||
}]); |
@@ -8,9 +8,5 @@ /** | ||
* percentage between two numbers | ||
* | ||
*/ | ||
angular.module('a8m.math.percent', ['a8m.math']) | ||
.filter('percent', ['$math', '$window', function ($math, $window) { | ||
return function (input, divided, round) { | ||
@@ -24,6 +20,6 @@ | ||
return (round) ? $math.round((divider / divided) * 100) : | ||
((divider / divided) * 100); | ||
return round | ||
? $math.round((divider / divided) * 100) | ||
: (divider / divided) * 100; | ||
} | ||
}]); |
@@ -8,7 +8,4 @@ /** | ||
* Convert angle from degrees to radians | ||
* | ||
*/ | ||
angular.module('a8m.math.radians', ['a8m.math']) | ||
.filter('radians', ['$math', function ($math) { | ||
@@ -22,5 +19,4 @@ return function (degrees, decimal) { | ||
return $math.round(radians * $math.pow(10,decimal)) / ($math.pow(10,decimal)); | ||
} else { | ||
return "NaN"; | ||
} | ||
return "NaN"; | ||
} | ||
@@ -27,0 +23,0 @@ }]); |
@@ -9,9 +9,5 @@ /** | ||
*/ | ||
angular.module('a8m.math.radix', []) | ||
.filter('radix', function () { | ||
return function (input, radix) { | ||
var RANGE = /^[2-9]$|^[1-2]\d$|^3[0-6]$/; | ||
@@ -24,5 +20,3 @@ | ||
return input.toString(radix).toUpperCase(); | ||
} | ||
}); |
@@ -11,5 +11,3 @@ /** | ||
*/ | ||
angular.module('a8m.math.shortFmt', ['a8m.math']) | ||
.filter('shortFmt', ['$math', function ($math) { | ||
@@ -30,6 +28,5 @@ return function (number, decimal) { | ||
}else{ | ||
return "NaN"; | ||
} | ||
return "NaN"; | ||
} | ||
}]); |
@@ -8,17 +8,12 @@ /** | ||
* Sum up all values within an array | ||
* | ||
*/ | ||
angular.module('a8m.math.sum', []) | ||
.filter('sum', function () { | ||
return function (input, initial) { | ||
return (!isArray(input)) ? input : | ||
input.reduce(function(prev, curr) { | ||
return !isArray(input) | ||
? input | ||
: input.reduce(function(prev, curr) { | ||
return prev + curr; | ||
}, initial || 0); | ||
} | ||
}); |
@@ -9,3 +9,2 @@ /** | ||
*/ | ||
angular.module('a8m.ends-with', []) | ||
@@ -12,0 +11,0 @@ |
@@ -9,5 +9,3 @@ /** | ||
*/ | ||
angular.module('a8m.ltrim', []) | ||
.filter('ltrim', function () { | ||
@@ -18,8 +16,6 @@ return function(input, chars) { | ||
if(!isString(input)) { | ||
return input; | ||
} | ||
return input.replace(new RegExp('^' + trim + '+'), ''); | ||
return isString(input) | ||
? input.replace(new RegExp('^' + trim + '+'), '') | ||
: input; | ||
} | ||
}); |
@@ -9,5 +9,3 @@ /** | ||
*/ | ||
angular.module('a8m.repeat', []) | ||
.filter('repeat',[ function () { | ||
@@ -22,3 +20,5 @@ return function (input, n, separator) { | ||
return (!times) ? input : strRepeat(input, --n, separator || ''); | ||
return !times | ||
? input | ||
: strRepeat(input, --n, separator || ''); | ||
} | ||
@@ -25,0 +25,0 @@ }]); |
@@ -9,5 +9,3 @@ /** | ||
*/ | ||
angular.module('a8m.rtrim', []) | ||
.filter('rtrim', function () { | ||
@@ -18,8 +16,6 @@ return function(input, chars) { | ||
if(!isString(input)) { | ||
return input; | ||
} | ||
return input.replace(new RegExp(trim + '+$'), ''); | ||
return isString(input) | ||
? input.replace(new RegExp(trim + '+$'), '') | ||
: input; | ||
} | ||
}); |
@@ -9,5 +9,3 @@ /** | ||
*/ | ||
angular.module('a8m.slugify', []) | ||
.filter('slugify',[ function () { | ||
@@ -18,9 +16,6 @@ return function (input, sub) { | ||
if(isString(input)) { | ||
return input.toLowerCase() | ||
.replace(/\s+/g, replace); | ||
} | ||
return input; | ||
return isString(input) | ||
? input.toLowerCase().replace(/\s+/g, replace) | ||
: input; | ||
} | ||
}]); |
@@ -9,5 +9,3 @@ /** | ||
*/ | ||
angular.module('a8m.starts-with', []) | ||
.filter('startsWith', function () { | ||
@@ -14,0 +12,0 @@ return function (input, start, csensitive) { |
@@ -9,3 +9,2 @@ /** | ||
*/ | ||
angular.module('a8m.stringular', []) | ||
@@ -20,4 +19,3 @@ .filter('stringular', function () { | ||
}); | ||
} | ||
}); |
@@ -9,11 +9,9 @@ /** | ||
*/ | ||
angular.module('a8m.strip-tags', []) | ||
.filter('stripTags', function () { | ||
return function(input) { | ||
if(isString(input)) { | ||
return input.replace(/<\S[^><]*>/g, ''); | ||
} | ||
return input; | ||
return isString(input) | ||
? input.replace(/<\S[^><]*>/g, '') | ||
: input; | ||
} | ||
}); |
@@ -9,5 +9,3 @@ /** | ||
*/ | ||
angular.module('a8m.trim', []) | ||
.filter('trim', function () { | ||
@@ -18,8 +16,6 @@ return function(input, chars) { | ||
if(!isString(input)) { | ||
return input; | ||
} | ||
return input.replace(new RegExp('^' + trim + '+|' + trim + '+$', 'g'), ''); | ||
return isString(input) | ||
? input.replace(new RegExp('^' + trim + '+|' + trim + '+$', 'g'), '') | ||
: input; | ||
} | ||
}); |
@@ -9,3 +9,2 @@ /** | ||
*/ | ||
angular.module('a8m.truncate', []) | ||
@@ -21,7 +20,6 @@ .filter('truncate', function () { | ||
return input.substring(0, (preserve) ? | ||
((input.indexOf(' ', length) === -1) ? input.length : input.indexOf(' ', length)) : | ||
length) + suffix; | ||
return input.substring(0, (preserve) | ||
? ((input.indexOf(' ', length) === -1) ? input.length : input.indexOf(' ', length)) | ||
: length) + suffix; | ||
}; | ||
}); |
@@ -8,3 +8,2 @@ /** | ||
* ucfirst | ||
* | ||
*/ | ||
@@ -14,9 +13,11 @@ angular.module('a8m.ucfirst', []) | ||
return function(input) { | ||
if(!isString(input)) { | ||
return input; | ||
} | ||
return input.split(' ').map(function (ch) { | ||
return ch.charAt(0).toUpperCase() + ch.substring(1); | ||
}).join(' '); | ||
return isString(input) | ||
? input | ||
.split(' ') | ||
.map(function (ch) { | ||
return ch.charAt(0).toUpperCase() + ch.substring(1); | ||
}) | ||
.join(' ') | ||
: input; | ||
} | ||
}]); |
@@ -9,14 +9,9 @@ /** | ||
*/ | ||
angular.module('a8m.uri-component-encode', []) | ||
.filter('uriComponentEncode',['$window', function ($window) { | ||
return function (input) { | ||
if(isString(input)) { | ||
return $window.encodeURIComponent(input); | ||
} | ||
return input; | ||
return isString(input) | ||
? $window.encodeURIComponent(input) | ||
: input; | ||
} | ||
}]); |
@@ -9,14 +9,9 @@ /** | ||
*/ | ||
angular.module('a8m.uri-encode', []) | ||
.filter('uriEncode',['$window', function ($window) { | ||
return function (input) { | ||
if(isString(input)) { | ||
return $window.encodeURI(input); | ||
} | ||
return input; | ||
return isString(input) | ||
? $window.encodeURI(input) | ||
: input; | ||
} | ||
}]); |
@@ -9,15 +9,9 @@ /** | ||
*/ | ||
angular.module('a8m.wrap', []) | ||
.filter('wrap', function () { | ||
return function(input, wrap, ends) { | ||
if(!isString(input) || isUndefined(wrap)) { | ||
return input; | ||
} | ||
return [wrap, input, ends || wrap].join(''); | ||
return isString(input) && isDefined(wrap) | ||
? [wrap, input, ends || wrap].join('') | ||
: input; | ||
} | ||
}); |
@@ -14,2 +14,3 @@ /** | ||
'a8m.slugify', | ||
'a8m.latinize', | ||
'a8m.strip-tags', | ||
@@ -16,0 +17,0 @@ 'a8m.stringular', |
Sorry, the diff of this file is not supported yet
344134
133
6322
1323