jquery-datatables 1.10.19 → 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.
- checksums.yaml +4 -4
- data/.gitattributes +1 -0
- data/README.md +28 -1
- data/app/assets/javascripts/datatables/dataTables.uikit.js +2 -2
- data/app/assets/javascripts/datatables/extensions/AutoFill/dataTables.autoFill.js +42 -29
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.bootstrap.js +1 -1
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.bootstrap4.js +8 -2
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.colVis.js +6 -3
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.foundation.js +5 -4
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.html5.js +58 -6
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.print.js +16 -5
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.semanticui.js +1 -1
- data/app/assets/javascripts/datatables/extensions/Buttons/dataTables.buttons.js +267 -152
- data/app/assets/javascripts/datatables/extensions/ColReorder/colReorder.foundation.js +1 -1
- data/app/assets/javascripts/datatables/extensions/ColReorder/dataTables.colReorder.js +121 -52
- data/app/assets/javascripts/datatables/extensions/FixedColumns/dataTables.fixedColumns.js +32 -5
- data/app/assets/javascripts/datatables/extensions/KeyTable/dataTables.keyTable.js +166 -63
- data/app/assets/javascripts/datatables/extensions/KeyTable/keyTable.foundation.js +1 -1
- data/app/assets/javascripts/datatables/extensions/RowGroup/dataTables.rowGroup.js +105 -53
- data/app/assets/javascripts/datatables/extensions/RowGroup/rowGroup.foundation.js +1 -1
- data/app/assets/javascripts/datatables/extensions/RowReorder/dataTables.rowReorder.js +10 -9
- data/app/assets/javascripts/datatables/extensions/RowReorder/rowReorder.foundation.js +1 -1
- data/app/assets/javascripts/datatables/extensions/Scroller/dataTables.scroller.js +519 -636
- data/app/assets/javascripts/datatables/extensions/Scroller/scroller.foundation.js +1 -1
- data/app/assets/javascripts/datatables/extensions/Select/dataTables.select.js +49 -18
- data/app/assets/javascripts/datatables/extensions/Select/select.foundation.js +1 -1
- data/app/assets/javascripts/datatables/jquery.dataTables.js +97 -60
- data/app/assets/javascripts/datatables/plugins/api/average.js +7 -6
- data/app/assets/javascripts/datatables/plugins/api/sum.js +7 -6
- data/app/assets/javascripts/datatables/plugins/pagination/ellipses.js +160 -0
- data/app/assets/javascripts/datatables/plugins/pagination/extjs.js +137 -0
- data/app/assets/javascripts/datatables/plugins/pagination/four_button.js +110 -0
- data/app/assets/javascripts/datatables/plugins/pagination/full_numbers_no_ellipses.js +59 -0
- data/app/assets/javascripts/datatables/plugins/pagination/input.js +22 -19
- data/app/assets/javascripts/datatables/plugins/pagination/scrolling.js +130 -0
- data/app/assets/javascripts/datatables/plugins/pagination/select.js +97 -0
- data/app/assets/javascripts/datatables/plugins/pagination/simple_incremental_bootstrap.js +154 -0
- data/app/assets/javascripts/datatables/plugins/pagination/simple_numbers_no_ellipses.js +59 -0
- data/app/assets/javascripts/datatables/plugins/search/dataTables.alphabetSearch.js +440 -399
- data/app/assets/javascripts/datatables/plugins/sorting/enum.js +51 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/date-dd-MMM-yyyy.js +63 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/date-de.js +125 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/date-eu.js +64 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/date-euro.js +48 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/date-uk.js +35 -12
- data/app/assets/javascripts/datatables/plugins/type-detection/datetime-moment.js +74 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/datetime-us.js +86 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/file-size.js +37 -13
- data/app/assets/javascripts/datatables/plugins/type-detection/ip-address.js +113 -11
- data/app/assets/javascripts/datatables/plugins/type-detection/numString.js +63 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/percent.js +34 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/time-elapsed-dhms.js +42 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/time.js +56 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/title-numeric.js +40 -0
- data/app/assets/javascripts/datatables/plugins/type-detection/title-string.js +36 -0
- data/app/assets/stylesheets/datatables/dataTables.foundation.scss +5 -5
- data/app/assets/stylesheets/datatables/dataTables.material.scss +1 -1
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.dataTables.scss +10 -3
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap.scss +12 -3
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap4.scss +13 -6
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.dataTables.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.foundation.scss +5 -1
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.jqueryui.scss +1 -0
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.semanticui.scss +2 -1
- data/app/assets/stylesheets/datatables/extensions/Buttons/common.scss +10 -0
- data/app/assets/stylesheets/datatables/extensions/Buttons/mixins.scss +42 -30
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap.scss +11 -7
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.foundation.scss +1 -0
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.dataTables.scss +13 -5
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.dataTables.scss +20 -2
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.dataTables.scss +15 -2
- data/app/assets/stylesheets/datatables/jquery.dataTables.scss +5 -5
- data/jquery-datatables.gemspec +0 -3
- data/lib/generators/jquery/datatables/templates/stylesheets/foundation.scss.tt +0 -18
- data/lib/generators/jquery/datatables/templates/stylesheets/regular.scss.tt +0 -18
- data/lib/generators/jquery/datatables/templates/views/index.json.jbuilder +2 -2
- data/lib/jquery-datatables/engine.rb +0 -2
- data/lib/jquery-datatables/version.rb +1 -1
- data/lib/jquery-datatables.rb +3 -8
- metadata +26 -40
- data/app/assets/javascripts/datatables/dataTables.bootstrap2.js +0 -162
- data/app/assets/javascripts/datatables/extensions/ColReorder/colReorder.semanicui.js +0 -38
- data/app/assets/javascripts/datatables/extensions/FixedColumns/fixedColumns.semanicui.js +0 -38
- data/app/assets/javascripts/datatables/extensions/FixedHeader/fixedHeader.semanicui.js +0 -38
- data/app/assets/javascripts/datatables/extensions/KeyTable/keyTable.semanicui.js +0 -38
- data/app/assets/javascripts/datatables/extensions/RowReorder/rowReorder.semanicui.js +0 -38
- data/app/assets/stylesheets/datatables/dataTables.bootstrap2.scss +0 -178
- /data/app/assets/javascripts/datatables/extensions/RowGroup/{rowGroup.semanicui.js → rowGroup.semanticui.js} +0 -0
|
@@ -1,18 +1,120 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
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
|
|
6
|
-
* @summary
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
{
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
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
|
+
});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An alternative to the formatted number sorting function above (particularly
|
|
3
|
+
* useful when considering localisation which uses dots / periods for 10^3
|
|
4
|
+
* separation rather than decimal places). Another method of overcoming it
|
|
5
|
+
* difficulties of sorting formatted numbers is to have the data to be sorted
|
|
6
|
+
* upon separate from the visual data. This sorting function pair will use the
|
|
7
|
+
* 'title' attribute of en empty span element (or anything else) to sort
|
|
8
|
+
* numerically (for example `<span title="1000000"><span>1'000'000`).
|
|
9
|
+
*
|
|
10
|
+
* Note that the HTML5 `data-sort` attribute can be [used to supply sorting data
|
|
11
|
+
* to DataTables](//datatables.net/manual/orthogonal-data) and is preferable to
|
|
12
|
+
* using this method, which is therefore marked as deprecated.
|
|
13
|
+
*
|
|
14
|
+
* @name Hidden title numeric sorting
|
|
15
|
+
* @summary Sort data numerically based on an attribute on an empty element.
|
|
16
|
+
* @deprecated
|
|
17
|
+
* @author [Allan Jardine](http://sprymedia.co.uk)
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* $('#example').dataTable( {
|
|
21
|
+
* columnDefs: [
|
|
22
|
+
* { type: 'title-numeric', targets: 0 }
|
|
23
|
+
* ]
|
|
24
|
+
* } );
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
|
|
28
|
+
"title-numeric-pre": function ( a ) {
|
|
29
|
+
var x = a.match(/title="*(-?[0-9\.]+)/)[1];
|
|
30
|
+
return parseFloat( x );
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
"title-numeric-asc": function ( a, b ) {
|
|
34
|
+
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
"title-numeric-desc": function ( a, b ) {
|
|
38
|
+
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
|
|
39
|
+
}
|
|
40
|
+
} );
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Just like the _hidden title numeric sorting_ plug-in, this sorting plug-in
|
|
3
|
+
* will take the information to be sorted on from the title attribute of a span
|
|
4
|
+
* element. The only difference is that it is string based sorting rather than
|
|
5
|
+
* numeric.
|
|
6
|
+
*
|
|
7
|
+
* Note that the HTML5 `data-sort` attribute can be [used to supply sorting data
|
|
8
|
+
* to DataTables](//datatables.net/manual/orthogonal-data) and is preferable to
|
|
9
|
+
* using this method, which is therefore marked as deprecated.
|
|
10
|
+
*
|
|
11
|
+
* @name Hidden title string sorting
|
|
12
|
+
* @summary Sort data as a string based on an attribute on an empty element.
|
|
13
|
+
* @author [Allan Jardine](http://sprymedia.co.uk)
|
|
14
|
+
* @deprecated
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* $('#example').dataTable( {
|
|
18
|
+
* columnDefs: [
|
|
19
|
+
* { type: 'title-string', targets: 0 }
|
|
20
|
+
* ]
|
|
21
|
+
* } );
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
|
|
25
|
+
"title-string-pre": function ( a ) {
|
|
26
|
+
return a.match(/title="(.*?)"/)[1].toLowerCase();
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
"title-string-asc": function ( a, b ) {
|
|
30
|
+
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
"title-string-desc": function ( a, b ) {
|
|
34
|
+
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
|
|
35
|
+
}
|
|
36
|
+
} );
|
|
@@ -111,19 +111,19 @@ table.dataTable thead {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
.sorting {
|
|
114
|
-
background-image: url(
|
|
114
|
+
background-image: image-url("datatables/sort_both.png");
|
|
115
115
|
}
|
|
116
116
|
.sorting_asc {
|
|
117
|
-
background-image: url(
|
|
117
|
+
background-image: image-url("datatables/sort_asc.png");
|
|
118
118
|
}
|
|
119
119
|
.sorting_desc {
|
|
120
|
-
background-image: url(
|
|
120
|
+
background-image: image-url("datatables/sort_desc.png");
|
|
121
121
|
}
|
|
122
122
|
.sorting_asc_disabled {
|
|
123
|
-
background-image: url(
|
|
123
|
+
background-image: image-url("datatables/sort_asc_disabled.png");
|
|
124
124
|
}
|
|
125
125
|
.sorting_desc_disabled {
|
|
126
|
-
background-image: url(
|
|
126
|
+
background-image: image-url("datatables/sort_desc_disabled.png");
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
$autofill-define-button: true !default;
|
|
3
3
|
$autofill-outline: #4989de !default;
|
|
4
|
-
$autofill-handle-
|
|
5
|
-
$autofill-handle-background:
|
|
4
|
+
$autofill-handle-background: #3366ff !default;
|
|
5
|
+
$autofill-handle-background-focus: #ff8b33 !default;
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
div.dt-autofill-handle {
|
|
@@ -12,8 +12,15 @@ div.dt-autofill-handle {
|
|
|
12
12
|
z-index: 102;
|
|
13
13
|
|
|
14
14
|
box-sizing: border-box;
|
|
15
|
-
border: $autofill-handle-border;
|
|
16
15
|
background: $autofill-handle-background;
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// KeyTable alt focus
|
|
20
|
+
div.dtk-focus-alt {
|
|
21
|
+
div.dt-autofill-handle {
|
|
22
|
+
background: $autofill-handle-background-focus;
|
|
23
|
+
}
|
|
17
24
|
}
|
|
18
25
|
|
|
19
26
|
div.dt-autofill-select {
|
|
@@ -2,9 +2,18 @@
|
|
|
2
2
|
@import 'mixins.scss';
|
|
3
3
|
@import 'common.scss';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
div.dt-button-collection {
|
|
6
|
+
position: absolute;
|
|
7
|
+
|
|
8
|
+
ul.dropdown-menu {
|
|
9
|
+
display: block;
|
|
10
|
+
z-index: 2002;
|
|
11
|
+
min-width: 100%;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
div.dt-button-collection-title {
|
|
15
|
+
background-color: white;
|
|
16
|
+
}
|
|
8
17
|
|
|
9
18
|
@include dtb-fixed-collection();
|
|
10
19
|
}
|
|
@@ -2,14 +2,21 @@
|
|
|
2
2
|
@import 'mixins.scss';
|
|
3
3
|
@import 'common.scss';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
z-index:
|
|
5
|
+
div.dt-button-collection {
|
|
6
|
+
position: absolute;
|
|
7
|
+
z-index: 2001;
|
|
8
|
+
|
|
9
|
+
div.dropdown-menu {
|
|
10
|
+
display: block;
|
|
11
|
+
z-index: 2002;
|
|
12
|
+
min-width: 100%;
|
|
13
|
+
}
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
div.dt-button-collection-title {
|
|
16
|
+
background-color: white;
|
|
17
|
+
border: 1px solid rgba(0, 0, 0, 0.15);
|
|
18
|
+
}
|
|
11
19
|
|
|
12
|
-
ul.dt-button-collection {
|
|
13
20
|
@include dtb-fixed-collection();
|
|
14
21
|
|
|
15
22
|
&.fixed {
|
|
@@ -27,6 +27,7 @@ a.dt-button {
|
|
|
27
27
|
user-select: none;
|
|
28
28
|
text-decoration: none;
|
|
29
29
|
outline: none;
|
|
30
|
+
text-overflow: ellipsis;
|
|
30
31
|
|
|
31
32
|
&.disabled {
|
|
32
33
|
color: #999;
|
|
@@ -92,6 +93,7 @@ div.dt-button-collection {
|
|
|
92
93
|
z-index: 2002;
|
|
93
94
|
border-radius: 5px;
|
|
94
95
|
box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
|
|
96
|
+
box-sizing: border-box;
|
|
95
97
|
|
|
96
98
|
button.dt-button,
|
|
97
99
|
div.dt-button,
|
|
@@ -17,7 +17,9 @@ ul.dt-buttons.button-group a {
|
|
|
17
17
|
// active class to look wrong
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
div.dt-button-collection {
|
|
21
|
+
position: absolute;
|
|
22
|
+
|
|
21
23
|
@include dtb-fixed-collection();
|
|
22
24
|
|
|
23
25
|
&.fixed {
|
|
@@ -60,11 +62,13 @@ div.button-group.stacked.dropdown-pane {
|
|
|
60
62
|
z-index: 89;
|
|
61
63
|
|
|
62
64
|
a.button {
|
|
65
|
+
display: block;
|
|
63
66
|
margin-bottom: 1px;
|
|
64
67
|
border-right: none;
|
|
65
68
|
|
|
66
69
|
&:last-child {
|
|
67
70
|
margin-bottom: 0;
|
|
71
|
+
margin-right: 1px;
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
}
|
|
@@ -6,7 +6,7 @@ div.dt-button-collection {
|
|
|
6
6
|
position: absolute;
|
|
7
7
|
top: 0;
|
|
8
8
|
left: 0;
|
|
9
|
-
width:
|
|
9
|
+
min-width: 200px;
|
|
10
10
|
margin-top: 3px !important;
|
|
11
11
|
z-index: 2002;
|
|
12
12
|
background: white;
|
|
@@ -20,6 +20,7 @@ button.buttons-collection.ui.button span:after {
|
|
|
20
20
|
padding-left: 0.5em;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
|
|
23
24
|
div.dt-button-background {
|
|
24
25
|
position: fixed;
|
|
25
26
|
top: 0;
|