-
+
+```
+
+
+## Usage
+
+In its simplest case, DataTables can be initialised with a single line of Javascript:
+
+```js
+$('table').dataTable();
+```
+
+where the jQuery selector is used to obtain a reference to the table you want to enhance with DataTables. Optional configuration parameters can be passed in to DataTables to have it perform certain actions by using a configuration object as the parameter passed in to the DataTables constructor. For example:
+
+```js
+$('table').dataTable( {
+ paginate: false,
+ scrollY: 300
+} );
+```
+
+will disable paging and enable scrolling.
+
+A full list of the options available for DataTables are available in the [documentation](//datatables.net).
+
+
+## Documentation
+
+Full documentation of the DataTables options, API and pug-in interface are available on the [DataTables web-site](//datatables.net). The site also contains information on the wide variety of plug-ins that are available for DataTables, which can be used to enhance and customise your table even further.
+
+
+## Support
+
+Support for DataTables is available through the [DataTables forums](//datatables.net/forums) and [commercial support options](//datatables.net/support) are available.
+
+
+## License
+
+DataTables is release under the [MIT license](//datatables.net/license). You are free to use, modify and distribute this software, as long as the copyright header is left intact (specifically the comment block which starts with `/*!`.
diff --git a/public/vendor/datatables/bower.json b/public/vendor/datatables/bower.json
new file mode 100644
index 000000000000..0f8414b6d037
--- /dev/null
+++ b/public/vendor/datatables/bower.json
@@ -0,0 +1,11 @@
+{
+ "name": "datatables",
+ "version": "1.10.0-beta.2",
+ "main": [
+ "media/js/jquery.dataTables.js",
+ "media/css/jquery.dataTables.css"
+ ],
+ "dependencies": {
+ "jquery": ">=1.7.0"
+ }
+}
diff --git a/public/vendor/datatables/composer.json b/public/vendor/datatables/composer.json
new file mode 100644
index 000000000000..05b1b305cd92
--- /dev/null
+++ b/public/vendor/datatables/composer.json
@@ -0,0 +1,15 @@
+{
+ "name": "datatables/datatables",
+ "version": "1.10.0-beta.2",
+ "description": "DataTables is a plug-in for the jQuery Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, which will add advanced interaction controls to any HTML table.",
+ "homepage": "http://www.datatables.net/",
+ "author": "SpryMedia",
+ "license": [
+ "MIT"
+ ],
+ "prefer-stable": true,
+ "support": {
+ "forum": "https://datatables.net/forums",
+ "source": "https://github.com/DataTables/DataTablesSrc/"
+ }
+}
diff --git a/public/vendor/datatables/dataTables.jquery.json b/public/vendor/datatables/dataTables.jquery.json
new file mode 100644
index 000000000000..98049202c22f
--- /dev/null
+++ b/public/vendor/datatables/dataTables.jquery.json
@@ -0,0 +1,32 @@
+{
+ "name": "DataTables",
+ "version": "1.10.0-beta.2",
+ "description": "DataTables enhances HTML tables with the ability to sort, filter and page the data in the table very easily. It provides a comprehensive API and set of configuration options, allowing you to consume data from virtually any data source.",
+ "homepage": "http://datatables.net/",
+ "docs": "http://datatables.net/",
+ "demo": "http://datatables.net/examples",
+ "download": "http://datatables.net/download",
+ "author": {
+ "name": "Allan Jardine",
+ "url": "http://sprymedia.co.uk"
+ },
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://datatables.net/license_bsd"
+ }
+ ],
+ "dependencies": {
+ "jquery": ">=1.7"
+ },
+ "keywords": [
+ "DataTables",
+ "DataTable",
+ "table",
+ "grid",
+ "filter",
+ "sort",
+ "page",
+ "internationalisable"
+ ]
+}
diff --git a/public/vendor/datatables/examples/advanced_init/html5-data-attributes.html b/public/vendor/datatables/examples/advanced_init/html5-data-attributes.html
new file mode 100644
index 000000000000..75f92bf6843d
--- /dev/null
+++ b/public/vendor/datatables/examples/advanced_init/html5-data-attributes.html
@@ -0,0 +1,766 @@
+
+
+
+
+
+
+ DataTables example - HTML5 data-* attributes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - HTML5 data-* attributes
+
+
+
DataTables can use different data for different actions (display, ordering and searcgubg) which can
+ be immensely powerful for transforming data in the display to be intuitive for the end user, while
+ using different, or more complex data, for other actions. For example, if a table contains a formatted
+ telephone number in the format xxx-xxxx, intuitively a user might search for the number
+ but without a dash. Using orthogonal data for searching allows both forms of the telephone number to be
+ used, while only the nicely formatted number is displayed in the table.
+
+
One method in which DataTables can obtain this orthogonal data for its different actions is through
+
+ custom HTML5 data attributes. DataTables will automatically detect four different attributes on the
+ HTML elements:
+
+
+
data-sort or data-order - for ordering data
+
data-filter or data-search - for search data
+
+
+
This example shows the use of data-sort and data-filter attributes. In
+ this case the first column has been formatted so the first name has abbreviated, but the full name is
+ still searchable (search for "Bruno" for example). Additionally, although the last column contains
+ non-numeric data in it (/m) the column will correctly order numerically as the
+ data-sort / data-order attribute is set on the column with plain numeric
+ data.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
T. Nixon
+
System Architect
+
Edinburgh
+
61
+
Mon 25th Apr 11
+
$320,800/m
+
+
+
G. Winters
+
Accountant
+
Tokyo
+
63
+
Mon 25th Jul 11
+
$170,750/m
+
+
+
A. Cox
+
Junior Technical Author
+
San Francisco
+
66
+
Mon 12th Jan 09
+
$86,000/m
+
+
+
C. Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
Thu 29th Mar 12
+
$433,060/m
+
+
+
A. Satou
+
Accountant
+
Tokyo
+
33
+
Fri 28th Nov 08
+
$162,700/m
+
+
+
B. Williamson
+
Integration Specialist
+
New York
+
61
+
Sun 2nd Dec 12
+
$372,000/m
+
+
+
H. Chandler
+
Sales Assistant
+
San Francisco
+
59
+
Mon 6th Aug 12
+
$137,500/m
+
+
+
R. Davidson
+
Integration Specialist
+
Tokyo
+
55
+
Thu 14th Oct 10
+
$327,900/m
+
+
+
C. Hurst
+
Javascript Developer
+
San Francisco
+
39
+
Tue 15th Sep 09
+
$205,500/m
+
+
+
S. Frost
+
Software Engineer
+
Edinburgh
+
23
+
Sat 13th Dec 08
+
$103,600/m
+
+
+
J. Gaines
+
Office Manager
+
London
+
30
+
Fri 19th Dec 08
+
$90,560/m
+
+
+
Q. Flynn
+
Support Lead
+
Edinburgh
+
22
+
Sun 3rd Mar 13
+
$342,000/m
+
+
+
C. Marshall
+
Regional Director
+
San Francisco
+
36
+
Thu 16th Oct 08
+
$470,600/m
+
+
+
H. Kennedy
+
Senior Marketing Designer
+
London
+
43
+
Tue 18th Dec 12
+
$313,500/m
+
+
+
T. Fitzpatrick
+
Regional Director
+
London
+
19
+
Wed 17th Mar 10
+
$385,750/m
+
+
+
M. Silva
+
Marketing Designer
+
London
+
66
+
Tue 27th Nov 12
+
$198,500/m
+
+
+
P. Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
Wed 9th Jun 10
+
$725,000/m
+
+
+
G. Little
+
Systems Administrator
+
New York
+
59
+
Fri 10th Apr 09
+
$237,500/m
+
+
+
B. Greer
+
Software Engineer
+
London
+
41
+
Sat 13th Oct 12
+
$132,000/m
+
+
+
D. Rios
+
Personnel Lead
+
Edinburgh
+
35
+
Wed 26th Sep 12
+
$217,500/m
+
+
+
J. Caldwell
+
Development Lead
+
New York
+
30
+
Sat 3rd Sep 11
+
$345,000/m
+
+
+
Y. Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
Thu 25th Jun 09
+
$675,000/m
+
+
+
C. Vance
+
Pre-Sales Support
+
New York
+
21
+
Mon 12th Dec 11
+
$106,450/m
+
+
+
D. Wilder
+
Sales Assistant
+
Sidney
+
23
+
Mon 20th Sep 10
+
$85,600/m
+
+
+
A. Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
Fri 9th Oct 09
+
$1,200,000/m
+
+
+
G. Joyce
+
Developer
+
Edinburgh
+
42
+
Wed 22nd Dec 10
+
$92,575/m
+
+
+
J. Chang
+
Regional Director
+
Singapore
+
28
+
Sun 14th Nov 10
+
$357,650/m
+
+
+
B. Wagner
+
Software Engineer
+
San Francisco
+
28
+
Tue 7th Jun 11
+
$206,850/m
+
+
+
F. Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
Thu 11th Mar 10
+
$850,000/m
+
+
+
S. Itou
+
Regional Marketing
+
Tokyo
+
20
+
Sun 14th Aug 11
+
$163,000/m
+
+
+
M. House
+
Integration Specialist
+
Sidney
+
37
+
Thu 2nd Jun 11
+
$95,400/m
+
+
+
S. Burks
+
Developer
+
London
+
53
+
Thu 22nd Oct 09
+
$114,500/m
+
+
+
P. Bartlett
+
Technical Author
+
London
+
27
+
Sat 7th May 11
+
$145,000/m
+
+
+
G. Cortez
+
Team Leader
+
San Francisco
+
22
+
Sun 26th Oct 08
+
$235,500/m
+
+
+
M. Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
Wed 9th Mar 11
+
$324,050/m
+
+
+
U. Butler
+
Marketing Designer
+
San Francisco
+
47
+
Wed 9th Dec 09
+
$85,675/m
+
+
+
H. Hatfield
+
Office Manager
+
San Francisco
+
51
+
Tue 16th Dec 08
+
$164,500/m
+
+
+
H. Fuentes
+
Secretary
+
San Francisco
+
41
+
Fri 12th Feb 10
+
$109,850/m
+
+
+
V. Harrell
+
Financial Controller
+
San Francisco
+
62
+
Sat 14th Feb 09
+
$452,500/m
+
+
+
T. Mooney
+
Office Manager
+
London
+
37
+
Thu 11th Dec 08
+
$136,200/m
+
+
+
J. Bradshaw
+
Director
+
New York
+
65
+
Fri 26th Sep 08
+
$645,750/m
+
+
+
O. Liang
+
Support Engineer
+
Singapore
+
64
+
Thu 3rd Feb 11
+
$234,500/m
+
+
+
B. Nash
+
Software Engineer
+
London
+
38
+
Tue 3rd May 11
+
$163,500/m
+
+
+
S. Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
Wed 19th Aug 09
+
$139,575/m
+
+
+
T. Walton
+
Developer
+
New York
+
61
+
Sun 11th Aug 13
+
$98,540/m
+
+
+
F. Camacho
+
Support Engineer
+
San Francisco
+
47
+
Tue 7th Jul 09
+
$87,500/m
+
+
+
S. Baldwin
+
Data Coordinator
+
Singapore
+
64
+
Mon 9th Apr 12
+
$138,575/m
+
+
+
Z. Frank
+
Software Engineer
+
New York
+
63
+
Mon 4th Jan 10
+
$125,250/m
+
+
+
Z. Serrano
+
Software Engineer
+
San Francisco
+
56
+
Fri 1st Jun 12
+
$115,000/m
+
+
+
J. Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
Fri 1st Feb 13
+
$75,650/m
+
+
+
C. Stevens
+
Sales Assistant
+
New York
+
46
+
Tue 6th Dec 11
+
$145,600/m
+
+
+
H. Butler
+
Regional Director
+
London
+
47
+
Mon 21st Mar 11
+
$356,250/m
+
+
+
L. Greer
+
Systems Administrator
+
London
+
21
+
Fri 27th Feb 09
+
$103,500/m
+
+
+
J. Alexander
+
Developer
+
San Francisco
+
30
+
Wed 14th Jul 10
+
$86,500/m
+
+
+
S. Decker
+
Regional Director
+
Edinburgh
+
51
+
Thu 13th Nov 08
+
$183,000/m
+
+
+
M. Bruce
+
Javascript Developer
+
Singapore
+
29
+
Mon 27th Jun 11
+
$183,000/m
+
+
+
D. Snider
+
Customer Support
+
New York
+
27
+
Tue 25th Jan 11
+
$112,000/m
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/advanced_init/index.html b/public/vendor/datatables/examples/advanced_init/index.html
new file mode 100644
index 000000000000..8ac9567b6a93
--- /dev/null
+++ b/public/vendor/datatables/examples/advanced_init/index.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+ DataTables examples - Advanced initialisation
+
+
+
+
+
+
DataTables example - Advanced initialisation
+
+
+
The configuration options offered by DataTables extend much further than the options shown in the
+ basic initialisation of this documentation. Through combinations of the options available and the use
+ of callbacks, DataTables is completely customisable and will fit into exactly what you need for your
+ table display.
+
+
This section shows some more advanced initialisation options. Keep in mind also that each example
+ can be combined with the other examples to get what you want!
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/advanced_init/sort_direction_control.html b/public/vendor/datatables/examples/advanced_init/sort_direction_control.html
new file mode 100644
index 000000000000..09bb006e916f
--- /dev/null
+++ b/public/vendor/datatables/examples/advanced_init/sort_direction_control.html
@@ -0,0 +1,782 @@
+
+
+
+
+
+
+ DataTables example - Order direction sequence control
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Order direction sequence control
+
+
+
At times you may wish to change the default ordering direction sequence for columns (some or all of
+ them) to be 'descending' rather than DataTables' default ascending. This can be done through the use of
+ the columns.orderSequence initialisation parameter. This parameter also
+ allows you to limit the ordering to a single direction, or you could add complex behaviour to the
+ ordering interaction.
+
+
The example below shows:
+
+
+
Column 1 - default ordering
+
Column 2 - default ordering
+
Column 3 - ascending ordering only
+
Column 4 - descending ordering, followed by ascending and then ascending again
+
Column 5 - descending ordering only
+
Column 6 - default ordering
+
+
+
It's worth noting that I don't have a good use case for when you might what to mix such complex
+ ordering behaviour into a single table, but the example shows how these options can be use and
+ therefore applied across all columns.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/ajax/custom_data_flat.html b/public/vendor/datatables/examples/ajax/custom_data_flat.html
new file mode 100644
index 000000000000..7ae3461c2056
--- /dev/null
+++ b/public/vendor/datatables/examples/ajax/custom_data_flat.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+ DataTables example - Flat array data source
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Flat array data source
+
+
+
When loading data from an Ajax source, by default, DataTables will look for the data to use in the
+ data parameter of a returned object (e.g. { "data": [...] }). This can easily
+ be change by using the dataSrc option of the ajax initiation option.
+
+
The ajax.dataSrc has a number of ways in which it can be used:
+
+
+
As a string (e.g. dataSrc: 'myData') - obtain data from a different property in
+ the source object.
+
As an empty string (e.g. dataSrc: '') - the data source is not an object but an
+ array.
+
As a function (e.g. dataSrc: function(json) {}) - a function can be used to
+ transform the data from one source format to another (for example you could convert from XML to a
+ Javascript object). The value returned from the function is used as the data for the table.
+
+
+
The example below shows ajax.dataSrc being used as an empty string. This
+ tells DataTables that the JSON loaded is a plain array, not an object with an array inside it as is the
+ default.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Extn.
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Extn.
+
Start date
+
Salary
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
DataTables can read data from a server via Ajax, while still performing searching, ordering, paging
+ etc on the client-side. This is done through use of the ajax option, which has a number of options to customise how the data
+ is retrieved from the server.
+
+
The examples in this section demonstrate the use of Ajax loading data in DataTables, with
+ client-side processing.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/ajax/orthogonal-data.html b/public/vendor/datatables/examples/ajax/orthogonal-data.html
new file mode 100644
index 000000000000..752845de6a45
--- /dev/null
+++ b/public/vendor/datatables/examples/ajax/orthogonal-data.html
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+ DataTables example - Orthogonal data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Orthogonal data
+
+
+
To try and make life easy, by default, DataTables expects arrays to be used as the data source for
+ rows in the table. However, this isn't always useful, and you may wish to have DataTables use objects
+ as the data source for each row (i.e. each row has its data described by an object) as this can make
+ working with the data much more understandable, particularly if you are using the API and you don't
+ need to keep track of array indexes.
+
+
This can be done quite simply by using the columns.data option which you use to tell DataTables which property
+ to use from the data source object for each column.
+
+
In this example the Ajax source returns an array of objects, which DataTables uses to display the
+ table. The structure of the row's data source in this example is:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/ajax/simple.html b/public/vendor/datatables/examples/ajax/simple.html
new file mode 100644
index 000000000000..b0afb04e12e2
--- /dev/null
+++ b/public/vendor/datatables/examples/ajax/simple.html
@@ -0,0 +1,319 @@
+
+
+
+
+
+
+ DataTables example - Ajax data source (arrays)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Ajax data source (arrays)
+
+
+
DataTables has the ability to read data from virtually any JSON data source that can be obtained by
+ Ajax. This can be done, in its most simple form, by setting the ajax option to the address of the JSON data source.
+
+
The ajax option also allows for more advanced configuration such as
+ altering how the Ajax request is made. See the ajax documentation or the other Ajax examples for DataTables for
+ further information.
+
+
By default DataTables will assume that an array data source is to be used and will read the
+ information to be displayed in each column from the row's array using the column index, making working
+ with arrays very simple (note that this can be changed, or objects used may using the columns.data option, shown in other examples).
+
+
The example below shows DataTables loading data for a table from arrays as the data source, where
+ the structure of the row's data source in this example is:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/api/counter_columns.html b/public/vendor/datatables/examples/api/counter_columns.html
new file mode 100644
index 000000000000..41ad92a78c65
--- /dev/null
+++ b/public/vendor/datatables/examples/api/counter_columns.html
@@ -0,0 +1,785 @@
+
+
+
+
+
+
+ DataTables example - Index column
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Index column
+
+
+
A fairly common requirement for highly interactive tables which are displayed on the web is to have
+ a column which with a 'counter' for the row number. This column should not be sortable, and will change
+ dynamically as the ordering and searching applied to the table is altered by the end user.
+
+
This example shows how this can be achieved with DataTables, where the first column is the counter
+ column, and is updated when ordering or searching occurs. This is done by listening for the order and
+ search
+ events emitted by the table. When these events are detected the column().nodes() method is used to get the TD/TH nodes for the target column
+ and the each() helper function used to iterate over each, which have their contents
+ updated as needed. Note that the filter and order options are using in the
+ column() method to get the nodes in the current order and with the currently
+ applied filter.
+
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Salary
+
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Salary
+
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
$320,800
+
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
$170,750
+
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
$86,000
+
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
$433,060
+
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
$162,700
+
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
$372,000
+
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
$137,500
+
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
$327,900
+
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
$205,500
+
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
$103,600
+
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
$90,560
+
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
$342,000
+
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
$470,600
+
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
$313,500
+
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
$385,750
+
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
$198,500
+
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
$725,000
+
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
$237,500
+
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
$132,000
+
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
$217,500
+
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
$345,000
+
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
$675,000
+
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
$106,450
+
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
$85,600
+
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
$1,200,000
+
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
$92,575
+
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
$357,650
+
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
$206,850
+
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
$850,000
+
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
$163,000
+
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
$95,400
+
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
$114,500
+
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
$145,000
+
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
$235,500
+
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
$324,050
+
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
$85,675
+
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
$164,500
+
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
$109,850
+
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
$452,500
+
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
$136,200
+
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
$645,750
+
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
$234,500
+
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
$163,500
+
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
$139,575
+
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
$98,540
+
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
$87,500
+
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
$138,575
+
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
$125,250
+
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
$115,000
+
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
$75,650
+
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
$145,600
+
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
$356,250
+
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
$103,500
+
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
$86,500
+
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
$183,000
+
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
$183,000
+
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/api/index.html b/public/vendor/datatables/examples/api/index.html
new file mode 100644
index 000000000000..50aa941e49ad
--- /dev/null
+++ b/public/vendor/datatables/examples/api/index.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+ DataTables examples - API
+
+
+
+
+
+
DataTables example - API
+
+
+
The real power of DataTables can be exploited through the use of the API that it presents. The
+ DataTables API is designed to be simple, consistent and easy to use. The examples in this section show
+ how the API may be used.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/basic_init/comma-decimal.html b/public/vendor/datatables/examples/basic_init/comma-decimal.html
new file mode 100644
index 000000000000..69e1ef9d918e
--- /dev/null
+++ b/public/vendor/datatables/examples/basic_init/comma-decimal.html
@@ -0,0 +1,772 @@
+
+
+
+
+
+
+ DataTables example - Language - Comma decimal place
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Language - Comma decimal place
+
+
+
A dot (.) is used to mark the decimal place in Javascript, however, many parts of the world use a comma (,)
+ and other characters such as the Unicode decimal separator (⎖) or a dash
+ (-) are often used to show the decimal place in a displayed number.
+
+
When reading such numbers, Javascript won't automatically recognise them as numbers, however,
+ DataTables' type detection and sorting methods can be instructed through the language.decimal option which character is used as the decimal place
+ in your numbers. This will be used to correctly adjust DataTables' type detection and sorting
+ algorithms to sort numbers in your table.
+
+
Any character can be passed in using the language.decimal option, although the decimal place character used
+ in a single table must be consistent (i.e. numbers with a dot decimal place and comma decimal place
+ cannot both appear in the same table). Different tables on the same page can use different decimal
+ characters if required.
+
+
The example below shows a comma being used as the decimal place in the currency numbers shown in the
+ final column.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320.800,00
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170.750,00
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86.000,00
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433.060,00
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162.700,00
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372.000,00
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137.500,00
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327.900,00
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205.500,00
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103.600,00
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90.560,00
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342.000,00
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470.600,00
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313.500,00
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385.750,00
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198.500,00
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725.000,00
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237.500,00
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132.000,00
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217.500,00
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345.000,00
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675.000,00
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106.450,00
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85.600,00
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1.200.000,00
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92.575,00
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357.650,00
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206.850,00
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850.000,00
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163.000,00
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95.400,00
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114.500,00
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145.000,00
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235.500,00
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324.050,00
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85.675,00
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164.500,00
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109.850,00
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452.500,00
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136.200,00
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645.750,00
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234.500,00
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163.500,00
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139.575,00
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98.540,00
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87.500,00
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138.575,00
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125.250,00
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115.000,00
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75.650,00
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145.600,00
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356.250,00
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103.500,00
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86.500,00
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183.000,00
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183.000,00
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112.000,00
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/basic_init/index.html b/public/vendor/datatables/examples/basic_init/index.html
new file mode 100644
index 000000000000..6f2e8e1ac8e2
--- /dev/null
+++ b/public/vendor/datatables/examples/basic_init/index.html
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+ DataTables examples - Basic initialisation
+
+
+
+
+
+
DataTables example - Basic initialisation
+
+
+
DataTables is very simple to use as a jQuery plug-in with a huge range of customisable option. The
+ examples in this section demonstrate basic initialisation of DataTables and how it can be easily
+ customised by passing an object with the options you want.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/basic_init/zero_configuration.html b/public/vendor/datatables/examples/basic_init/zero_configuration.html
new file mode 100644
index 000000000000..3770e6562ce7
--- /dev/null
+++ b/public/vendor/datatables/examples/basic_init/zero_configuration.html
@@ -0,0 +1,748 @@
+
+
+
+
+
+
+ DataTables example - Zero configuration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Zero configuration
+
+
+
DataTables has most features enabled by default, so all you need to do to use it with your own
+ tables is to call the construction function.
+
+
Searching, ordering, paging etc goodness will be immediately added to the table, as shown in this
+ example.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/data_sources/index.html b/public/vendor/datatables/examples/data_sources/index.html
new file mode 100644
index 000000000000..6911fb049b32
--- /dev/null
+++ b/public/vendor/datatables/examples/data_sources/index.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+ DataTables examples - Data sources
+
+
+
+
+
+
DataTables example - Data sources
+
+
+
DataTables can obtain data from four different fundamental sources:
+
+
+
HTML document (DOM)
+
Javascript (array / objects)
+
Ajax sourced data with client-side processing
+
Ajax sourced data with server-side processing
+
+
+
Which of these options is used to populate the table with data depends upon how the table is
+ initialised. The examples in this section show these four different data source types.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/plug-ins/api.html b/public/vendor/datatables/examples/plug-ins/api.html
new file mode 100644
index 000000000000..ea318ca7cd55
--- /dev/null
+++ b/public/vendor/datatables/examples/plug-ins/api.html
@@ -0,0 +1,800 @@
+
+
+
+
+
+
+ DataTables example - API plug-in methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - API plug-in methods
+
+
+
The DataTables API is designed to be fully extensible, with custom functions being very easy to add
+ using the $.fn.dataTable.Api.register function. This function takes two arguments; the
+ first being the name of the method to be added and its chaining hierarchy, and the second the function
+ itself.
+
+
This example shows how a sum() method can easily be added to the Api so you can get the
+ sum of a column in a single line: table.column().data().sum(). Due to the chaining of the
+ methods, this allows sum() to very easily give the sum for any selected column, and to
+ limit the sum to just the current page, filtered data or all pages. This is done using the options for
+ the column() method and the options for its selectors.
+
+
For more information about API plug-ins; creating them and their requirements, please refer to the
+ plug-in development documentation.
+
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
$.fn.dataTable.Api.register( 'column().data().sum()', function () {
+ return this.reduce( function (a, b) {
+ var x = parseFloat( a ) || 0;
+ var y = parseFloat( b ) || 0;
+ return x + y;
+ } );
+} );
+
+/* Init the table and fire off a call to get the hidden nodes. */
+$(document).ready(function() {
+ var table = $('#example').DataTable();
+
+ $('<button>Click to sum age in all rows</button>')
+ .prependTo( '#demo' )
+ .on( 'click', function () {
+ alert( 'Column sum is: '+ table.column( 3 ).data().sum() );
+ } );
+
+ $('<button>Click to sum age of visible rows</button>')
+ .prependTo( '#demo' )
+ .on( 'click', function () {
+ alert( 'Column sum is: '+ table.column( 3, {page:'current'} ).data().sum() );
+ } );
+} );
+
+
In addition to the above code, the following Javascript library files are loaded for use in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/plug-ins/index.html b/public/vendor/datatables/examples/plug-ins/index.html
new file mode 100644
index 000000000000..325bc0b1b37f
--- /dev/null
+++ b/public/vendor/datatables/examples/plug-ins/index.html
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+ DataTables examples - Plug-ins
+
+
+
+
+
+
DataTables example - Plug-ins
+
+
+
While DataTables has a wide range of options and data type support built in, it can never cater for
+ every type of data out of the box. For this reason, DataTables exposes an extension API which allows
+ you, the developers using DataTables, to add support for your own data types, searching, ordering and
+ feature plug-ins.
+
+
The examples in this section show how plug-ins can be used and developed for DataTables.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/plug-ins/sorting_auto.html b/public/vendor/datatables/examples/plug-ins/sorting_auto.html
new file mode 100644
index 000000000000..1e9d31404297
--- /dev/null
+++ b/public/vendor/datatables/examples/plug-ins/sorting_auto.html
@@ -0,0 +1,781 @@
+
+
+
+
+
+
+ DataTables example - Ordering plug-ins (with type detection)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Ordering plug-ins (with type detection)
+
+
+
Although DataTables will automatically order data from a number of different data types using the
+ built in methods, When dealing with more complex formatted data, it can be desirable to define the
+ ordering order yourself. Using plug-in ordering functions, you have have DataTables sort data in any
+ manner you wish.
+
+
Formatted data of a particular kind can be automatically detected and a suitable ordering plug-in
+ assigned to it by making use of DataTables' plug-in type detection abilities. For complete information
+ about type detection and ordering plug-ins; creating them and their requirements, please refer to the
+ plug-in development documentation.
+
+
This example shows ordering with a comma for a decimal place, as is often used in parts of Europe
+ with automatic type detection.
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/plug-ins/sorting_manual.html b/public/vendor/datatables/examples/plug-ins/sorting_manual.html
new file mode 100644
index 000000000000..7201d6ee67aa
--- /dev/null
+++ b/public/vendor/datatables/examples/plug-ins/sorting_manual.html
@@ -0,0 +1,778 @@
+
+
+
+
+
+
+ DataTables example - Ordering plug-ins (no type detection)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Ordering plug-ins (no type detection)
+
+
+
Although DataTables will order a number of data types using the built in methods, When dealing with
+ more complex formatted data, it can be desirable to define the ordering order yourself. Using plug-in
+ ordering functions, you have have DataTables order data in any manner you wish.
+
+
This is done by using the columns.type parameter, in combination with a
+ ordering plug-in. The ordering plug-in can be be of any level of complexity (natural ordering for
+ example can be fairly complex while also very powerful), and is defined by attaching to the
+ $.fn.dataTable.ext.type.order object. For more information about ordering plug-ins;
+ creating them and their requirements, please refer to the plug-in development documentation.
+
+
This example shows ordering with a comma for a decimal place, as is often used in parts of
+ Europe.
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
There are many ways to get your data into DataTables, and if you are working with seriously large
+ databases, you might want to consider using the server-side options that DataTables provides. With
+ server-side processing enabled, all paging, searching, ordering etc actions that DataTables performs
+ are handed off to a server where an SQL engine (or similar) can perform these actions on the large data
+ set (after all, that's what the database engine is designed for!). As such, each draw of the table will
+ result in a new Ajax request being made to get the required data.
+
+
Server-side processing is enabled by setting the serverSide option to true and providing an Ajax data
+ source through the ajax option.
+
+
The examples in this section shows server-side processing in use and how it can be customised to
+ suit your needs.
There are many ways to get your data into DataTables, and if you are working with seriously large
+ databases, you might want to consider using the server-side options that DataTables provides. With
+ server-side processing enabled, all paging, searching, ordering etc actions that DataTables performs
+ are handed off to a server where an SQL engine (or similar) can perform these actions on the large data
+ set (after all, that's what the database engine is designed for!). As such, each draw of the table will
+ result in a new Ajax request being made to get the required data.
+
+
Server-side processing is enabled by setting the serverSide option to true and providing an Ajax data
+ source through the ajax option.
+
+
This example shows a very simple table, matching the other client-side processing examples, but in
+ this instance using server-side processing.
+
+
+
+
+
+
First name
+
Last name
+
Position
+
Office
+
Start date
+
Salary
+
+
+
+
+
+
First name
+
Last name
+
Position
+
Office
+
Start date
+
Salary
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/bootstrap.html b/public/vendor/datatables/examples/styling/bootstrap.html
new file mode 100644
index 000000000000..6a229ca0ee08
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/bootstrap.html
@@ -0,0 +1,762 @@
+
+
+
+
+
+
+ DataTables example - Bootstrap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Bootstrap
+
+
+
DataTables can integrate seamlessly with Bootstrap using
+ Bootstrap's table styling options to present a
+ consistent interface with your Bootstrap driven site / app.
+
+
DataTables' Bootstrap integration also provides a renderer for the pagination control in DataTables
+ to ensure that the pagination of the table is also styled consistently by Bootstrap.
+
+
This integration is done simply by including the DataTables Bootstrap files (CSS and JS) which will
+ set the defaults needed for DataTables to be initialised as normal, as shown in this examples.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
body { font-size: 140%; }
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/cell-border.html b/public/vendor/datatables/examples/styling/cell-border.html
new file mode 100644
index 000000000000..fec91b43da75
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/cell-border.html
@@ -0,0 +1,745 @@
+
+
+
+
+
+
+ DataTables example - Base style - cell borders
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Base style - cell borders
+
+
+
This example shows DataTables with just the cell-border class specified, giving a
+ strong delineation between individual cells.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/display.html b/public/vendor/datatables/examples/styling/display.html
new file mode 100644
index 000000000000..42f410a62174
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/display.html
@@ -0,0 +1,761 @@
+
+
+
+
+
+
+ DataTables example - Base style
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Base style
+
+
+
The DataTables default style file has a number of features which can be enabled based on the class
+ name of the table. These features are:
+
+
+
stripe - Zebra striped rows
+
cell-border - Cells with a border
+
row-border - Rows with a border (only one of cell-border and
+ row-border should be used for a single table.
+
order-column - Highlight the cells in the column currently being ordering
+ upon
+
hover - Highlight a row when hovered over
+
+
+
These classes can be combined (simply assign multiple classes to the table) to build up the styling
+ that you want for your table.
+
+
The display class is a short-cut for specifying the stripe hover order-column
+ row-border as the class name for a table. This is shown in the example below.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/foundation.html b/public/vendor/datatables/examples/styling/foundation.html
new file mode 100644
index 000000000000..e02c17c1a6ee
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/foundation.html
@@ -0,0 +1,761 @@
+
+
+
+
+
+
+ DataTables example - Foundation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Foundation
+
+
+
DataTables can integrate seamlessly with Foundation using
+ Foundations's table styling
+ options to present a consistent interface with your Foundation driven site / app.
+
+
DataTables' Foundation integration also provides a renderer for the pagination control in DataTables
+ to ensure that the pagination of the table is also styled consistently by Foundation.
+
+
This integration is done simply by including the DataTables Foundation files (CSS and JS) which will
+ set the defaults needed for DataTables to be initialised as normal, as shown in this examples.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/hover.html b/public/vendor/datatables/examples/styling/hover.html
new file mode 100644
index 000000000000..c3f18450cbe1
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/hover.html
@@ -0,0 +1,745 @@
+
+
+
+
+
+
+ DataTables example - Base style - hover
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Base style - hover
+
+
+
This example shows DataTables with just the hover class specified. This class will
+ instruct DataTables' styling to highlight a row when the mouse is hovered over it.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/index.html b/public/vendor/datatables/examples/styling/index.html
new file mode 100644
index 000000000000..ee31834653bd
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/index.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+ DataTables examples - Styling
+
+
+
+
+
+
DataTables example - Styling
+
+
+
When using DataTables, you want your tables to fit in with your site / app to make the end user
+ experience as seamless as possible. For this reason, DataTables provides an easy to customise core
+ stylesheet, which has a number of features that you can enable or disable as you required. Additionally
+ there are a number of integration packages which can be used to fit DataTables into a site which uses
+ some of the popular CSS libraries such as Twitter Bootstrap and Foundation. Or of course you can craft
+ your own CSS to fit it into your site perfectly!
+
+
This section includes examples of how DataTables can be styled using these methods.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/jqueryUI.html b/public/vendor/datatables/examples/styling/jqueryUI.html
new file mode 100644
index 000000000000..f9e909d1b74f
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/jqueryUI.html
@@ -0,0 +1,766 @@
+
+
+
+
+
+
+ DataTables example - jQuery UI ThemeRoller
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - jQuery UI ThemeRoller
+
+
+
DataTables has the ability to integrate seamlessly with almost any styling library, and integration
+ files are provided for several of the popular styling libraries, including jQuery UI.
+
+
To have your table styles integrate with jQuery UI's ThemeRoller styles, simply include the
+ DataTables CSS and JS integration files for jQuery UI, as shown in this example. Note also that because
+ jQuery doesn't provide table styles like some other CSS frameworks, the CSS integration file does add
+ this styling information.
+
+
Please note that DataTables 1.10- actually has built-in support for jQuery UI styling integration
+ through the jQueryUI option. However, this option is deprecated in DataTables
+ 1.10 and will be removed DataTables 1.11, matching how styling integration is provided for other
+ libraries - a more modular, maintainable and extensible method. The method presented on this page is
+ the method that will be use in future.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/no-classes.html b/public/vendor/datatables/examples/styling/no-classes.html
new file mode 100644
index 000000000000..c638509194e3
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/no-classes.html
@@ -0,0 +1,745 @@
+
+
+
+
+
+
+ DataTables example - Base style - no styling classes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Base style - no styling classes
+
+
+
This example shows the base DataTables style file being used, with none of the additional feature
+ style classes being used.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/order-column.html b/public/vendor/datatables/examples/styling/order-column.html
new file mode 100644
index 000000000000..2f59f50adf84
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/order-column.html
@@ -0,0 +1,746 @@
+
+
+
+
+
+
+ DataTables example - Base style - order-column
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Base style - order-column
+
+
+
This example shows DataTables with just the order-column class specified. Typically you
+ would want to use the stripe feature class in addition to order-column
+ (possibly hover as well), but this example shows just the ordered column highlighting.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/row-border.html b/public/vendor/datatables/examples/styling/row-border.html
new file mode 100644
index 000000000000..372fad937860
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/row-border.html
@@ -0,0 +1,745 @@
+
+
+
+
+
+
+ DataTables example - Base style - row borders
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Base style - row borders
+
+
+
This example shows DataTables with just the row-border class specified, which can
+ create a pleasing, minimalist, interface for your tables.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/examples/styling/stripe.html b/public/vendor/datatables/examples/styling/stripe.html
new file mode 100644
index 000000000000..09aca48b7a39
--- /dev/null
+++ b/public/vendor/datatables/examples/styling/stripe.html
@@ -0,0 +1,744 @@
+
+
+
+
+
+
+ DataTables example - Base style - stripe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DataTables example - Base style - stripe
+
+
+
This example shows DataTables with just the stripe class specified.
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Name
+
Position
+
Office
+
Age
+
Start date
+
Salary
+
+
+
+
+
+
Tiger Nixon
+
System Architect
+
Edinburgh
+
61
+
2011/04/25
+
$320,800
+
+
+
Garrett Winters
+
Accountant
+
Tokyo
+
63
+
2011/07/25
+
$170,750
+
+
+
Ashton Cox
+
Junior Technical Author
+
San Francisco
+
66
+
2009/01/12
+
$86,000
+
+
+
Cedric Kelly
+
Senior Javascript Developer
+
Edinburgh
+
22
+
2012/03/29
+
$433,060
+
+
+
Airi Satou
+
Accountant
+
Tokyo
+
33
+
2008/11/28
+
$162,700
+
+
+
Brielle Williamson
+
Integration Specialist
+
New York
+
61
+
2012/12/02
+
$372,000
+
+
+
Herrod Chandler
+
Sales Assistant
+
San Francisco
+
59
+
2012/08/06
+
$137,500
+
+
+
Rhona Davidson
+
Integration Specialist
+
Tokyo
+
55
+
2010/10/14
+
$327,900
+
+
+
Colleen Hurst
+
Javascript Developer
+
San Francisco
+
39
+
2009/09/15
+
$205,500
+
+
+
Sonya Frost
+
Software Engineer
+
Edinburgh
+
23
+
2008/12/13
+
$103,600
+
+
+
Jena Gaines
+
Office Manager
+
London
+
30
+
2008/12/19
+
$90,560
+
+
+
Quinn Flynn
+
Support Lead
+
Edinburgh
+
22
+
2013/03/03
+
$342,000
+
+
+
Charde Marshall
+
Regional Director
+
San Francisco
+
36
+
2008/10/16
+
$470,600
+
+
+
Haley Kennedy
+
Senior Marketing Designer
+
London
+
43
+
2012/12/18
+
$313,500
+
+
+
Tatyana Fitzpatrick
+
Regional Director
+
London
+
19
+
2010/03/17
+
$385,750
+
+
+
Michael Silva
+
Marketing Designer
+
London
+
66
+
2012/11/27
+
$198,500
+
+
+
Paul Byrd
+
Chief Financial Officer (CFO)
+
New York
+
64
+
2010/06/09
+
$725,000
+
+
+
Gloria Little
+
Systems Administrator
+
New York
+
59
+
2009/04/10
+
$237,500
+
+
+
Bradley Greer
+
Software Engineer
+
London
+
41
+
2012/10/13
+
$132,000
+
+
+
Dai Rios
+
Personnel Lead
+
Edinburgh
+
35
+
2012/09/26
+
$217,500
+
+
+
Jenette Caldwell
+
Development Lead
+
New York
+
30
+
2011/09/03
+
$345,000
+
+
+
Yuri Berry
+
Chief Marketing Officer (CMO)
+
New York
+
40
+
2009/06/25
+
$675,000
+
+
+
Caesar Vance
+
Pre-Sales Support
+
New York
+
21
+
2011/12/12
+
$106,450
+
+
+
Doris Wilder
+
Sales Assistant
+
Sidney
+
23
+
2010/09/20
+
$85,600
+
+
+
Angelica Ramos
+
Chief Executive Officer (CEO)
+
London
+
47
+
2009/10/09
+
$1,200,000
+
+
+
Gavin Joyce
+
Developer
+
Edinburgh
+
42
+
2010/12/22
+
$92,575
+
+
+
Jennifer Chang
+
Regional Director
+
Singapore
+
28
+
2010/11/14
+
$357,650
+
+
+
Brenden Wagner
+
Software Engineer
+
San Francisco
+
28
+
2011/06/07
+
$206,850
+
+
+
Fiona Green
+
Chief Operating Officer (COO)
+
San Francisco
+
48
+
2010/03/11
+
$850,000
+
+
+
Shou Itou
+
Regional Marketing
+
Tokyo
+
20
+
2011/08/14
+
$163,000
+
+
+
Michelle House
+
Integration Specialist
+
Sidney
+
37
+
2011/06/02
+
$95,400
+
+
+
Suki Burks
+
Developer
+
London
+
53
+
2009/10/22
+
$114,500
+
+
+
Prescott Bartlett
+
Technical Author
+
London
+
27
+
2011/05/07
+
$145,000
+
+
+
Gavin Cortez
+
Team Leader
+
San Francisco
+
22
+
2008/10/26
+
$235,500
+
+
+
Martena Mccray
+
Post-Sales support
+
Edinburgh
+
46
+
2011/03/09
+
$324,050
+
+
+
Unity Butler
+
Marketing Designer
+
San Francisco
+
47
+
2009/12/09
+
$85,675
+
+
+
Howard Hatfield
+
Office Manager
+
San Francisco
+
51
+
2008/12/16
+
$164,500
+
+
+
Hope Fuentes
+
Secretary
+
San Francisco
+
41
+
2010/02/12
+
$109,850
+
+
+
Vivian Harrell
+
Financial Controller
+
San Francisco
+
62
+
2009/02/14
+
$452,500
+
+
+
Timothy Mooney
+
Office Manager
+
London
+
37
+
2008/12/11
+
$136,200
+
+
+
Jackson Bradshaw
+
Director
+
New York
+
65
+
2008/09/26
+
$645,750
+
+
+
Olivia Liang
+
Support Engineer
+
Singapore
+
64
+
2011/02/03
+
$234,500
+
+
+
Bruno Nash
+
Software Engineer
+
London
+
38
+
2011/05/03
+
$163,500
+
+
+
Sakura Yamamoto
+
Support Engineer
+
Tokyo
+
37
+
2009/08/19
+
$139,575
+
+
+
Thor Walton
+
Developer
+
New York
+
61
+
2013/08/11
+
$98,540
+
+
+
Finn Camacho
+
Support Engineer
+
San Francisco
+
47
+
2009/07/07
+
$87,500
+
+
+
Serge Baldwin
+
Data Coordinator
+
Singapore
+
64
+
2012/04/09
+
$138,575
+
+
+
Zenaida Frank
+
Software Engineer
+
New York
+
63
+
2010/01/04
+
$125,250
+
+
+
Zorita Serrano
+
Software Engineer
+
San Francisco
+
56
+
2012/06/01
+
$115,000
+
+
+
Jennifer Acosta
+
Junior Javascript Developer
+
Edinburgh
+
43
+
2013/02/01
+
$75,650
+
+
+
Cara Stevens
+
Sales Assistant
+
New York
+
46
+
2011/12/06
+
$145,600
+
+
+
Hermione Butler
+
Regional Director
+
London
+
47
+
2011/03/21
+
$356,250
+
+
+
Lael Greer
+
Systems Administrator
+
London
+
21
+
2009/02/27
+
$103,500
+
+
+
Jonas Alexander
+
Developer
+
San Francisco
+
30
+
2010/07/14
+
$86,500
+
+
+
Shad Decker
+
Regional Director
+
Edinburgh
+
51
+
2008/11/13
+
$183,000
+
+
+
Michael Bruce
+
Javascript Developer
+
Singapore
+
29
+
2011/06/27
+
$183,000
+
+
+
Donna Snider
+
Customer Support
+
New York
+
27
+
2011/01/25
+
$112,000
+
+
+
+
+
+
Javascript
+
HTML
+
CSS
+
Ajax
+
Server-side script
+
+
+
+
+
The Javascript shown below is used to initialise the table shown in this
+ example:
The HTML shown below is the raw HTML table element, before it has been enhanced by
+ DataTables:
+
+
+
+
+
This example uses a little bit of additional CSS beyond what is loaded from the library
+ files (below), in order to correctly display the table. The additional CSS used is shown
+ below:
+
+
+
The following CSS library files are loaded for use in this example to provide the styling of the
+ table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data
+ will update automatically as any additional data is loaded.
+
+
+
+
The script used to perform the server-side processing for this table is shown below. Please note
+ that this is just an example script using PHP. Server-side processing scripts can be written in any
+ language, using the protocol described in the
+ DataTables documentation.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/vendor/datatables/license.txt b/public/vendor/datatables/license.txt
new file mode 100644
index 000000000000..48dee1865bcc
--- /dev/null
+++ b/public/vendor/datatables/license.txt
@@ -0,0 +1,20 @@
+Copyright (c) 2008-2013 SpryMedia Limited
+http://datatables.net
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/public/vendor/datatables/media/unit_testing/data_sources/arrays.php b/public/vendor/datatables/media/unit_testing/data_sources/arrays.php
new file mode 100644
index 000000000000..91ac0272586a
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/data_sources/arrays.php
@@ -0,0 +1,50 @@
+ array(
+ array(1, 2, 3, 4, 5)
+ )
+ );
+ }
+ else if ( $_REQUEST['dataSrc'] === 'data' ) {
+ return array(
+ 'data' => array(
+ array(1, 2, 3, 4, 5)
+ )
+ );
+ }
+ else if ( $_REQUEST['dataSrc'] === 'nested' ) {
+ return array(
+ 'data' => array(
+ 'inner' => array(
+ array(1, 2, 3, 4, 5)
+ )
+ )
+ );
+ }
+ else if ( $_REQUEST['dataSrc'] === 'plain' ) {
+ return array(
+ array(1, 2, 3, 4, 5)
+ );
+ }
+}
+
+
diff --git a/public/vendor/datatables/media/unit_testing/data_sources/method.php b/public/vendor/datatables/media/unit_testing/data_sources/method.php
new file mode 100644
index 000000000000..954e74a769d7
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/data_sources/method.php
@@ -0,0 +1,53 @@
+ intval( $_REQUEST['sEcho'] ),
+ 'iTotalRecords' => 1,
+ 'iTotalDisplayRecords' => 1,
+ 'aaData' => array(
+ array(1, 2, 3, 4, 5)
+ )
+ ) );
+ }
+ else {
+ // Client-side processing
+ echo json_encode( array(
+ 'aaData' => array(
+ array(1, 2, 3, 4, 5)
+ )
+ ) );
+ }
+}
+
+
+function fail()
+{
+ if ( isset($_REQUEST['sEcho']) ) {
+ // Server-side processing
+ echo json_encode( array(
+ 'sEcho' => intval( $_REQUEST['sEcho'] ),
+ 'iTotalRecords' => 0,
+ 'iTotalDisplayRecords' => 0,
+ 'aaData' => array()
+ ) );
+ }
+ else {
+ // Client-side processing
+ echo json_encode( array(
+ 'aaData' => array()
+ ) );
+ }
+}
+
diff --git a/public/vendor/datatables/media/unit_testing/data_sources/objects.php b/public/vendor/datatables/media/unit_testing/data_sources/objects.php
new file mode 100644
index 000000000000..480dbf6d2494
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/data_sources/objects.php
@@ -0,0 +1,33 @@
+ intval( $_REQUEST['sEcho'] ),
+ 'iTotalRecords' => 1,
+ 'iTotalDisplayRecords' => 1,
+ 'aaData' => array(
+ array(
+ 'engine' => 10,
+ 'browser' => 20,
+ 'platform' => 30,
+ 'version' => 40,
+ 'grade' => 50
+ )
+ )
+ ) );
+}
+else {
+ echo json_encode( array(
+ 'aaData' => array(
+ array(
+ 'engine' => 10,
+ 'browser' => 20,
+ 'platform' => 30,
+ 'version' => 40,
+ 'grade' => 50
+ )
+ )
+ ) );
+}
+
diff --git a/public/vendor/datatables/media/unit_testing/data_sources/param.php b/public/vendor/datatables/media/unit_testing/data_sources/param.php
new file mode 100644
index 000000000000..021225ee54e7
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/data_sources/param.php
@@ -0,0 +1,42 @@
+ intval( $_REQUEST['sEcho'] ),
+ 'iTotalRecords' => 1,
+ 'iTotalDisplayRecords' => 1,
+ 'aaData' => array(
+ array(1, 2, 3, 4, 5)
+ ),
+ 'post' => xss( $_POST ),
+ 'get' => xss( $_GET ),
+ 'post_length' => count( array_keys( $_POST ) ),
+ 'get_length' => count( array_keys( $_GET ) )
+ ) );
+}
+else {
+ echo json_encode( array(
+ 'aaData' => array(
+ array(1, 2, 3, 4, 5)
+ ),
+ 'post' => xss( $_POST ),
+ 'get' => xss( $_GET ),
+ 'post_length' => count( array_keys( $_POST ) ),
+ 'get_length' => count( array_keys( $_GET ) )
+ ) );
+}
+
+
+
+// This script shouldn't be hosted on a public server, but to prevent attacks:
+function xss ( $a )
+{
+ $out = array();
+
+ foreach ($a as $key => $value) {
+ $out[ $key ] = htmlentities( $value );
+ }
+
+ return $out;
+}
diff --git a/public/vendor/datatables/media/unit_testing/tests/6776-scrolling-table-grows.js b/public/vendor/datatables/media/unit_testing/tests/6776-scrolling-table-grows.js
new file mode 100755
index 000000000000..cfc70d5ff6da
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/tests/6776-scrolling-table-grows.js
@@ -0,0 +1,64 @@
+// DATA_TEMPLATE: 6776
+oTest.fnStart( "Actions on a scrolling table keep width" );
+
+
+$(document).ready( function () {
+ var oTable = $('#example').dataTable( {
+ "bFilter": true,
+ "bSort": true,
+ "sScrollY": "100px",
+ "bPaginate": false
+ } );
+
+ var iWidth = $('div.dataTables_wrapper').width();
+
+ oTest.fnTest(
+ "First sort has no effect on width",
+ function () { $('th:eq(1)').click(); },
+ function () { return $('div.dataTables_wrapper').width() == iWidth; }
+ );
+
+ oTest.fnTest(
+ "Second sort has no effect on width",
+ function () { $('th:eq(1)').click(); },
+ function () { return $('div.dataTables_wrapper').width() == iWidth; }
+ );
+
+ oTest.fnTest(
+ "Third sort has no effect on width",
+ function () { $('th:eq(2)').click(); },
+ function () { return $('div.dataTables_wrapper').width() == iWidth; }
+ );
+
+ oTest.fnTest(
+ "Filter has no effect on width",
+ function () { oTable.fnFilter('i'); },
+ function () { return $('div.dataTables_wrapper').width() == iWidth; }
+ );
+
+ oTest.fnTest(
+ "Filter 2 has no effect on width",
+ function () { oTable.fnFilter('in'); },
+ function () { return $('div.dataTables_wrapper').width() == iWidth; }
+ );
+
+ oTest.fnTest(
+ "No result filter has header and body at same width",
+ function () { oTable.fnFilter('xxx'); },
+ function () { return $('#example').width() == $('div.dataTables_scrollHeadInner').width(); }
+ );
+
+ oTest.fnTest(
+ "Filter with no results has no effect on width",
+ function () { oTable.fnFilter('xxx'); },
+ function () { return $('div.dataTables_wrapper').width() == iWidth; }
+ );
+
+ oTest.fnTest(
+ "Filter with no results has table equal to wrapper width",
+ function () { oTable.fnFilter('xxx'); },
+ function () { return $('div.dataTables_wrapper').width() == $('#example').width(); }
+ );
+
+ oTest.fnComplete();
+} );
\ No newline at end of file
diff --git a/public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/gh-151.js b/public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/gh-151.js
new file mode 100755
index 000000000000..dfea7662e701
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/gh-151.js
@@ -0,0 +1,60 @@
+// DATA_TEMPLATE: html_table
+oTest.fnStart( "Check type is correctly applied to filtering columns" );
+
+
+$(document).ready( function () {
+ // The second column is HTML type, and should be detected as such, while the first
+ // column is number type. We should get no results, as a test for the bug, when
+ // searching for http
+ $('#example').dataTable( {
+ columnDefs: [
+ {
+ targets: [ 0 ],
+ searchable: false
+ }
+ ]
+ } );
+
+ oTest.fnTest(
+ "Check html is stripped from second column",
+ function () { $('#example').dataTable().fnFilter('http'); },
+ function () { return $('div.dataTables_info').html() ==
+ 'Showing 0 to 0 of 0 entries (filtered from 4 total entries)';
+ }
+ );
+
+ oTest.fnTest(
+ "But can filter on text in links",
+ function () { $('#example').dataTable().fnFilter('Integrity'); },
+ function () { return $('div.dataTables_info').html() ==
+ 'Showing 1 to 3 of 3 entries (filtered from 4 total entries)';
+ }
+ );
+
+ oTest.fnTest(
+ "And on non-link text",
+ function () { $('#example').dataTable().fnFilter('EInt'); },
+ function () { return $('div.dataTables_info').html() ==
+ 'Showing 1 to 1 of 1 entries (filtered from 4 total entries)';
+ }
+ );
+
+ oTest.fnTest(
+ "No search results on non-serachable data (first column)",
+ function () { $('#example').dataTable().fnFilter('2'); },
+ function () { return $('div.dataTables_info').html() ==
+ 'Showing 0 to 0 of 0 entries (filtered from 4 total entries)';
+ }
+ );
+
+ oTest.fnTest(
+ "Release search",
+ function () { $('#example').dataTable().fnFilter(''); },
+ function () { return $('div.dataTables_info').html() ==
+ 'Showing 1 to 4 of 4 entries';
+ }
+ );
+
+
+ oTest.fnComplete();
+} );
\ No newline at end of file
diff --git a/public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/gh125 - stripe stripping.js b/public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/gh125 - stripe stripping.js
new file mode 100755
index 000000000000..ff56185d9da0
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/tests_onhold/1_dom/gh125 - stripe stripping.js
@@ -0,0 +1,61 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "Odd and even are stripped from all rows" );
+
+$(document).ready( function () {
+ $('table tbody tr').addClass( 'odd even' );
+ $('table.display').dataTable();
+
+ oTest.fnTest(
+ "Odd is applied to exactly 5 rows",
+ null,
+ function () {
+ return $('#example tbody tr.odd').length === 5;
+ }
+ );
+
+ oTest.fnTest(
+ "Even is applied to exactly 5 rows",
+ null,
+ function () {
+ return $('#example tbody tr.even').length === 5;
+ }
+ );
+
+ oTest.fnTest(
+ "First row is odd",
+ null,
+ function () {
+ return $('#example tbody tr:eq(0)').hasClass('odd') &&
+ ! $('#example tbody tr:eq(0)').hasClass('even');
+ }
+ );
+
+ oTest.fnTest(
+ "Second row is even",
+ null,
+ function () {
+ return $('#example tbody tr:eq(1)').hasClass('even') &&
+ ! $('#example tbody tr:eq(1)').hasClass('odd');
+ }
+ );
+
+ oTest.fnTest(
+ "Third row is odd",
+ null,
+ function () {
+ return $('#example tbody tr:eq(2)').hasClass('odd') &&
+ ! $('#example tbody tr:eq(2)').hasClass('even');
+ }
+ );
+
+ oTest.fnTest(
+ "Fourth row is even",
+ null,
+ function () {
+ return $('#example tbody tr:eq(3)').hasClass('even') &&
+ ! $('#example tbody tr:eq(3)').hasClass('odd');
+ }
+ );
+
+ oTest.fnComplete();
+} );
\ No newline at end of file
diff --git a/public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/ajax.js b/public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/ajax.js
new file mode 100644
index 000000000000..f43e3aedb3a5
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/ajax.js
@@ -0,0 +1,589 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "ajax" );
+
+
+$(document).ready( function () {
+ var json;
+ var result;
+
+ //
+ // As a string
+ //
+ oTest.fnWaitTest(
+ "Basic request as a string - getting arrays",
+ function () {
+ $('#example').dataTable( {
+ "ajax": "../data_sources/arrays.php"
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Basic request as a string - getting objects",
+ function () {
+ oSession.fnRestore();
+ $('#example').dataTable( {
+ "ajax": "../data_sources/objects.php",
+ "columns": [
+ { data: 'engine' },
+ { data: 'browser' },
+ { data: 'platform' },
+ { data: 'version' },
+ { data: 'grade' }
+ ]
+ } );
+ },
+ function () {
+ return $('tbody td').eq(1).html() === '20';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Default request is GET - string based",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": "../data_sources/method.php?method=get"
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "jQuery anti-cache parameter is sent by default - string based",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": "../data_sources/param.php"
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get._;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "No other parameters sent",
+ null,
+ function () {
+ return json.get_length === 1;
+ }
+ );
+
+
+
+ //
+ // As an object
+ //
+ oTest.fnWaitTest(
+ "Get Ajax using url parameter only",
+ function () {
+ oSession.fnRestore();
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/arrays.php"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+
+ // props
+ oTest.fnWaitTest(
+ "Disable cache property",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "cache": true
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && typeof json.get._ === 'undefined';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Set an error callback",
+ function () {
+ oSession.fnRestore();
+ result = false;
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/rubbish",
+ "error": function () {
+ result = true;
+ }
+ }
+ } );
+ },
+ function () {
+ return result;
+ }
+ );
+
+ // type
+ oTest.fnWaitTest(
+ "type - Default request is GET",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/method.php?method=get"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(1).html() === '2';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "type - Can use `type` to make a POST request",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/method.php?method=post",
+ "type": "POST"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(2).html() === '3';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "type - Can use `type` to make a PUT request",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/method.php?method=put",
+ "type": "PUT"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+
+ // data
+ oTest.fnWaitTest(
+ "data - Function based data - has empty array as input",
+ function () {
+ oSession.fnRestore();
+ result = false;
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ result = d.length === 0;
+ }
+ }
+ } );
+ },
+ function () {
+ return result;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - can return an object",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ return { 'tapestry': 'king' };
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'king';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - multiple properties",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ return { 'tapestry': 'king', 'move': 'earth' };
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'king' && json.get.move === 'earth';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Confirm no other parameters sent",
+ null,
+ function () {
+ return json.get_length === 3;
+ }
+ );
+
+
+ oTest.fnWaitTest(
+ "data - Function based data - can return an array of key/value object pairs",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ return [
+ { 'name': 'tapestry', 'value': 'carole' }
+ ];
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'carole';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - multiple properties",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ return [
+ { 'name': 'tapestry', 'value': 'carole' },
+ { 'name': 'feel', 'value': 'earth move' }
+ ];
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'carole' && json.get.feel === 'earth move';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - add parameters to passed in array",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ d.push( { 'name': 'tapestry', 'value': 'carole' } );
+ d.push( { 'name': 'rich', 'value': 'hue' } );
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'carole' && json.get.rich === 'hue';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - send parameters by POST",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ d.push( { 'name': 'tapestry', 'value': 'king' } );
+ d.push( { 'name': 'rich', 'value': 'hue' } );
+ },
+ "type": "POST"
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.post && json.post.tapestry === 'king' && json.post.rich === 'hue';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Object based data - sends parameters defined",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": {
+ "too": "late",
+ "got": "friend"
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.too === 'late' && json.get.got === 'friend';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Array based data - sends parameters defined",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": [
+ { 'name': 'tapestry', 'value': 'king' },
+ { 'name': 'far', 'value': 'away' }
+ ]
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'king' && json.get.far === 'away';
+ }
+ );
+
+
+ // dataSrc
+ oTest.fnWaitTest(
+ "dataSrc - Default data source is aaData",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/arrays.php"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "dataSrc - as a string - read from `data`",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/arrays.php?dataSrc=data",
+ "dataSrc": "data"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "dataSrc - as a string - read from nested property `data.inner`",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/arrays.php?dataSrc=nested",
+ "dataSrc": "data.inner"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "dataSrc - as a string - read from plain array",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/arrays.php?dataSrc=plain",
+ "dataSrc": ""
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "dataSrc - as a function, return JSON property",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/arrays.php?dataSrc=nested",
+ "dataSrc": function ( json ) {
+ return json.data.inner;
+ }
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "dataSrc - as a function, can manipulate the data",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": {
+ "url": "../data_sources/arrays.php?dataSrc=data",
+ "dataSrc": function ( json ) {
+ json.data[0][0] = "Tapestry";
+ return json.data;
+ }
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === 'Tapestry' &&
+ $('tbody td').eq(1).html() === '2';
+ }
+ );
+
+
+
+ //
+ // As a function
+ //
+ oTest.fnTest(
+ "ajax as a function - first parameter is array of data",
+ function () {
+ oSession.fnRestore();
+ result = null;
+
+ $('#example').dataTable( {
+ "ajax": function ( data, callback, settings ) {
+ result = arguments;
+ callback( { aaData: [] } );
+ }
+ } );
+ },
+ function () {
+ return $.isArray( result[0] ) && result[0].length === 0;
+ }
+ );
+
+ oTest.fnTest(
+ "ajax as a function - second parameter is callback function",
+ null,
+ function () {
+ return $.isFunction( result[1] );
+ }
+ );
+
+ oTest.fnTest(
+ "ajax as a function - third parameter is settings object",
+ null,
+ function () {
+ return result[2] === $('#example').dataTable().fnSettings();
+ }
+ );
+
+ oTest.fnTest(
+ "ajax as a function - only three parameters",
+ null,
+ function () {
+ return result.length === 3;
+ }
+ );
+
+ oTest.fnTest(
+ "ajax as a function - callback will insert data into the table",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": function ( data, callback, settings ) {
+ callback( { aaData: [[1,2,3,4,5]] } );
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+
+
+ oTest.fnComplete();
+} );
diff --git a/public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnServerParams.js b/public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnServerParams.js
new file mode 100644
index 000000000000..586e8bdb72d8
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/fnServerParams.js
@@ -0,0 +1,82 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnServerParams" );
+
+
+$(document).ready( function () {
+ /* Check the default */
+ var json = {};
+ var oTable = $('#example').dataTable( {
+ "sAjaxSource": "../data_sources/param.php"
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+
+ oTest.fnWaitTest(
+ "jQuery anti-cache parameter was sent",
+ null,
+ function () {
+ return json.get && json.get._;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "No other parameters sent",
+ null,
+ function () {
+ return 1 === $.map( json.get, function (val) {
+ return val;
+ } ).length;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Send additional parameters",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "sAjaxSource": "../data_sources/param.php",
+ "fnServerParams": function ( data ) {
+ data.push( { name: 'test', value: 'unit' } );
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.test === 'unit';
+ }
+ );
+
+ oTest.fnTest(
+ "jQuery anti-cache parameter was still sent",
+ null,
+ function () {
+ return json.get._;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Send multiple parameters",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "sAjaxSource": "../data_sources/param.php",
+ "fnServerParams": function ( data ) {
+ data.push( { name: 'test', value: 'unit' } );
+ data.push( { name: 'tapestry', value: 'king' } );
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.test === 'unit' && json.get.tapestry === 'king';
+ }
+ );
+
+ oTest.fnComplete();
+} );
diff --git a/public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/sServerMethod.js b/public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/sServerMethod.js
new file mode 100644
index 000000000000..2428eaa5974e
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/tests_onhold/3_ajax/sServerMethod.js
@@ -0,0 +1,49 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "sServerMethod" );
+
+
+$(document).ready( function () {
+ /* Check the default */
+ var oTable = $('#example').dataTable( {
+ "sAjaxSource": "../data_sources/method.php?method=get"
+ } );
+
+ oTest.fnWaitTest(
+ "Default method was GET",
+ null,
+ function () {
+ // A valid request will place a single row in the table
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Can make a POST request",
+ function () {
+ oSession.fnRestore();
+ $('#example').dataTable( {
+ "sAjaxSource": "../data_sources/method.php?method=post",
+ "sServerMethod": "POST"
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Can make a PUT request",
+ function () {
+ oSession.fnRestore();
+ $('#example').dataTable( {
+ "sAjaxSource": "../data_sources/method.php?method=put",
+ "sServerMethod": "PUT"
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnComplete();
+} );
diff --git a/public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/ajax.js b/public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/ajax.js
new file mode 100644
index 000000000000..6e53bb1cf0a9
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/ajax.js
@@ -0,0 +1,587 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "ajax" );
+
+
+$(document).ready( function () {
+ var json;
+ var result;
+
+ //
+ // As a string
+ //
+ oTest.fnWaitTest(
+ "Basic request as a string - getting arrays",
+ function () {
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": "../data_sources/arrays.php"
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Basic request as a string - getting objects",
+ function () {
+ oSession.fnRestore();
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": "../data_sources/objects.php",
+ "columns": [
+ { data: 'engine' },
+ { data: 'browser' },
+ { data: 'platform' },
+ { data: 'version' },
+ { data: 'grade' }
+ ]
+ } );
+ },
+ function () {
+ return $('tbody td').eq(1).html() === '20';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Default request is GET - string based",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": "../data_sources/method.php?method=get"
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "jQuery anti-cache parameter is sent by default - string based",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": "../data_sources/param.php"
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get._;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Only the SSP parameters were also sent",
+ null,
+ function () {
+ return json.get_length === 36;
+ }
+ );
+
+
+
+ //
+ // As an object
+ //
+ oTest.fnWaitTest(
+ "Get Ajax using url parameter only",
+ function () {
+ oSession.fnRestore();
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/arrays.php"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+
+ // props
+ oTest.fnWaitTest(
+ "Set an error callback",
+ function () {
+ oSession.fnRestore();
+ result = false;
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/rubbish",
+ "error": function () {
+ result = true;
+ }
+ }
+ } );
+ },
+ function () {
+ return result;
+ }
+ );
+
+ // type
+ oTest.fnWaitTest(
+ "type - Default request is GET",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/method.php?method=get"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(1).html() === '2';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "type - Can use `type` to make a POST request",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/method.php?method=post",
+ "type": "POST"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(2).html() === '3';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "type - Can use `type` to make a PUT request",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/method.php?method=put",
+ "type": "PUT"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+
+ // data
+ oTest.fnWaitTest(
+ "data - Function based data - has standard SSP parameters only",
+ function () {
+ oSession.fnRestore();
+ result = false;
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ result = d.length === 35;
+ }
+ }
+ } );
+ },
+ function () {
+ return result;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - can return an object",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ return { 'tapestry': 'king' };
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'king';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - multiple properties",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ return { 'tapestry': 'king', 'move': 'earth' };
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'king' && json.get.move === 'earth';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Confirm only SSP parameters were also sent",
+ null,
+ function () {
+ return json.get_length === 38;
+ }
+ );
+
+
+ oTest.fnWaitTest(
+ "data - Function based data - can return an array of key/value object pairs",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ return [
+ { 'name': 'tapestry', 'value': 'carole' }
+ ];
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'carole';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - multiple properties",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ return [
+ { 'name': 'tapestry', 'value': 'carole' },
+ { 'name': 'feel', 'value': 'earth move' }
+ ];
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'carole' && json.get.feel === 'earth move';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - add parameters to passed in array",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ d.push( { 'name': 'tapestry', 'value': 'carole' } );
+ d.push( { 'name': 'rich', 'value': 'hue' } );
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'carole' && json.get.rich === 'hue';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Function based data - send parameters by POST",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": function ( d ) {
+ d.push( { 'name': 'tapestry', 'value': 'king' } );
+ d.push( { 'name': 'rich', 'value': 'hue' } );
+ },
+ "type": "POST"
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.post && json.post.tapestry === 'king' && json.post.rich === 'hue';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Object based data - sends parameters defined",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": {
+ "too": "late",
+ "got": "friend"
+ }
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.too === 'late' && json.get.got === 'friend';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "data - Array based data - sends parameters defined",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/param.php",
+ "data": [
+ { 'name': 'tapestry', 'value': 'king' },
+ { 'name': 'far', 'value': 'away' }
+ ]
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.tapestry === 'king' && json.get.far === 'away';
+ }
+ );
+
+
+ // dataSrc
+ oTest.fnWaitTest(
+ "dataSrc - Default data source is aaData",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/arrays.php"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "dataSrc - as a string - read from `data`",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/arrays.php?dataSrc=data",
+ "dataSrc": "data"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "dataSrc - as a string - read from nested property `data.inner`",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/arrays.php?dataSrc=nested",
+ "dataSrc": "data.inner"
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "dataSrc - as a function, return JSON property",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/arrays.php?dataSrc=nested",
+ "dataSrc": function ( json ) {
+ return json.data.inner;
+ }
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "dataSrc - as a function, can manipulate the data",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": {
+ "url": "../data_sources/arrays.php?dataSrc=data",
+ "dataSrc": function ( json ) {
+ json.data[0][0] = "Tapestry";
+ return json.data;
+ }
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === 'Tapestry' &&
+ $('tbody td').eq(1).html() === '2';
+ }
+ );
+
+
+
+ //
+ // As a function
+ //
+ oTest.fnTest(
+ "ajax as a function - first parameter is array of data",
+ function () {
+ oSession.fnRestore();
+ result = null;
+
+ $('#example').dataTable( {
+ "serverSide": true,
+ "ajax": function ( data, callback, settings ) {
+ result = arguments;
+ callback( {
+ sEcho: 1,
+ iTotalRecords: 1,
+ iTotalDisplayRecords: 1,
+ aaData: []
+ } );
+ }
+ } );
+ },
+ function () {
+ console.log( result );
+ return $.isArray( result[0] ) && result[0].length === 35;
+ }
+ );
+
+ oTest.fnTest(
+ "ajax as a function - second parameter is callback function",
+ null,
+ function () {
+ return $.isFunction( result[1] );
+ }
+ );
+
+ oTest.fnTest(
+ "ajax as a function - third parameter is settings object",
+ null,
+ function () {
+ return result[2] === $('#example').dataTable().fnSettings();
+ }
+ );
+
+ oTest.fnTest(
+ "ajax as a function - only three parameters",
+ null,
+ function () {
+ return result.length === 3;
+ }
+ );
+
+ oTest.fnTest(
+ "ajax as a function - callback will insert data into the table",
+ function () {
+ oSession.fnRestore();
+
+ $('#example').dataTable( {
+ "ajax": function ( data, callback, settings ) {
+ callback( {
+ sEcho: 1,
+ iTotalRecords: 1,
+ iTotalDisplayRecords: 1,
+ aaData: [[1,2,3,4,5]]
+ } );
+ }
+ } );
+ },
+ function () {
+ return $('tbody td').eq(0).html() === '1';
+ }
+ );
+
+
+
+ oTest.fnComplete();
+} );
diff --git a/public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnServerData.js b/public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnServerData.js
new file mode 100644
index 000000000000..cbed47e3fb38
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnServerData.js
@@ -0,0 +1,68 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnServerData for SSP sourced data" );
+
+$(document).ready( function () {
+ var mPass;
+
+ oTest.fnTest(
+ "Argument length",
+ function () {
+ $('#example').dataTable( {
+ "bServerSide": true,
+ "sAjaxSource": "../data_sources/param.php",
+ "fnServerData": function () {
+ mPass = arguments.length;
+ }
+ } );
+ },
+ function () { return mPass == 4; }
+ );
+
+ oTest.fnTest(
+ "Url",
+ function () {
+ $('#example').dataTable( {
+ "bDestroy": true,
+ "bServerSide": true,
+ "sAjaxSource": "../data_sources/param.php",
+ "fnServerData": function (sUrl, aoData, fnCallback, oSettings) {
+ mPass = sUrl == "../data_sources/param.php";
+ }
+ } );
+ },
+ function () { return mPass; }
+ );
+
+ oTest.fnTest(
+ "Data array",
+ function () {
+ $('#example').dataTable( {
+ "bDestroy": true,
+ "bServerSide": true,
+ "sAjaxSource": "../data_sources/param.php",
+ "fnServerData": function (sUrl, aoData, fnCallback, oSettings) {
+ mPass = aoData.length==35;
+ }
+ } );
+ },
+ function () { return mPass; }
+ );
+
+ oTest.fnTest(
+ "Callback function",
+ function () {
+ $('#example').dataTable( {
+ "bDestroy": true,
+ "bServerSide": true,
+ "sAjaxSource": "../data_sources/param.php",
+ "fnServerData": function (sUrl, aoData, fnCallback, oSettings) {
+ mPass = typeof fnCallback == 'function';
+ }
+ } );
+ },
+ function () { return mPass; }
+ );
+
+
+ oTest.fnComplete();
+} );
\ No newline at end of file
diff --git a/public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnServerParams.js b/public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnServerParams.js
new file mode 100644
index 000000000000..00bdd1cbc844
--- /dev/null
+++ b/public/vendor/datatables/media/unit_testing/tests_onhold/4_server-side/fnServerParams.js
@@ -0,0 +1,122 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnServerParams" );
+
+
+$(document).ready( function () {
+ /* Check the default */
+ var json = {};
+ var oTable = $('#example').dataTable( {
+ "bServerSide": true,
+ "sAjaxSource": "../data_sources/param.php"
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+
+ oTest.fnWaitTest(
+ "jQuery anti-cache parameter was sent",
+ null,
+ function () {
+ return json.get && json.get._;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Default SSP parameters were sent",
+ null,
+ function () {
+ return 36 === $.map( json.get, function (val) {
+ return val;
+ } ).length;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Send additional parameters",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "bServerSide": true,
+ "sAjaxSource": "../data_sources/param.php",
+ "fnServerParams": function ( data ) {
+ data.push( { name: 'test', value: 'unit' } );
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.test === 'unit';
+ }
+ );
+
+ oTest.fnTest(
+ "Default parameters were still sent",
+ null,
+ function () {
+ return 37 === $.map( json.get, function (val) {
+ return val;
+ } ).length;
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Send multiple parameters",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "bServerSide": true,
+ "sAjaxSource": "../data_sources/param.php",
+ "fnServerParams": function ( data ) {
+ data.push( { name: 'test', value: 'unit' } );
+ data.push( { name: 'tapestry', value: 'king' } );
+ }
+ } ).on('xhr', function (e, settings, o) {
+ json = o;
+ } );
+ },
+ function () {
+ return json.get && json.get.test === 'unit' && json.get.tapestry === 'king';
+ }
+ );
+
+ oTest.fnWaitTest(
+ "Delete parameters",
+ function () {
+ oSession.fnRestore();
+ json = {};
+
+ $('#example').dataTable( {
+ "bServerSide": true,
+ "sAjaxSource": "../data_sources/param.php",
+ "fnServerParams": function ( data ) {
+ var remove = function ( a, param ) {
+ for ( var i=0 ; i
+Gilles van den Hoven
+Michael Geary
+Stefan Petre
+Yehuda Katz
+Corey Jewett
+Klaus Hartl
+Franck Marcia
+Jörn Zaefferer
+Paul Bakaus
+Brandon Aaron
+Mike Alsup
+Dave Methvin
+Ed Engelhardt
+Sean Catchpole
+Paul Mclanahan
+David Serduke
+Richard D. Worth
+Scott González
+Ariel Flesler
+Jon Evans
+TJ Holowaychuk
+Michael Bensoussan
+Robert Katić
+Louis-Rémi Babé
+Earle Castledine
+Damian Janowski
+Rich Dougherty
+Kim Dalsgaard
+Andrea Giammarchi
+Mark Gibson
+Karl Swedberg
+Justin Meyer
+Ben Alman
+James Padolsey
+David Petersen
+Batiste Bieler
+Alexander Farkas
+Rick Waldron
+Filipe Fortes
+Neeraj Singh
+Paul Irish
+Iraê Carvalho
+Matt Curry
+Michael Monteleone
+Noah Sloan
+Tom Viner
+Douglas Neiner
+Adam J. Sontag
+Dave Reed
+Ralph Whitbeck
+Carl Fürstenberg
+Jacob Wright
+J. Ryan Stinnett
+Heungsub Lee
+Colin Snover
+Ryan W Tenney
+Ron Otten
+Jephte Clain
+Anton Matzneller
+Alex Sexton
+Dan Heberden
+Henri Wiechers
+Russell Holbrook
+Julian Aubourg
+Gianni Alessandro Chiappetta
+Scott Jehl
+James Burke
+Jonas Pfenniger
+Xavi Ramirez
+Jared Grippe
+Sylvester Keil
+Brandon Sterne
+Mathias Bynens
+Timmy Willison
+Corey Frang
+Anton Kovalyov
+David Murdoch
+Josh Varner
+Charles McNulty
+Jordan Boesch
+Jess Thrysoee
+Michael Murray
+Lee Carpenter
+Alexis Abril
+Rob Morgan
+John Firebaugh
+Sam Bisbee
+Gilmore Davidson
+Brian Brennan
+Xavier Montillet
+Daniel Pihlstrom
+Sahab Yazdani
+Scott Hughes
+Mike Sherov
+Greg Hazel
+Schalk Neethling
+Denis Knauf
+Timo Tijhof
+Steen Nielsen
+Anton Ryzhov
+Shi Chuan
+Berker Peksag
+Toby Brain
+Matt Mueller
+Daniel Herman
+Oleg Gaidarenko
+Richard Gibson
+Rafaël Blais Masson
+Joe Presbrey
+Sindre Sorhus
+Arne de Bree
+Vladislav Zarakovsky
+Andrew E Monat
+Joao Henrique de Andrade Bruni
+Dominik D. Geyer
+Matt Farmer
+Trey Hunner
+Jason Moon
+Jeffery To
+Kris Borchers
+Vladimir Zhuravlev
+Jacob Thornton
+Chad Killingsworth
+Nowres Rafid
+David Benjamin
+Uri Gilad
+Chris Faulkner
+Elijah Manor
+Daniel Chatfield
+Nikita Govorov
+Wesley Walser
+Michael Pennisi
+Markus Staab
+Benjamin Truyman
+James Huston
+Ismail Khair
+Carl Danley
+Michael Petrovich
+Callum Macrae
+David Bonner
+Erick Ruiz de Chávez
+Akintayo Akinwunmi
+Dave Riddle
+Greg Lavallee
+Daniel Gálvez
+Sai Lung Wong
+Tom H Fuertes
+Roland Eckl
+Jay Merrifield
+Allen J Schmidt Jr
+Marcel Greter
+Matthias Jäggli
+Yiming He
+Devin Cooper
+Bennett Sorbo
+Sebastian Burkhard
+Danil Somsikov
+Jean Boussier
+Adam Coulombe
+Andrew Plummer
diff --git a/public/vendor/jquery/CONTRIBUTING.md b/public/vendor/jquery/CONTRIBUTING.md
new file mode 100644
index 000000000000..6028db34d443
--- /dev/null
+++ b/public/vendor/jquery/CONTRIBUTING.md
@@ -0,0 +1,216 @@
+# Contributing to jQuery
+
+1. [Getting Involved](#getting-involved)
+2. [Discussion](#discussion)
+3. [How To Report Bugs](#how-to-report-bugs)
+4. [Core Style Guide](#jquery-core-style-guide)
+5. [Tips For Bug Patching](#tips-for-bug-patching)
+
+
+
+## Getting Involved
+
+There are a number of ways to get involved with the development of jQuery core. Even if you've never contributed code to an Open Source project before, we're always looking for help identifying bugs, writing and reducing test cases and documentation.
+
+This is the best way to contribute to jQuery core. Please read through the full guide detailing [How to Report Bugs](#how-to-report-bugs).
+
+## Discussion
+
+### Forum and IRC
+
+The jQuery core development team frequently tracks posts on the [jQuery Development Forum](http://forum.jquery.com/developing-jquery-core). If you have longer posts or questions please feel free to post them there. If you think you've found a bug please [file it in the bug tracker](#how-to-report-bugs).
+
+Additionally most of the jQuery core development team can be found in the [#jquery-dev](http://webchat.freenode.net/?channels=jquery-dev) IRC channel on irc.freenode.net.
+
+### Weekly Status Meetings
+
+Every week (unless otherwise noted) the jQuery core dev team has a meeting to discuss the progress of current work and to bring forward possible new blocker bugs for discussion.
+
+The meeting is held in the [#jquery-meeting](http://webchat.freenode.net/?channels=jquery-meeting) IRC channel on irc.freenode.net at [Noon EST](http://www.timeanddate.com/worldclock/fixedtime.html?month=1&day=17&year=2011&hour=12&min=0&sec=0&p1=43) on Mondays.
+
+[Past Meeting Notes](https://docs.google.com/document/d/1MrLFvoxW7GMlH9KK-bwypn77cC98jUnz7sMW1rg_TP4/edit?hl=en)
+
+
+## How to Report Bugs
+
+### Make sure it is a jQuery bug
+
+Many bugs reported to our bug tracker are actually bugs in user code, not in jQuery code. Keep in mind that just because your code throws an error and the console points to a line number inside of jQuery, this does *not* mean the bug is a jQuery bug; more often than not, these errors result from providing incorrect arguments when calling a jQuery function.
+
+If you are new to jQuery, it is usually a much better idea to ask for help first in the [Using jQuery Forum](http://forum.jquery.com/using-jquery) or the [jQuery IRC channel](http://webchat.freenode.net/?channels=%23jquery). You will get much quicker support, and you will help avoid tying up the jQuery team with invalid bug reports. These same resources can also be useful if you want to confirm that your bug is indeed a bug in jQuery before filing any tickets.
+
+
+### Disable any browser extensions
+
+Make sure you have reproduced the bug with all browser extensions and add-ons disabled, as these can sometimes cause things to break in interesting and unpredictable ways. Try using incognito, stealth or anonymous browsing modes.
+
+
+### Try the latest version of jQuery
+
+Bugs in old versions of jQuery may have already been fixed. In order to avoid reporting known issues, make sure you are always testing against the [latest build](http://code.jquery.com/jquery.js).
+
+### Try an older version of jQuery
+
+Sometimes, bugs are introduced in newer versions of jQuery that do not exist in previous versions. When possible, it can be useful to try testing with an older release.
+
+### Reduce, reduce, reduce!
+
+When you are experiencing a problem, the most useful thing you can possibly do is to [reduce your code](http://webkit.org/quality/reduction.html) to the bare minimum required to reproduce the issue. This makes it *much* easier to isolate and fix the offending code. Bugs that are reported without reduced test cases take on average 9001% longer to fix than bugs that are submitted with them, so you really should try to do this if at all possible.
+
+## jQuery Core Style Guide
+
+See: [jQuery Core Style Guide](http://docs.jquery.com/JQuery_Core_Style_Guidelines)
+
+## Tips For Bug Patching
+
+
+### Environment: localhost w/ PHP, Node & Grunt
+
+Starting in jQuery 1.8, a newly overhauled development workflow has been introduced. In this new system, we rely on node & gruntjs to automate the building and validation of source code—while you write code.
+
+The Ajax tests still depend on PHP running locally*, so make sure you have the following installed:
+
+* Some kind of localhost server program that supports PHP (any will do)
+* Node.js
+* NPM (comes with the latest version of Node.js)
+* Grunt (install with: `npm install grunt -g`
+
+
+Maintaining a list of platform specific instructions is outside of the scope of this document and there is plenty of existing documentation for the above technologies.
+
+* The PHP dependency will soon be shed in favor of an all-node solution.
+
+
+### Build a Local Copy of jQuery
+
+Create a fork of the jQuery repo on github at http://github.com/jquery/jquery
+
+Change directory to your web root directory, whatever that might be:
+
+```bash
+$ cd /path/to/your/www/root/
+```
+
+Clone your jQuery fork to work locally
+
+```bash
+$ git clone git@github.com:username/jquery.git
+```
+
+Change directory to the newly created dir jquery/
+
+```bash
+$ cd jquery
+```
+
+Add the jQuery master as a remote. I label mine "upstream"
+
+```bash
+$ git remote add upstream git://github.com/jquery/jquery.git
+```
+
+Get in the habit of pulling in the "upstream" master to stay up to date as jQuery receives new commits
+
+```bash
+$ git pull upstream master
+```
+
+Run the Grunt tools:
+
+```bash
+$ grunt && grunt watch
+```
+
+Now open the jQuery test suite in a browser at http://localhost/test. If there is a port, be sure to include it.
+
+Success! You just built and tested jQuery!
+
+
+### Fix a bug from a ticket filed at bugs.jquery.com:
+
+**NEVER write your patches to the master branch** - it gets messy (I say this from experience!)
+
+**ALWAYS USE A "TOPIC" BRANCH!** Like so (#### = the ticket #)...
+
+Make sure you start with your up-to-date master:
+
+```bash
+$ git checkout master
+```
+
+Create and checkout a new branch that includes the ticket #
+
+```bash
+$ git checkout -b bug_####
+
+# ( Explanation: this useful command will:
+# "checkout" a "-b" (branch) by the name of "bug_####"
+# or create it if it doesn't exist )
+```
+
+Now you're on branch: bug_####
+
+Determine the module/file you'll be working in...
+
+Open up the corresponding /test/unit/?????.js and add the initial failing unit tests. This may seem awkward at first, but in the long run it will make sense. To truly and efficiently patch a bug, you need to be working against that bug.
+
+Next, open the module files and make your changes
+
+Run http://localhost/test --> **ALL TESTS MUST PASS**
+
+Once you're satisfied with your patch...
+
+Stage the files to be tracked:
+
+```bash
+$ git add filename
+# (you can use "git status" to list the files you've changed)
+```
+
+
+( I recommend NEVER, EVER using "git add . " )
+
+Once you've staged all of your changed files, go ahead and commit them
+
+```bash
+$ git commit -m "Brief description of fix. Fixes #0000"
+```
+
+For a multiple line commit message, leave off the `-m "description"`.
+
+You will then be led into vi (or the text editor that you have set up) to complete your commit message.
+
+Then, push your branch with the bug fix commits to your github fork
+
+```bash
+$ git push origin -u bug_####
+```
+
+Before you tackle your next bug patch, return to the master:
+
+```bash
+$ git checkout master
+```
+
+
+
+### Test Suite Tips...
+
+During the process of writing your patch, you will run the test suite MANY times. You can speed up the process by narrowing the running test suite down to the module you are testing by either double clicking the title of the test or appending it to the url. The following examples assume you're working on a local repo, hosted on your localhost server.
+
+Example:
+
+http://localhost/test/?filter=css
+
+This will only run the "css" module tests. This will significantly speed up your development and debugging.
+
+**ALWAYS RUN THE FULL SUITE BEFORE COMMITTING AND PUSHING A PATCH!**
+
+
+### jQuery supports the following browsers:
+
+* Chrome Current-1
+* Safari Current-1
+* Firefox Current-1
+* IE 6+
+* Opera Current-1
diff --git a/public/vendor/jquery/Gruntfile.js b/public/vendor/jquery/Gruntfile.js
new file mode 100644
index 000000000000..4058871d510a
--- /dev/null
+++ b/public/vendor/jquery/Gruntfile.js
@@ -0,0 +1,496 @@
+module.exports = function( grunt ) {
+
+ "use strict";
+
+ var distpaths = [
+ "dist/jquery.js",
+ "dist/jquery.min.map",
+ "dist/jquery.min.js"
+ ],
+ readOptionalJSON = function( filepath ) {
+ var data = {};
+ try {
+ data = grunt.file.readJSON( filepath );
+ } catch(e) {}
+ return data;
+ };
+
+ grunt.initConfig({
+ pkg: grunt.file.readJSON("package.json"),
+ dst: readOptionalJSON("dist/.destination.json"),
+ compare_size: {
+ files: distpaths
+ },
+ selector: {
+ destFile: "src/selector.js",
+ apiFile: "src/sizzle-jquery.js",
+ srcFile: "src/sizzle/sizzle.js"
+ },
+ build: {
+ all:{
+ dest: "dist/jquery.js",
+ src: [
+ "src/intro.js",
+ "src/core.js",
+ "src/callbacks.js",
+ "src/deferred.js",
+ "src/support.js",
+ "src/data.js",
+ "src/queue.js",
+ "src/attributes.js",
+ "src/event.js",
+ "src/selector.js",
+ "src/traversing.js",
+ "src/manipulation.js",
+
+ { flag: "css", src: "src/css.js" },
+ "src/serialize.js",
+ { flag: "event-alias", src: "src/event-alias.js" },
+ { flag: "ajax", src: "src/ajax.js" },
+ { flag: "ajax/script", src: "src/ajax/script.js", needs: ["ajax"] },
+ { flag: "ajax/jsonp", src: "src/ajax/jsonp.js", needs: [ "ajax", "ajax/script" ] },
+ { flag: "ajax/xhr", src: "src/ajax/xhr.js", needs: ["ajax"] },
+ { flag: "effects", src: "src/effects.js", needs: ["css"] },
+ { flag: "offset", src: "src/offset.js", needs: ["css"] },
+ { flag: "dimensions", src: "src/dimensions.js", needs: ["css"] },
+ { flag: "deprecated", src: "src/deprecated.js" },
+
+ "src/exports.js",
+ "src/outro.js"
+ ]
+ }
+ },
+
+ jshint: {
+ dist: {
+ src: [ "dist/jquery.js" ],
+ options: {
+ jshintrc: "src/.jshintrc"
+ }
+ },
+ grunt: {
+ src: [ "Gruntfile.js" ],
+ options: {
+ jshintrc: ".jshintrc"
+ }
+ },
+ tests: {
+ // TODO: Once .jshintignore is supported, use that instead.
+ // issue located here: https://github.com/gruntjs/grunt-contrib-jshint/issues/1
+ src: [ "test/data/{test,testinit,testrunner}.js", "test/unit/**/*.js" ],
+ options: {
+ jshintrc: "test/.jshintrc"
+ }
+ }
+ },
+
+ testswarm: {
+ tests: "ajax attributes callbacks core css data deferred dimensions effects event manipulation offset queue selector serialize support traversing Sizzle".split(" ")
+ },
+
+ watch: {
+ files: [ "<%= jshint.grunt.src %>", "<%= jshint.tests.src %>", "src/**/*.js" ],
+ tasks: "dev"
+ },
+
+ uglify: {
+ all: {
+ files: {
+ "dist/jquery.min.js": [ "dist/jquery.js" ]
+ },
+ options: {
+ banner: "/*! jQuery v<%= pkg.version %> | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license */",
+ sourceMap: "dist/jquery.min.map",
+ compress: {
+ hoist_funs: false,
+ join_vars: false,
+ loops: false,
+ unused: false
+ },
+ beautify: {
+ ascii_only: true
+ }
+ }
+ }
+ }
+ });
+
+ grunt.registerTask( "testswarm", function( commit, configFile ) {
+ var jobName,
+ testswarm = require( "testswarm" ),
+ testUrls = [],
+ pull = /PR-(\d+)/.exec( commit ),
+ config = grunt.file.readJSON( configFile ).jquery,
+ tests = grunt.config([ this.name, "tests" ]);
+
+ if ( pull ) {
+ jobName = "jQuery pull #" + pull[ 1 ] + "";
+ } else {
+ jobName = "jQuery commit #" + commit.substr( 0, 10 ) + "";
+ }
+
+ tests.forEach(function( test ) {
+ testUrls.push( config.testUrl + commit + "/test/index.html?module=" + test );
+ });
+
+ testswarm({
+ url: config.swarmUrl,
+ pollInterval: 10000,
+ timeout: 1000 * 60 * 30,
+ done: this.async()
+ }, {
+ authUsername: config.authUsername,
+ authToken: config.authToken,
+ jobName: jobName,
+ runMax: config.runMax,
+ "runNames[]": tests,
+ "runUrls[]": testUrls,
+ "browserSets[]": config.browserSets
+ });
+ });
+
+ // Build src/selector.js
+ grunt.registerTask( "selector", "Build src/selector.js", function() {
+
+ var cfg = grunt.config("selector"),
+ name = cfg.destFile,
+ sizzle = {
+ api: grunt.file.read( cfg.apiFile ),
+ src: grunt.file.read( cfg.srcFile )
+ },
+ compiled, parts;
+
+ /**
+
+ sizzle-jquery.js -> sizzle between "EXPOSE" blocks,
+ replace define & window.Sizzle assignment
+
+
+ // EXPOSE
+ if ( typeof define === "function" && define.amd ) {
+ define(function() { return Sizzle; });
+ } else {
+ window.Sizzle = Sizzle;
+ }
+ // EXPOSE
+
+ Becomes...
+
+ Sizzle.attr = jQuery.attr;
+ jQuery.find = Sizzle;
+ jQuery.expr = Sizzle.selectors;
+ jQuery.expr[":"] = jQuery.expr.pseudos;
+ jQuery.unique = Sizzle.uniqueSort;
+ jQuery.text = Sizzle.getText;
+ jQuery.isXMLDoc = Sizzle.isXML;
+ jQuery.contains = Sizzle.contains;
+
+ */
+
+ // Break into 3 pieces
+ parts = sizzle.src.split("// EXPOSE");
+ // Replace the if/else block with api
+ parts[1] = sizzle.api;
+ // Rejoin the pieces
+ compiled = parts.join("");
+
+ grunt.verbose.write("Injected sizzle-jquery.js into sizzle.js");
+
+ // Write concatenated source to file, and ensure newline-only termination
+ grunt.file.write( name, compiled.replace( /\x0d\x0a/g, "\x0a" ) );
+
+ // Fail task if errors were logged.
+ if ( this.errorCount ) {
+ return false;
+ }
+
+ // Otherwise, print a success message.
+ grunt.log.writeln( "File '" + name + "' created." );
+ });
+
+
+ // Special "alias" task to make custom build creation less grawlix-y
+ grunt.registerTask( "custom", function() {
+ var done = this.async(),
+ args = [].slice.call(arguments),
+ modules = args.length ? args[0].replace(/,/g, ":") : "";
+
+
+ // Translation example
+ //
+ // grunt custom:+ajax,-dimensions,-effects,-offset
+ //
+ // Becomes:
+ //
+ // grunt build:*:*:+ajax:-dimensions:-effects:-offset
+
+ grunt.log.writeln( "Creating custom build...\n" );
+
+ grunt.util.spawn({
+ cmd: process.platform === "win32" ? "grunt.cmd" : "grunt",
+ args: [ "build:*:*:" + modules, "uglify", "dist" ]
+ }, function( err, result ) {
+ if ( err ) {
+ grunt.verbose.error();
+ done( err );
+ return;
+ }
+
+ grunt.log.writeln( result.stdout.replace("Done, without errors.", "") );
+
+ done();
+ });
+ });
+
+ // Special concat/build task to handle various jQuery build requirements
+ //
+ grunt.registerMultiTask(
+ "build",
+ "Concatenate source (include/exclude modules with +/- flags), embed date/version",
+ function() {
+
+ // Concat specified files.
+ var compiled = "",
+ modules = this.flags,
+ optIn = !modules["*"],
+ explicit = optIn || Object.keys(modules).length > 1,
+ name = this.data.dest,
+ src = this.data.src,
+ deps = {},
+ excluded = {},
+ version = grunt.config( "pkg.version" ),
+ excluder = function( flag, needsFlag ) {
+ // optIn defaults implicit behavior to weak exclusion
+ if ( optIn && !modules[ flag ] && !modules[ "+" + flag ] ) {
+ excluded[ flag ] = false;
+ }
+
+ // explicit or inherited strong exclusion
+ if ( excluded[ needsFlag ] || modules[ "-" + flag ] ) {
+ excluded[ flag ] = true;
+
+ // explicit inclusion overrides weak exclusion
+ } else if ( excluded[ needsFlag ] === false &&
+ ( modules[ flag ] || modules[ "+" + flag ] ) ) {
+
+ delete excluded[ needsFlag ];
+
+ // ...all the way down
+ if ( deps[ needsFlag ] ) {
+ deps[ needsFlag ].forEach(function( subDep ) {
+ modules[ needsFlag ] = true;
+ excluder( needsFlag, subDep );
+ });
+ }
+ }
+ };
+
+ // append commit id to version
+ if ( process.env.COMMIT ) {
+ version += " " + process.env.COMMIT;
+ }
+
+ // figure out which files to exclude based on these rules in this order:
+ // dependency explicit exclude
+ // > explicit exclude
+ // > explicit include
+ // > dependency implicit exclude
+ // > implicit exclude
+ // examples:
+ // * none (implicit exclude)
+ // *:* all (implicit include)
+ // *:*:-css all except css and dependents (explicit > implicit)
+ // *:*:-css:+effects same (excludes effects because explicit include is trumped by explicit exclude of dependency)
+ // *:+effects none except effects and its dependencies (explicit include trumps implicit exclude of dependency)
+ src.forEach(function( filepath ) {
+ var flag = filepath.flag;
+
+ if ( flag ) {
+
+ excluder(flag);
+
+ // check for dependencies
+ if ( filepath.needs ) {
+ deps[ flag ] = filepath.needs;
+ filepath.needs.forEach(function( needsFlag ) {
+ excluder( flag, needsFlag );
+ });
+ }
+ }
+ });
+
+ // append excluded modules to version
+ if ( Object.keys( excluded ).length ) {
+ version += " -" + Object.keys( excluded ).join( ",-" );
+ // set pkg.version to version with excludes, so minified file picks it up
+ grunt.config.set( "pkg.version", version );
+ }
+
+
+ // conditionally concatenate source
+ src.forEach(function( filepath ) {
+ var flag = filepath.flag,
+ specified = false,
+ omit = false,
+ message = "";
+
+ if ( flag ) {
+ if ( excluded[ flag ] !== undefined ) {
+ message = ( "Excluding " + flag ).red;
+ specified = true;
+ omit = true;
+ } else {
+ message = ( "Including " + flag ).green;
+
+ // If this module was actually specified by the
+ // builder, then st the flag to include it in the
+ // output list
+ if ( modules[ "+" + flag ] ) {
+ specified = true;
+ }
+ }
+
+ // Only display the inclusion/exclusion list when handling
+ // an explicit list.
+ //
+ // Additionally, only display modules that have been specified
+ // by the user
+ if ( explicit && specified ) {
+ grunt.log.writetableln([ 27, 30 ], [
+ message,
+ ( "(" + filepath.src + ")").grey
+ ]);
+ }
+
+ filepath = filepath.src;
+ }
+
+ if ( !omit ) {
+ compiled += grunt.file.read( filepath );
+ }
+ });
+
+ // Embed Version
+ // Embed Date
+ compiled = compiled.replace( /@VERSION/g, version )
+ .replace( "@DATE", function () {
+ var date = new Date();
+
+ // YYYY-MM-DD
+ return [
+ date.getFullYear(),
+ date.getMonth() + 1,
+ date.getDate()
+ ].join( "-" );
+ });
+
+ // Write concatenated source to file
+ grunt.file.write( name, compiled );
+
+ // Fail task if errors were logged.
+ if ( this.errorCount ) {
+ return false;
+ }
+
+ // Otherwise, print a success message.
+ grunt.log.writeln( "File '" + name + "' created." );
+ });
+
+ // Process files for distribution
+ grunt.registerTask( "dist", function() {
+ var flags, paths, stored;
+
+ // Check for stored destination paths
+ // ( set in dist/.destination.json )
+ stored = Object.keys( grunt.config("dst") );
+
+ // Allow command line input as well
+ flags = Object.keys( this.flags );
+
+ // Combine all output target paths
+ paths = [].concat( stored, flags ).filter(function( path ) {
+ return path !== "*";
+ });
+
+ // Ensure the dist files are pure ASCII
+ var fs = require("fs"),
+ nonascii = false;
+
+ distpaths.forEach(function( filename ) {
+ var i, c, map,
+ text = fs.readFileSync( filename, "utf8" );
+
+ // Ensure files use only \n for line endings, not \r\n
+ if ( /\x0d\x0a/.test( text ) ) {
+ grunt.log.writeln( filename + ": Incorrect line endings (\\r\\n)" );
+ nonascii = true;
+ }
+
+ // Ensure only ASCII chars so script tags don't need a charset attribute
+ if ( text.length !== Buffer.byteLength( text, "utf8" ) ) {
+ grunt.log.writeln( filename + ": Non-ASCII characters detected:" );
+ for ( i = 0; i < text.length; i++ ) {
+ c = text.charCodeAt( i );
+ if ( c > 127 ) {
+ grunt.log.writeln( "- position " + i + ": " + c );
+ grunt.log.writeln( "-- " + text.substring( i - 20, i + 20 ) );
+ break;
+ }
+ }
+ nonascii = true;
+ }
+
+ // Modify map/min so that it points to files in the same folder;
+ // see https://github.com/mishoo/UglifyJS2/issues/47
+ if ( /\.map$/.test( filename ) ) {
+ text = text.replace( /"dist\//g, "\"" );
+ fs.writeFileSync( filename, text, "utf-8" );
+ } else if ( /\.min\.js$/.test( filename ) ) {
+ // Wrap sourceMap directive in multiline comments (#13274)
+ text = text.replace( /\n?(\/\/@\s*sourceMappingURL=)(.*)/,
+ function( _, directive, path ) {
+ map = "\n" + directive + path.replace( /^dist\//, "" );
+ return "";
+ });
+ if ( map ) {
+ text = text.replace( /(^\/\*[\w\W]*?)\s*\*\/|$/,
+ function( _, comment ) {
+ return ( comment || "\n/*" ) + map + "\n*/";
+ });
+ }
+ fs.writeFileSync( filename, text, "utf-8" );
+ }
+
+ // Optionally copy dist files to other locations
+ paths.forEach(function( path ) {
+ var created;
+
+ if ( !/\/$/.test( path ) ) {
+ path += "/";
+ }
+
+ created = path + filename.replace( "dist/", "" );
+ grunt.file.write( created, text );
+ grunt.log.writeln( "File '" + created + "' created." );
+ });
+ });
+
+ return !nonascii;
+ });
+
+ // Load grunt tasks from NPM packages
+ grunt.loadNpmTasks("grunt-compare-size");
+ grunt.loadNpmTasks("grunt-git-authors");
+ grunt.loadNpmTasks("grunt-update-submodules");
+ grunt.loadNpmTasks("grunt-contrib-watch");
+ grunt.loadNpmTasks("grunt-contrib-jshint");
+ grunt.loadNpmTasks("grunt-contrib-uglify");
+
+ // Default grunt
+ grunt.registerTask( "default", [ "update_submodules", "selector", "build:*:*", "jshint", "uglify", "dist:*" ] );
+
+ // Short list as a high frequency watch task
+ grunt.registerTask( "dev", [ "selector", "build:*:*", "jshint" ] );
+};
diff --git a/public/vendor/jquery/README.md b/public/vendor/jquery/README.md
new file mode 100644
index 000000000000..97b6c220fa0f
--- /dev/null
+++ b/public/vendor/jquery/README.md
@@ -0,0 +1,415 @@
+[jQuery](http://jquery.com/) - New Wave JavaScript
+==================================================
+
+Contribution Guides
+--------------------------------------
+
+In the spirit of open source software development, jQuery always encourages community code contribution. To help you get started and before you jump into writing code, be sure to read these important contribution guidelines thoroughly:
+
+1. [Getting Involved](http://docs.jquery.com/Getting_Involved)
+2. [Core Style Guide](http://docs.jquery.com/JQuery_Core_Style_Guidelines)
+3. [Tips For Bug Patching](http://docs.jquery.com/Tips_for_jQuery_Bug_Patching)
+
+
+What you need to build your own jQuery
+--------------------------------------
+
+In order to build jQuery, you need to have Node.js/npm latest and git 1.7 or later.
+(Earlier versions might work OK, but are not tested.)
+
+Windows users have two options:
+
+1. Install [msysgit](https://code.google.com/p/msysgit/) (Full installer for official Git) and a
+ [binary version of Node.js](http://nodejs.org). Make sure all two packages are installed to the same
+ location (by default, this is C:\Program Files\Git).
+2. Install [Cygwin](http://cygwin.com/) (make sure you install the git and which packages), and
+ a [binary version of Node.js](http://nodejs.org/).
+
+Mac OS users should install Xcode (comes on your Mac OS install DVD, or downloadable from
+[Apple's Xcode site](http://developer.apple.com/technologies/xcode.html)) and
+[Homebrew](http://mxcl.github.com/homebrew/). Once Homebrew is installed, run `brew install git` to install git,
+and `brew install node` to install Node.js.
+
+Linux/BSD users should use their appropriate package managers to install git and Node.js, or build from source
+if you swing that way. Easy-peasy.
+
+
+How to build your own jQuery
+----------------------------
+
+First, clone a copy of the main jQuery git repo by running:
+
+```bash
+git clone git://github.com/jquery/jquery.git
+```
+
+Enter the directory and install the Node dependencies:
+
+```bash
+cd jquery && npm install
+```
+
+
+Make sure you have `grunt` installed by testing:
+
+```bash
+grunt -version
+```
+
+
+
+Then, to get a complete, minified (w/ Uglify.js), linted (w/ JSHint) version of jQuery, type the following:
+
+```bash
+grunt
+```
+
+
+The built version of jQuery will be put in the `dist/` subdirectory.
+
+
+### Modules (new in 1.8)
+
+Starting in jQuery 1.8, special builds can now be created that optionally exclude or include any of the following modules:
+
+- ajax
+- css
+- dimensions
+- effects
+- offset
+
+
+Before creating a custom build for use in production, be sure to check out the latest stable version:
+
+```bash
+git pull; git checkout $(git describe --abbrev=0 --tags)
+```
+
+Then, make sure all Node dependencies are installed and all Git submodules are checked out:
+
+```bash
+npm install && grunt
+```
+
+To create a custom build, use the following special `grunt` commands:
+
+Exclude **ajax**:
+
+```bash
+grunt custom:-ajax
+```
+
+Exclude **css**:
+
+```bash
+grunt custom:-css
+```
+
+Exclude **deprecated**:
+
+```bash
+grunt custom:-deprecated
+```
+
+Exclude **dimensions**:
+
+```bash
+grunt custom:-dimensions
+```
+
+Exclude **effects**:
+
+```bash
+grunt custom:-effects
+```
+
+Exclude **offset**:
+
+```bash
+grunt custom:-offset
+```
+
+Exclude **all** optional modules:
+
+```bash
+grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset
+```
+
+
+Note: dependencies will be handled internally, by the build process.
+
+
+Running the Unit Tests
+--------------------------------------
+
+
+Start grunt to auto-build jQuery as you work:
+
+```bash
+cd jquery && grunt watch
+```
+
+
+Run the unit tests with a local server that supports PHP. No database is required. Pre-configured php local servers are available for Windows and Mac. Here are some options:
+
+- Windows: [WAMP download](http://www.wampserver.com/en/)
+- Mac: [MAMP download](http://www.mamp.info/en/index.html)
+- Linux: [Setting up LAMP](https://www.linux.com/learn/tutorials/288158-easy-lamp-server-installation)
+- [Mongoose (most platforms)](http://code.google.com/p/mongoose/)
+
+
+
+
+Building to a different directory
+---------------------------------
+
+If you want to build jQuery to a directory that is different from the default location:
+
+```bash
+grunt && grunt dist:/path/to/special/location/
+```
+With this example, the output files would be:
+
+```bash
+/path/to/special/location/jquery.js
+/path/to/special/location/jquery.min.js
+```
+
+If you want to add a permanent copy destination, create a file in `dist/` called ".destination.json". Inside the file, paste and customize the following:
+
+```json
+
+{
+ "/Absolute/path/to/other/destination": true
+}
+```
+
+
+Additionally, both methods can be combined.
+
+
+
+Updating Submodules
+-------------------
+
+Update the submodules to what is probably the latest upstream code.
+
+```bash
+grunt update_submodules
+```
+
+Note: This task will also be run any time the default `grunt` command is used.
+
+
+
+Git for dummies
+---------------
+
+As the source code is handled by the version control system Git, it's useful to know some features used.
+
+### Submodules ###
+
+The repository uses submodules, which normally are handled directly by the `grunt update_submodules` command, but sometimes you want to
+be able to work with them manually.
+
+Following are the steps to manually get the submodules:
+
+```bash
+git clone https://github.com/jquery/jquery.git
+cd jquery
+git submodule init
+git submodule update
+```
+
+Or:
+
+```bash
+git clone https://github.com/jquery/jquery.git
+cd jquery
+git submodule update --init
+```
+
+Or:
+
+```bash
+git clone --recursive https://github.com/jquery/jquery.git
+cd jquery
+```
+
+If you want to work inside a submodule, it is possible, but first you need to checkout a branch:
+
+```bash
+cd src/sizzle
+git checkout master
+```
+
+After you've committed your changes to the submodule, you'll update the jquery project to point to the new commit,
+but remember to push the submodule changes before pushing the new jquery commit:
+
+```bash
+cd src/sizzle
+git push origin master
+cd ..
+git add src/sizzle
+git commit
+```
+
+
+### cleaning ###
+
+If you want to purge your working directory back to the status of upstream, following commands can be used (remember everything you've worked on is gone after these):
+
+```bash
+git reset --hard upstream/master
+git clean -fdx
+```
+
+### rebasing ###
+
+For feature/topic branches, you should always used the `--rebase` flag to `git pull`, or if you are usually handling many temporary "to be in a github pull request" branches, run following to automate this:
+
+```bash
+git config branch.autosetuprebase local
+```
+(see `man git-config` for more information)
+
+### handling merge conflicts ###
+
+If you're getting merge conflicts when merging, instead of editing the conflicted files manually, you can use the feature
+`git mergetool`. Even though the default tool `xxdiff` looks awful/old, it's rather useful.
+
+Following are some commands that can be used there:
+
+* `Ctrl + Alt + M` - automerge as much as possible
+* `b` - jump to next merge conflict
+* `s` - change the order of the conflicted lines
+* `u` - undo an merge
+* `left mouse button` - mark a block to be the winner
+* `middle mouse button` - mark a line to be the winner
+* `Ctrl + S` - save
+* `Ctrl + Q` - quit
+
+[QUnit](http://docs.jquery.com/QUnit) Reference
+-----------------
+
+### Test methods ###
+
+```js
+expect( numAssertions );
+stop();
+start();
+```
+
+
+note: QUnit's eventual addition of an argument to stop/start is ignored in this test suite so that start and stop can be passed as callbacks without worrying about their parameters
+
+### Test assertions ###
+
+
+```js
+ok( value, [message] );
+equal( actual, expected, [message] );
+notEqual( actual, expected, [message] );
+deepEqual( actual, expected, [message] );
+notDeepEqual( actual, expected, [message] );
+strictEqual( actual, expected, [message] );
+notStrictEqual( actual, expected, [message] );
+raises( block, [expected], [message] );
+```
+
+
+Test Suite Convenience Methods Reference (See [test/data/testinit.js](https://github.com/jquery/jquery/blob/master/test/data/testinit.js))
+------------------------------
+
+### Returns an array of elements with the given IDs ###
+
+```js
+q( ... );
+```
+
+Example:
+
+```js
+q("main", "foo", "bar");
+
+=> [ div#main, span#foo, input#bar ]
+```
+
+### Asserts that a selection matches the given IDs ###
+
+```js
+t( testName, selector, [ "array", "of", "ids" ] );
+```
+
+Example:
+
+```js
+t("Check for something", "//[a]", ["foo", "baar"]);
+```
+
+
+
+### Fires a native DOM event without going through jQuery ###
+
+```js
+fireNative( node, eventType )
+```
+
+Example:
+
+```js
+fireNative( jQuery("#elem")[0], "click" );
+```
+
+### Add random number to url to stop caching ###
+
+```js
+url( "some/url.php" );
+```
+
+Example:
+
+```js
+url("data/test.html");
+
+=> "data/test.html?10538358428943"
+
+
+url("data/test.php?foo=bar");
+
+=> "data/test.php?foo=bar&10538358345554"
+```
+
+
+### Load tests in an iframe ###
+
+Loads a given page constructing a url with fileName: `"./data/" + fileName + ".html"`
+and fires the given callback on jQuery ready (using the jQuery loading from that page)
+and passes the iFrame's jQuery to the callback.
+
+```js
+testIframe( fileName, testName, callback );
+```
+
+Callback arguments:
+
+```js
+callback( jQueryFromIFrame, iFrameWindow, iFrameDocument );
+```
+
+### Load tests in an iframe (window.iframeCallback) ###
+
+Loads a given page constructing a url with fileName: `"./data/" + fileName + ".html"`
+The given callback is fired when window.iframeCallback is called by the page
+The arguments passed to the callback are the same as the
+arguments passed to window.iframeCallback, whatever that may be
+
+```js
+testIframeWithCallback( testName, fileName, callback );
+```
+
+Questions?
+----------
+
+If you have any questions, please feel free to ask on the
+[Developing jQuery Core forum](http://forum.jquery.com/developing-jquery-core) or in #jquery on irc.freenode.net.
diff --git a/public/vendor/jquery/build/release-notes.js b/public/vendor/jquery/build/release-notes.js
new file mode 100644
index 000000000000..dff2c11c62ed
--- /dev/null
+++ b/public/vendor/jquery/build/release-notes.js
@@ -0,0 +1,59 @@
+#!/usr/bin/env node
+/*
+ * jQuery Release Note Generator
+ */
+
+var fs = require("fs"),
+ http = require("http"),
+ extract = /(.*?)<[^"]+"component">\s*(\S+)/g,
+ categories = [],
+ version = process.argv[2];
+
+if ( !/^\d+\.\d+/.test( version ) ) {
+ console.error( "Invalid version number: " + version );
+ process.exit( 1 );
+}
+
+http.request({
+ host: "bugs.jquery.com",
+ port: 80,
+ method: "GET",
+ path: "/query?status=closed&resolution=fixed&max=400&component=!web&order=component&milestone=" + version
+}, function (res) {
+ var data = [];
+
+ res.on( "data", function( chunk ) {
+ data.push( chunk );
+ });
+
+ res.on( "end", function() {
+ var match,
+ file = data.join(""),
+ cur;
+
+ while ( (match = extract.exec( file )) ) {
+ if ( "#" + match[1] !== match[2] ) {
+ var cat = match[3];
+
+ if ( !cur || cur !== cat ) {
+ if ( cur ) {
+ console.log("");
+ }
+ cur = cat;
+ console.log( "