jquery-datatables 1.10.19.1 → 1.10.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +1 -0
  3. data/README.md +28 -1
  4. data/app/assets/javascripts/datatables/dataTables.uikit.js +2 -2
  5. data/app/assets/javascripts/datatables/extensions/AutoFill/dataTables.autoFill.js +42 -29
  6. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.bootstrap.js +1 -1
  7. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.bootstrap4.js +8 -2
  8. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.colVis.js +6 -3
  9. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.foundation.js +5 -4
  10. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.html5.js +58 -6
  11. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.print.js +16 -5
  12. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.semanticui.js +1 -1
  13. data/app/assets/javascripts/datatables/extensions/Buttons/dataTables.buttons.js +267 -152
  14. data/app/assets/javascripts/datatables/extensions/ColReorder/colReorder.foundation.js +1 -1
  15. data/app/assets/javascripts/datatables/extensions/ColReorder/dataTables.colReorder.js +121 -52
  16. data/app/assets/javascripts/datatables/extensions/FixedColumns/dataTables.fixedColumns.js +32 -5
  17. data/app/assets/javascripts/datatables/extensions/KeyTable/dataTables.keyTable.js +166 -63
  18. data/app/assets/javascripts/datatables/extensions/KeyTable/keyTable.foundation.js +1 -1
  19. data/app/assets/javascripts/datatables/extensions/RowGroup/dataTables.rowGroup.js +105 -53
  20. data/app/assets/javascripts/datatables/extensions/RowGroup/rowGroup.foundation.js +1 -1
  21. data/app/assets/javascripts/datatables/extensions/RowGroup/{rowGroup.semanicui.js → rowGroup.semanticui.js} +0 -0
  22. data/app/assets/javascripts/datatables/extensions/RowReorder/dataTables.rowReorder.js +10 -9
  23. data/app/assets/javascripts/datatables/extensions/RowReorder/rowReorder.foundation.js +1 -1
  24. data/app/assets/javascripts/datatables/extensions/Scroller/dataTables.scroller.js +519 -636
  25. data/app/assets/javascripts/datatables/extensions/Scroller/scroller.foundation.js +1 -1
  26. data/app/assets/javascripts/datatables/extensions/Select/dataTables.select.js +49 -18
  27. data/app/assets/javascripts/datatables/extensions/Select/select.foundation.js +1 -1
  28. data/app/assets/javascripts/datatables/jquery.dataTables.js +97 -60
  29. data/app/assets/javascripts/datatables/plugins/api/average.js +7 -6
  30. data/app/assets/javascripts/datatables/plugins/api/sum.js +7 -6
  31. data/app/assets/javascripts/datatables/plugins/pagination/ellipses.js +160 -0
  32. data/app/assets/javascripts/datatables/plugins/pagination/extjs.js +137 -0
  33. data/app/assets/javascripts/datatables/plugins/pagination/four_button.js +110 -0
  34. data/app/assets/javascripts/datatables/plugins/pagination/full_numbers_no_ellipses.js +59 -0
  35. data/app/assets/javascripts/datatables/plugins/pagination/input.js +22 -19
  36. data/app/assets/javascripts/datatables/plugins/pagination/scrolling.js +130 -0
  37. data/app/assets/javascripts/datatables/plugins/pagination/select.js +97 -0
  38. data/app/assets/javascripts/datatables/plugins/pagination/simple_incremental_bootstrap.js +154 -0
  39. data/app/assets/javascripts/datatables/plugins/pagination/simple_numbers_no_ellipses.js +59 -0
  40. data/app/assets/javascripts/datatables/plugins/search/dataTables.alphabetSearch.js +440 -399
  41. data/app/assets/javascripts/datatables/plugins/sorting/enum.js +51 -0
  42. data/app/assets/javascripts/datatables/plugins/type-detection/date-dd-MMM-yyyy.js +63 -0
  43. data/app/assets/javascripts/datatables/plugins/type-detection/date-de.js +125 -0
  44. data/app/assets/javascripts/datatables/plugins/type-detection/date-eu.js +64 -0
  45. data/app/assets/javascripts/datatables/plugins/type-detection/date-euro.js +48 -0
  46. data/app/assets/javascripts/datatables/plugins/type-detection/date-uk.js +35 -12
  47. data/app/assets/javascripts/datatables/plugins/type-detection/datetime-moment.js +74 -0
  48. data/app/assets/javascripts/datatables/plugins/type-detection/datetime-us.js +86 -0
  49. data/app/assets/javascripts/datatables/plugins/type-detection/file-size.js +37 -13
  50. data/app/assets/javascripts/datatables/plugins/type-detection/ip-address.js +113 -11
  51. data/app/assets/javascripts/datatables/plugins/type-detection/numString.js +63 -0
  52. data/app/assets/javascripts/datatables/plugins/type-detection/percent.js +34 -0
  53. data/app/assets/javascripts/datatables/plugins/type-detection/time-elapsed-dhms.js +42 -0
  54. data/app/assets/javascripts/datatables/plugins/type-detection/time.js +56 -0
  55. data/app/assets/javascripts/datatables/plugins/type-detection/title-numeric.js +40 -0
  56. data/app/assets/javascripts/datatables/plugins/type-detection/title-string.js +36 -0
  57. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.dataTables.scss +10 -3
  58. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap.scss +12 -3
  59. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap4.scss +13 -6
  60. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.dataTables.scss +2 -0
  61. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.foundation.scss +5 -1
  62. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.jqueryui.scss +1 -0
  63. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.semanticui.scss +2 -1
  64. data/app/assets/stylesheets/datatables/extensions/Buttons/common.scss +10 -0
  65. data/app/assets/stylesheets/datatables/extensions/Buttons/mixins.scss +42 -30
  66. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap.scss +11 -7
  67. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.foundation.scss +1 -0
  68. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.dataTables.scss +13 -5
  69. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.dataTables.scss +20 -2
  70. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.dataTables.scss +15 -2
  71. data/lib/jquery-datatables/version.rb +1 -1
  72. metadata +26 -12
  73. data/app/assets/javascripts/datatables/dataTables.bootstrap2.js +0 -162
  74. data/app/assets/javascripts/datatables/extensions/ColReorder/colReorder.semanicui.js +0 -38
  75. data/app/assets/javascripts/datatables/extensions/FixedColumns/fixedColumns.semanicui.js +0 -38
  76. data/app/assets/javascripts/datatables/extensions/FixedHeader/fixedHeader.semanicui.js +0 -38
  77. data/app/assets/javascripts/datatables/extensions/KeyTable/keyTable.semanicui.js +0 -38
  78. data/app/assets/javascripts/datatables/extensions/RowReorder/rowReorder.semanicui.js +0 -38
  79. data/app/assets/stylesheets/datatables/dataTables.bootstrap2.scss +0 -178
@@ -0,0 +1,86 @@
1
+ /*
2
+ * Adds a new sorting option to dataTables called `datetime-us`.
3
+ *
4
+ * Also included is a type detection plug-in. Matches and sorts date / time
5
+ * strings in the format: `(m)m/(d)d/(yy)yy (h)h/m(m) (am|pm)`. For example:
6
+ *
7
+ * * 1/1/13 1:4 pm
8
+ * * 01/01/2013 01:04 PM
9
+ * * 1/1/2013 1:04 Pm
10
+ *
11
+ * Please note that this plug-in is **deprecated*. The
12
+ * [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
13
+ * functionality and flexibility.
14
+ *
15
+ * @name Date / time - US
16
+ * @summary Sort date / time in the format `m/d/yy h:m am|pm`
17
+ * @author [Kevin Gravier](http://mrkmg.com/)
18
+ * @deprecated
19
+ *
20
+ * @example
21
+ * $('#example').dataTable( {
22
+ * columnDefs: [
23
+ * { type: 'datetime-us', targets: 0 }
24
+ * ]
25
+ * } );
26
+ */
27
+ jQuery.extend(jQuery.fn.dataTableExt.oSort, {
28
+ "datetime-us-pre": function (a) {
29
+ var b = a.match(/(\d{1,2})\/(\d{1,2})\/(\d{2,4}) (\d{1,2}):(\d{1,2}) (am|pm|AM|PM|Am|Pm)/),
30
+ month = b[1],
31
+ day = b[2],
32
+ year = b[3],
33
+ hour = b[4],
34
+ min = b[5],
35
+ ap = b[6].toLowerCase();
36
+
37
+ if (hour == '12') {
38
+ hour = '0';
39
+ if (ap == 'pm') {
40
+ hour = parseInt(hour, 10) + 12;
41
+ }
42
+
43
+ if (year.length == 2) {
44
+ if (parseInt(year, 10) < 70) {
45
+ year = '20' + year;
46
+ }
47
+ else {
48
+ year = '19' + year;
49
+ }
50
+ }
51
+ if (month.length == 1) {
52
+ month = '0' + month;
53
+ }
54
+ if (day.length == 1) {
55
+ day = '0' + day;
56
+ }
57
+ if (hour.length == 1) {
58
+ hour = '0' + hour;
59
+ }
60
+ if (min.length == 1) {
61
+ min = '0' + min;
62
+ }
63
+
64
+ var tt = year + month + day + hour + min;
65
+ return tt;
66
+ }
67
+ },
68
+
69
+ "datetime-us-asc": function (a, b) {
70
+ return a - b;
71
+ },
72
+
73
+ "datetime-us-desc": function (a, b) {
74
+ return b - a;
75
+ }
76
+ });
77
+
78
+ jQuery.fn.dataTableExt.aTypes.unshift(
79
+ function (sData) {
80
+ if (sData !== null && sData.match(/\d{1,2}\/\d{1,2}\/\d{2,4} \d{1,2}:\d{1,2} (am|pm|AM|PM|Am|Pm)/)) {
81
+
82
+ return 'datetime-us';
83
+ }
84
+ return null;
85
+ }
86
+ );
@@ -1,20 +1,44 @@
1
1
  /**
2
- * Detect file size type columns automatically. Commonly used for computer
3
- * file sizes, this can allow sorting to take the order of magnitude indicated
4
- * by the label (GB etc) into account.
2
+ * When dealing with computer file sizes, it is common to append a post fix
3
+ * such as B, KB, MB or GB to a string in order to easily denote the order of
4
+ * magnitude of the file size. This plug-in allows sorting to take these
5
+ * indicates of size into account.
6
+ *
7
+ * A counterpart type detection plug-in is also available.
5
8
  *
6
9
  * @name File size
7
- * @summary Detect abbreviated file size data (8MB, 4KB, 3B, etc)
10
+ * @summary Sort abbreviated file sizes correctly (8MB, 4KB, etc)
8
11
  * @author Allan Jardine - datatables.net
12
+ *
13
+ * @example
14
+ * $('#example').DataTable( {
15
+ * columnDefs: [
16
+ * { type: 'file-size', targets: 0 }
17
+ * ]
18
+ * } );
9
19
  */
10
20
 
11
- jQuery.fn.dataTable.ext.type.detect.unshift( function ( data ) {
12
- if ( typeof data !== 'string' ) {
13
- return null;
14
- }
21
+ jQuery.fn.dataTable.ext.type.order['file-size-pre'] = function (data) {
22
+ var matches = data.match(/^(\d+(?:\.\d+)?)\s*([a-z]+)/i);
23
+ var multipliers = {
24
+ b: 1,
25
+ bytes: 1,
26
+ kb: 1000,
27
+ kib: 1024,
28
+ mb: 1000000,
29
+ mib: 1048576,
30
+ gb: 1000000000,
31
+ gib: 1073741824,
32
+ tb: 1000000000000,
33
+ tib: 1099511627776,
34
+ pb: 1000000000000000,
35
+ pib: 1125899906842624
36
+ };
15
37
 
16
- var matches = data.match( /^(\d+(?:\.\d+)?)\s*([a-z]+)/i );
17
- var units = ['b', 'kb', 'mb', 'gb', 'tb', 'pb'];
18
- var is_file_size = ( matches && jQuery.inArray(matches[2].toLowerCase(), units) !== -1 );
19
- return is_file_size ? 'file-size' : null;
20
- } );
38
+ if (matches) {
39
+ var multiplier = multipliers[matches[2].toLowerCase()];
40
+ return parseFloat(matches[1]) * multiplier;
41
+ } else {
42
+ return -1;
43
+ };
44
+ };
@@ -1,18 +1,120 @@
1
1
  /**
2
- * Automatically detect IP addresses in dot notation. Goes perfectly with the
3
- * IP address sorting function.
2
+ * Sorts a column containing IP addresses (IPv4 and IPv6) or IPv4 address and port delimited by ':' in typical dot
3
+ * notation / colon. This can be most useful when using DataTables for a
4
+ * networking application, and reporting information containing IP address.
4
5
  *
5
- * @name IP address detection
6
- * @summary Detect data which is in IP address notation
6
+ * @name IP addresses
7
+ * @summary Sort IP addresses numerically
8
+ * @author Dominique Fournier
7
9
  * @author Brad Wasson
10
+ * @author Peter Vilhan
11
+ *
12
+ * @example
13
+ * $('#example').dataTable( {
14
+ * columnDefs: [
15
+ * { type: 'ip-address', targets: 0 }
16
+ * ]
17
+ * } );
8
18
  */
9
19
 
10
- jQuery.fn.dataTableExt.aTypes.unshift(
11
- function ( sData )
12
- {
13
- if (/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(sData)) {
14
- return 'ip-address';
20
+
21
+ jQuery.extend(jQuery.fn.dataTableExt.oSort, {
22
+ "ip-address-pre": function (a) {
23
+ var i, item;
24
+ var m, n, t;
25
+ var x, xa;
26
+
27
+ if (!a) {
28
+ return 0
29
+ }
30
+
31
+ a = a.replace(/<[\s\S]*?>/g, "");
32
+ //IPv4:Port
33
+ t = a.split(":");
34
+ if (t.length == 2) {
35
+ m = t[0].split(".");
36
+ }
37
+ else {
38
+ m = a.split(".");
39
+ }
40
+ n = a.split(":");
41
+ x = "";
42
+ xa = "";
43
+
44
+ if (m.length == 4) {
45
+ // IPV4
46
+ for (i = 0; i < m.length; i++) {
47
+ item = m[i];
48
+
49
+ if (item.length == 1) {
50
+ x += "00" + item;
51
+ }
52
+ else if (item.length == 2) {
53
+ x += "0" + item;
54
+ }
55
+ else {
56
+ x += item;
57
+ }
58
+ }
15
59
  }
16
- return null;
60
+ else if (n.length > 0) {
61
+ // IPV6
62
+ var count = 0;
63
+ for (i = 0; i < n.length; i++) {
64
+ item = n[i];
65
+
66
+ if (i > 0) {
67
+ xa += ":";
68
+ }
69
+
70
+ if (item.length === 0) {
71
+ count += 0;
72
+ }
73
+ else if (item.length == 1) {
74
+ xa += "000" + item;
75
+ count += 4;
76
+ }
77
+ else if (item.length == 2) {
78
+ xa += "00" + item;
79
+ count += 4;
80
+ }
81
+ else if (item.length == 3) {
82
+ xa += "0" + item;
83
+ count += 4;
84
+ }
85
+ else {
86
+ xa += item;
87
+ count += 4;
88
+ }
89
+ }
90
+
91
+ // Padding the ::
92
+ n = xa.split(":");
93
+ var paddDone = 0;
94
+
95
+ for (i = 0; i < n.length; i++) {
96
+ item = n[i];
97
+
98
+ if (item.length === 0 && paddDone === 0) {
99
+ for (var padding = 0; padding < (32 - count); padding++) {
100
+ x += "0";
101
+ paddDone = 1;
102
+ }
103
+ }
104
+ else {
105
+ x += item;
106
+ }
107
+ }
108
+ }
109
+
110
+ return x;
111
+ },
112
+
113
+ "ip-address-asc": function (a, b) {
114
+ return ((a < b) ? -1 : ((a > b) ? 1 : 0));
115
+ },
116
+
117
+ "ip-address-desc": function (a, b) {
118
+ return ((a < b) ? 1 : ((a > b) ? -1 : 0));
17
119
  }
18
- );
120
+ });
@@ -0,0 +1,63 @@
1
+ /**
2
+ *
3
+ * This plug in will sort only on the number value that is included anywhere in a Regex.
4
+ * This is useful for sorting data which requires some extra context to be included in the table.
5
+ *
6
+ * @name numString
7
+ * @summary Sorting for number value that is included anywhere in a regex.
8
+ * @author [Sandy Galloway](http://datatables.net)
9
+ *
10
+ *
11
+ * @example
12
+ * //This example shows a mixture of text and number values, with the number at the start of the expression.
13
+ * //It is using regex and start and end of expression tags.
14
+ * //It will match "5 examples completed." for example.
15
+ * $(document).ready( function(){
16
+ * $.fn.dataTable.numString(/^\d+ examples? completed.$/);
17
+ * var table = $('#example').DataTable();
18
+ * })
19
+ *
20
+ * @example
21
+ * //This example shows a mixture of text and number values, with the number at the end of the expression.
22
+ * //It is using regex and start and end of expression tags.
23
+ * //It will match "Examples left: 67" for example.
24
+ * $(document).ready( function(){
25
+ * $.fn.dataTable.numString(/^Examples? left: \d+$/);
26
+ * var table = $('#example').DataTable();
27
+ * })
28
+ *
29
+ * @example
30
+ * //This example shows a mixture of text and number values, with the number in the middle of the expression.
31
+ * //It is using regex and no start and end of expression tags.
32
+ * //It will match "Only 1 left." for example.
33
+ * $(document).ready(function(){
34
+ * $.fn.dataTable.numString(/Only \d+ left./);
35
+ * var table = $('example').DataTable();
36
+ * })
37
+ *
38
+ */
39
+ $.fn.dataTable.numString = function(format) {
40
+ //This is the type detection plug in
41
+ $.fn.dataTable.ext.type.detect.unshift(function(data) {
42
+ if (typeof data !== "string") {
43
+ return null;
44
+ }
45
+
46
+ if (data.match(format)) {
47
+ return "numString-" + format.source;
48
+ }
49
+
50
+ return null;
51
+ });
52
+
53
+ //This is the ordering plug in
54
+ $.fn.dataTable.ext.type.order[
55
+ "numString-" + format.source + "-pre"
56
+ ] = function(data) {
57
+ var num = data.replace(/\D/g, "");
58
+
59
+ return num * 1;
60
+ };
61
+ // end plug-in
62
+ };
63
+
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Sort numeric data which has a percent sign with it.
3
+ *
4
+ * DataTables 1.10+ has percentage data type detection and sorting abilities
5
+ * built-in. As such this plug-in is marked as deprecated, but might be useful
6
+ * when working with old versions of DataTables.
7
+ *
8
+ * @name Percentage
9
+ * @summary Sort numeric data with a postfixed percentage symbol
10
+ * @deprecated
11
+ * @author [Jonathan Romley](http://jonathanromley.org/)
12
+ *
13
+ * @example
14
+ * $('#example').dataTable( {
15
+ * columnDefs: [
16
+ * { type: 'percent', targets: 0 }
17
+ * ]
18
+ * } );
19
+ */
20
+
21
+ jQuery.extend( jQuery.fn.dataTableExt.oSort, {
22
+ "percent-pre": function ( a ) {
23
+ var x = (a == "-") ? 0 : a.replace( /%/, "" );
24
+ return parseFloat( x );
25
+ },
26
+
27
+ "percent-asc": function ( a, b ) {
28
+ return ((a < b) ? -1 : ((a > b) ? 1 : 0));
29
+ },
30
+
31
+ "percent-desc": function ( a, b ) {
32
+ return ((a < b) ? 1 : ((a > b) ? -1 : 0));
33
+ }
34
+ } );
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Created by caochenghua on 2016/12/22.
3
+ */
4
+
5
+ /**
6
+ * When dealing with time elapsed, it is common to append a post fix
7
+ * such as d(day), h(hour), m(minute) or s(second) to a string in order to easily denote the brief duration
8
+ * of the time span from now. This plug-in allows sorting to take these
9
+ * indicates of size into account.
10
+ *
11
+ * A counterpart type detection plug-in is also available.
12
+ *
13
+ * @name Time span
14
+ * @summary Sort abbreviated time span correctly (2d 3h, 2h 8m, 3m 8s, 30s, etc)
15
+ * @author Allan Jardine - datatables.net
16
+ *
17
+ * @example
18
+ * $('#example').DataTable( {
19
+ * columnDefs: [
20
+ * { type: 'time-elapsed-dhms', targets: 0 }
21
+ * ]
22
+ * } );
23
+ */
24
+
25
+
26
+ jQuery.fn.dataTable.ext.type.order['time-elapsed-dhms-pre'] = function(data) {
27
+
28
+ var matches = data.match(/^(\d+(?:\.\d+)?)\s*([a-z]+)/i);
29
+ var multipliers = {
30
+ s: 1,
31
+ m: 60,
32
+ h: 3600,
33
+ d: 86400
34
+ };
35
+
36
+ if (matches) {
37
+ var multiplier = multipliers[matches[2].toLowerCase()];
38
+ return parseFloat(matches[1]) * multiplier;
39
+ } else {
40
+ return -1;
41
+ };
42
+ };
@@ -0,0 +1,56 @@
1
+ /**
2
+ * This plug-in provides the ability to sort columns that contains time
3
+ * information in the most common formats used. It will automatically detect
4
+ * those date types.
5
+ *
6
+ * Please note that this plug-in is **deprecated*. The
7
+ * [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
8
+ * functionality and flexibility.
9
+ *
10
+ * @name Time (dd/mm/YY)
11
+ * @summary Sort Times in the formats: `hh:mm, hh:mm:ss, hh:mm tt, hh:mm:ss tt`
12
+ * e.g. '22:50, 22:50:40, 10:50 pm, 10:50:40 pm'
13
+ * am and pm are not case sensitive. white space is not compulsory
14
+ * @author David Stoneham
15
+ * @deprecated
16
+ *
17
+ * @example
18
+ * $('#example').dataTable( {
19
+ * columnDefs: [
20
+ * { type: 'time-uni', targets: 0 }
21
+ * ]
22
+ * } );
23
+ */
24
+
25
+ jQuery.extend(jQuery.fn.dataTableExt.oSort, {
26
+ "time-uni-pre": function (a) {
27
+ var uniTime;
28
+
29
+ if (a.toLowerCase().indexOf("am") > -1 || (a.toLowerCase().indexOf("pm") > -1 && Number(a.split(":")[0]) === 12)) {
30
+ uniTime = a.toLowerCase().split("pm")[0].split("am")[0];
31
+ while (uniTime.indexOf(":") > -1) {
32
+ uniTime = uniTime.replace(":", "");
33
+ }
34
+ } else if (a.toLowerCase().indexOf("pm") > -1 || (a.toLowerCase().indexOf("am") > -1 && Number(a.split(":")[0]) === 12)) {
35
+ uniTime = Number(a.split(":")[0]) + 12;
36
+ var leftTime = a.toLowerCase().split("pm")[0].split("am")[0].split(":");
37
+ for (var i = 1; i < leftTime.length; i++) {
38
+ uniTime = uniTime + leftTime[i].trim().toString();
39
+ }
40
+ } else {
41
+ uniTime = a.replace(":", "");
42
+ while (uniTime.indexOf(":") > -1) {
43
+ uniTime = uniTime.replace(":", "");
44
+ }
45
+ }
46
+ return Number(uniTime);
47
+ },
48
+
49
+ "time-uni-asc": function (a, b) {
50
+ return ((a < b) ? -1 : ((a > b) ? 1 : 0));
51
+ },
52
+
53
+ "time-uni-desc": function (a, b) {
54
+ return ((a < b) ? 1 : ((a > b) ? -1 : 0));
55
+ }
56
+ });