CC-3174 : show builder
can add playlists to the time line upgraded datatables to 1.9 upgraded qtip2 to a newer version put qtips on type column on lib table.
|
@ -55,7 +55,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|||
|
||||
$view->headLink()->appendStylesheet($baseUrl.'/css/redmond/jquery-ui-1.8.8.custom.css');
|
||||
$view->headLink()->appendStylesheet($baseUrl.'/css/pro_dropdown_3.css');
|
||||
$view->headLink()->appendStylesheet($baseUrl.'/css/qtip/jquery.qtip.min.css');
|
||||
$view->headLink()->appendStylesheet($baseUrl.'/css/qtip/jquery.qtip.css');
|
||||
$view->headLink()->appendStylesheet($baseUrl.'/css/styles.css');
|
||||
}
|
||||
|
||||
|
@ -64,10 +64,10 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|||
$view = $this->getResource('view');
|
||||
$baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl();
|
||||
|
||||
$view->headScript()->appendFile($baseUrl.'/js/libs/jquery-1.5.2.min.js','text/javascript');
|
||||
$view->headScript()->appendFile($baseUrl.'/js/libs/jquery-1.7.1.min.js','text/javascript');
|
||||
$view->headScript()->appendFile($baseUrl.'/js/libs/jquery-ui-1.8.11.custom.min.js','text/javascript');
|
||||
$view->headScript()->appendFile($baseUrl.'/js/libs/jquery.stickyPanel.js','text/javascript');
|
||||
$view->headScript()->appendFile($baseUrl.'/js/qtip/jquery.qtip2.min.js','text/javascript');
|
||||
$view->headScript()->appendFile($baseUrl.'/js/qtip/jquery.qtip.min.js','text/javascript');
|
||||
$view->headScript()->appendFile($baseUrl.'/js/jplayer/jquery.jplayer.min.js');
|
||||
$view->headScript()->appendScript("var baseUrl='$baseUrl/'");
|
||||
|
||||
|
|
|
@ -268,12 +268,12 @@ class LibraryController extends Zend_Controller_Action
|
|||
$id = $this->_getParam('id');
|
||||
$type = $this->_getParam('type');
|
||||
|
||||
if($type == "au") {
|
||||
if($type == "audioclip") {
|
||||
$file = Application_Model_StoredFile::Recall($id);
|
||||
$this->view->type = $type;
|
||||
$this->view->md = $file->getMetadata();
|
||||
}
|
||||
else if($type == "pl") {
|
||||
else if($type == "playlist") {
|
||||
$file = Application_Model_Playlist::Recall($id);
|
||||
$this->view->type = $type;
|
||||
$this->view->md = $file->getAllPLMetaData();
|
||||
|
|
|
@ -15,6 +15,7 @@ class Application_Model_Scheduler {
|
|||
|
||||
public function __construct($id = null) {
|
||||
|
||||
$this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -28,7 +29,7 @@ class Application_Model_Scheduler {
|
|||
$files = array();
|
||||
|
||||
if ($type === "audioclip") {
|
||||
$file = CcFilesQuery::create()->findPK($id);
|
||||
$file = CcFilesQuery::create()->findPK($id, $this->con);
|
||||
|
||||
$data = $this->fileInfo;
|
||||
$data["id"] = $id;
|
||||
|
@ -38,6 +39,23 @@ class Application_Model_Scheduler {
|
|||
}
|
||||
else if ($type === "playlist") {
|
||||
|
||||
$contents = CcPlaylistcontentsQuery::create()
|
||||
->orderByDbPosition()
|
||||
->filterByDbPlaylistId($id)
|
||||
->find($this->con);
|
||||
|
||||
foreach ($contents as $plItem) {
|
||||
|
||||
$data = $this->fileInfo;
|
||||
$data["id"] = $plItem->getDbFileId();
|
||||
$data["cliplength"] = $plItem->getDbCliplength();
|
||||
$data["cuein"] = $plItem->getDbCuein();
|
||||
$data["cueout"] = $plItem->getDbCueout();
|
||||
$data["fadein"] = $plItem->getDbFadein();
|
||||
$data["fadeout"] = $plItem->getDbFadeout();
|
||||
|
||||
$files[] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
return $files;
|
||||
|
@ -67,7 +85,7 @@ class Application_Model_Scheduler {
|
|||
Logging::log("scheduling after scheduled item: ".$id);
|
||||
|
||||
if ($id !== 0) {
|
||||
$schedItem = CcScheduleQuery::create()->findPK($id);
|
||||
$schedItem = CcScheduleQuery::create()->findPK($id, $this->con);
|
||||
$instance = $schedItem->getDbInstanceId();
|
||||
|
||||
//user has an old copy of the time line opened.
|
||||
|
@ -80,7 +98,7 @@ class Application_Model_Scheduler {
|
|||
}
|
||||
//selected empty row to add after
|
||||
else {
|
||||
$showInstance = CcShowInstancesQuery::create()->findPK($schedule["instance"]);
|
||||
$showInstance = CcShowInstancesQuery::create()->findPK($schedule["instance"], $this->con);
|
||||
$nextStartDT = $showInstance->getDbStarts(null);
|
||||
$instance = intval($schedule["instance"]);
|
||||
}
|
||||
|
@ -90,7 +108,7 @@ class Application_Model_Scheduler {
|
|||
->filterByDBStarts($schedItem->getDbStarts("Y-m-d H:i:s.u"), Criteria::GREATER_THAN)
|
||||
->filterByDbInstanceId($instance)
|
||||
->orderByDbStarts()
|
||||
->find();
|
||||
->find($this->con);
|
||||
}
|
||||
|
||||
foreach($schedFiles as $file) {
|
||||
|
@ -104,7 +122,7 @@ class Application_Model_Scheduler {
|
|||
//item existed previously and is being moved.
|
||||
//need to keep same id for resources if we want REST.
|
||||
if (isset($file['sched_id'])) {
|
||||
$sched = CcScheduleQuery::create()->findPK($file['sched_id']);
|
||||
$sched = CcScheduleQuery::create()->findPK($file['sched_id'], $this->con);
|
||||
}
|
||||
else {
|
||||
$sched = new CcSchedule();
|
||||
|
@ -155,7 +173,6 @@ class Application_Model_Scheduler {
|
|||
*/
|
||||
public function scheduleAfter($scheduleItems, $mediaItems, $adjustSched = true) {
|
||||
|
||||
$this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME);
|
||||
$this->con->beginTransaction();
|
||||
|
||||
$schedFiles = array();
|
||||
|
@ -184,7 +201,6 @@ class Application_Model_Scheduler {
|
|||
*/
|
||||
public function moveItem($selectedItem, $afterItem, $adjustSched = true) {
|
||||
|
||||
$this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME);
|
||||
$this->con->beginTransaction();
|
||||
|
||||
try {
|
||||
|
@ -234,8 +250,6 @@ class Application_Model_Scheduler {
|
|||
public function removeItems($scheduledIds, $adjustSched = true) {
|
||||
|
||||
$showInstances = array();
|
||||
|
||||
$this->con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME);
|
||||
$this->con->beginTransaction();
|
||||
|
||||
try {
|
||||
|
@ -275,14 +289,14 @@ class Application_Model_Scheduler {
|
|||
|
||||
Logging::log("removing gaps from show instance #".$showInstance);
|
||||
|
||||
$instance = CcShowInstancesQuery::create()->findPK($showInstance);
|
||||
$instance = CcShowInstancesQuery::create()->findPK($showInstance, $this->con);
|
||||
$itemStartDT = $instance->getDbStarts(null);
|
||||
|
||||
$schedule = CcScheduleQuery::create()
|
||||
->filterByDbInstanceId($showInstance)
|
||||
->filterByDbId($exclude, Criteria::NOT_IN)
|
||||
->orderByDbStarts()
|
||||
->find();
|
||||
->find($this->con);
|
||||
|
||||
|
||||
foreach ($schedule as $item) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?php if($this->type == "au") : ?>
|
||||
<?php if($this->type == "audioclip") : ?>
|
||||
<div><span>Title:</span><span><?php echo ($this->md["MDATA_KEY_TITLE"]);?></span></div>
|
||||
<div><span>Artist:</span><span><?php echo ($this->md["MDATA_KEY_CREATOR"]);?></span></div>
|
||||
<div><span>Album:</span><span><?php echo ($this->md["MDATA_KEY_SOURCE"]);?></span></div>
|
||||
|
@ -19,7 +19,7 @@
|
|||
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if($this->type == "pl") : ?>
|
||||
<?php if($this->type == "playlist") : ?>
|
||||
<div><span>Name:</span><span><?php echo ($this->md["dc:title"]);?></span></div>
|
||||
<div><span>Creator:</span><span><?php echo ($this->md["dc:creator"]);?></span></div>
|
||||
<div><span>Length:</span><span><?php echo ($this->md["dcterms:extent"]);?></span></div>
|
||||
|
|
265
airtime_mvc/public/css/datatables/css/TableTools.css
Executable file
|
@ -0,0 +1,265 @@
|
|||
/*
|
||||
* File: TableTools.css
|
||||
* Description: Styles for TableTools 2
|
||||
* Author: Allan Jardine (www.sprymedia.co.uk)
|
||||
* Language: Javascript
|
||||
* License: LGPL / 3 point BSD
|
||||
* Project: DataTables
|
||||
*
|
||||
* Copyright 2010 Allan Jardine, all rights reserved.
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* CSS name space:
|
||||
* DTTT DataTables TableTools
|
||||
*
|
||||
* Colour dictionary:
|
||||
* Button border #d0d0d0
|
||||
* Button border hover #999999
|
||||
* Hover background #f0f0f0
|
||||
* Action blue #4b66d9
|
||||
*
|
||||
* Style sheet provides:
|
||||
* CONTAINER TableTools container element and styles applying to all components
|
||||
* BUTTON_STYLES Action specific button styles
|
||||
* SELECTING Row selection styles
|
||||
* COLLECTIONS Drop down list (collection) styles
|
||||
* PRINTING Print display styles
|
||||
* MISC Minor misc styles
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* CONTAINER
|
||||
* TableTools container element and styles applying to all components
|
||||
*/
|
||||
div.DTTT_container {
|
||||
position: relative;
|
||||
float: right;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
button.DTTT_button {
|
||||
position: relative;
|
||||
float: left;
|
||||
height: 30px;
|
||||
margin-right: 3px;
|
||||
padding: 3px 5px;
|
||||
border: 1px solid #d0d0d0;
|
||||
background-color: #fff;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
button.DTTT_button::-moz-focus-inner {
|
||||
border: none !important;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* BUTTON_STYLES
|
||||
* Action specific button styles
|
||||
*/
|
||||
|
||||
button.DTTT_button_csv {
|
||||
padding-right: 30px;
|
||||
background: url(../images/csv.png) no-repeat center right;
|
||||
}
|
||||
|
||||
button.DTTT_button_csv_hover {
|
||||
padding-right: 30px;
|
||||
border: 1px solid #999;
|
||||
background: #f0f0f0 url(../images/csv_hover.png) no-repeat center right;
|
||||
}
|
||||
|
||||
|
||||
button.DTTT_button_xls {
|
||||
padding-right: 30px;
|
||||
background: url(../images/xls.png) no-repeat center right;
|
||||
}
|
||||
|
||||
button.DTTT_button_xls_hover {
|
||||
padding-right: 30px;
|
||||
border: 1px solid #999;
|
||||
background: #f0f0f0 url(../images/xls_hover.png) no-repeat center right;
|
||||
}
|
||||
|
||||
|
||||
button.DTTT_button_copy {
|
||||
padding-right: 30px;
|
||||
background: url(../images/copy.png) no-repeat center right;
|
||||
}
|
||||
|
||||
button.DTTT_button_copy_hover {
|
||||
padding-right: 30px;
|
||||
border: 1px solid #999;
|
||||
background: #f0f0f0 url(../images/copy_hover.png) no-repeat center right;
|
||||
}
|
||||
|
||||
|
||||
button.DTTT_button_pdf {
|
||||
padding-right: 30px;
|
||||
background: url(../images/pdf.png) no-repeat center right;
|
||||
}
|
||||
|
||||
button.DTTT_button_pdf_hover {
|
||||
padding-right: 30px;
|
||||
border: 1px solid #999;
|
||||
background: #f0f0f0 url(../images/pdf_hover.png) no-repeat center right;
|
||||
}
|
||||
|
||||
|
||||
button.DTTT_button_print {
|
||||
padding-right: 30px;
|
||||
background: url(../images/print.png) no-repeat center right;
|
||||
}
|
||||
|
||||
button.DTTT_button_print_hover {
|
||||
padding-right: 30px;
|
||||
border: 1px solid #999;
|
||||
background: #f0f0f0 url(../images/print_hover.png) no-repeat center right;
|
||||
}
|
||||
|
||||
|
||||
button.DTTT_button_text {
|
||||
}
|
||||
|
||||
button.DTTT_button_text_hover {
|
||||
border: 1px solid #999;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
|
||||
|
||||
button.DTTT_button_collection {
|
||||
padding-right: 17px;
|
||||
background: url(../images/collection.png) no-repeat center right;
|
||||
}
|
||||
|
||||
button.DTTT_button_collection_hover {
|
||||
padding-right: 17px;
|
||||
border: 1px solid #999;
|
||||
background: #f0f0f0 url(../images/collection_hover.png) no-repeat center right;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* SELECTING
|
||||
* Row selection styles
|
||||
*/
|
||||
table.DTTT_selectable tbody tr {
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
tr.DTTT_selected.odd {
|
||||
background-color: #9FAFD1;
|
||||
}
|
||||
|
||||
tr.DTTT_selected.odd td.sorting_1 {
|
||||
background-color: #9FAFD1;
|
||||
}
|
||||
|
||||
tr.DTTT_selected.odd td.sorting_2 {
|
||||
background-color: #9FAFD1;
|
||||
}
|
||||
|
||||
tr.DTTT_selected.odd td.sorting_3 {
|
||||
background-color: #9FAFD1;
|
||||
}
|
||||
|
||||
|
||||
tr.DTTT_selected.even {
|
||||
background-color: #B0BED9;
|
||||
}
|
||||
|
||||
tr.DTTT_selected.even td.sorting_1 {
|
||||
background-color: #B0BED9;
|
||||
}
|
||||
|
||||
tr.DTTT_selected.even td.sorting_2 {
|
||||
background-color: #B0BED9;
|
||||
}
|
||||
|
||||
tr.DTTT_selected.even td.sorting_3 {
|
||||
background-color: #B0BED9;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* COLLECTIONS
|
||||
* Drop down list (collection) styles
|
||||
*/
|
||||
|
||||
div.DTTT_collection {
|
||||
width: 150px;
|
||||
padding: 3px;
|
||||
border: 1px solid #ccc;
|
||||
background-color: #f3f3f3;
|
||||
overflow: hidden;
|
||||
z-index: 2002;
|
||||
}
|
||||
|
||||
div.DTTT_collection_background {
|
||||
background: transparent url(../images/background.png) repeat top left;
|
||||
z-index: 2001;
|
||||
}
|
||||
|
||||
div.DTTT_collection button.DTTT_button {
|
||||
float: none;
|
||||
width: 100%;
|
||||
margin-bottom: 2px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* PRINTING
|
||||
* Print display styles
|
||||
*/
|
||||
|
||||
.DTTT_print_info {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 400px;
|
||||
height: 150px;
|
||||
margin-left: -200px;
|
||||
margin-top: -75px;
|
||||
text-align: center;
|
||||
background-color: #3f3f3f;
|
||||
color: white;
|
||||
padding: 10px 30px;
|
||||
|
||||
opacity: 0.9;
|
||||
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
|
||||
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
|
||||
-moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
|
||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.DTTT_print_info h6 {
|
||||
font-weight: normal;
|
||||
font-size: 28px;
|
||||
line-height: 28px;
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
.DTTT_print_info p {
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* MISC
|
||||
* Minor misc styles
|
||||
*/
|
||||
|
||||
.DTTT_disabled {
|
||||
color: #999;
|
||||
}
|
|
@ -1,92 +0,0 @@
|
|||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* General page setup
|
||||
*/
|
||||
#dt_example {
|
||||
font: 80%/1.45em "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #333;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
|
||||
#dt_example #container {
|
||||
width: 800px;
|
||||
margin: 30px auto;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
#dt_example #footer {
|
||||
margin: 50px auto 0 auto;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#dt_example #demo {
|
||||
margin: 30px auto 0 auto;
|
||||
}
|
||||
|
||||
#dt_example .demo_jui {
|
||||
margin: 30px auto 0 auto;
|
||||
}
|
||||
|
||||
#dt_example .big {
|
||||
font-size: 1.3em;
|
||||
font-weight: bold;
|
||||
line-height: 1.6em;
|
||||
color: #4E6CA3;
|
||||
}
|
||||
|
||||
#dt_example .spacer {
|
||||
height: 20px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#dt_example .clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#dt_example pre {
|
||||
padding: 15px;
|
||||
background-color: #F5F5F5;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
#dt_example h1 {
|
||||
margin-top: 2em;
|
||||
font-size: 1.3em;
|
||||
font-weight: normal;
|
||||
line-height: 1.6em;
|
||||
color: #4E6CA3;
|
||||
border-bottom: 1px solid #B0BED9;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#dt_example h2 {
|
||||
font-size: 1.2em;
|
||||
font-weight: normal;
|
||||
line-height: 1.6em;
|
||||
color: #4E6CA3;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#dt_example a {
|
||||
color: #0063DC;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#dt_example a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#dt_example ul {
|
||||
color: #4E6CA3;
|
||||
}
|
||||
|
||||
.css_right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.css_left {
|
||||
float: left;
|
||||
}
|
|
@ -1,538 +0,0 @@
|
|||
/*
|
||||
* File: demo_table.css
|
||||
* CVS: $Id$
|
||||
* Description: CSS descriptions for DataTables demo pages
|
||||
* Author: Allan Jardine
|
||||
* Created: Tue May 12 06:47:22 BST 2009
|
||||
* Modified: $Date$ by $Author$
|
||||
* Language: CSS
|
||||
* Project: DataTables
|
||||
*
|
||||
* Copyright 2009 Allan Jardine. All Rights Reserved.
|
||||
*
|
||||
* ***************************************************************************
|
||||
* DESCRIPTION
|
||||
*
|
||||
* The styles given here are suitable for the demos that are used with the standard DataTables
|
||||
* distribution (see www.datatables.net). You will most likely wish to modify these styles to
|
||||
* meet the layout requirements of your site.
|
||||
*
|
||||
* Common issues:
|
||||
* 'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is
|
||||
* no conflict between the two pagination types. If you want to use full_numbers pagination
|
||||
* ensure that you either have "example_alt_pagination" as a body class name, or better yet,
|
||||
* modify that selector.
|
||||
* Note that the path used for Images is relative. All images are by default located in
|
||||
* ../images/ - relative to this CSS file.
|
||||
*/
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables features
|
||||
*/
|
||||
|
||||
.dataTables_wrapper {
|
||||
position: relative;
|
||||
min-height: 302px;
|
||||
clear: both;
|
||||
_height: 302px;
|
||||
zoom: 1; /* Feeling sorry for IE */
|
||||
}
|
||||
|
||||
.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 250px;
|
||||
height: 30px;
|
||||
margin-left: -125px;
|
||||
margin-top: -15px;
|
||||
padding: 14px 0 2px 0;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-size: 14px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.dataTables_length {
|
||||
width: 40%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.dataTables_filter {
|
||||
width: 50%;
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.dataTables_info {
|
||||
width: 60%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.dataTables_paginate {
|
||||
width: 44px;
|
||||
* width: 50px;
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* Pagination nested */
|
||||
.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
|
||||
height: 19px;
|
||||
width: 19px;
|
||||
margin-left: 3px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.paginate_disabled_previous {
|
||||
background-image: url('../images/back_disabled.jpg');
|
||||
}
|
||||
|
||||
.paginate_enabled_previous {
|
||||
background-image: url('../images/back_enabled.jpg');
|
||||
}
|
||||
|
||||
.paginate_disabled_next {
|
||||
background-image: url('../images/forward_disabled.jpg');
|
||||
}
|
||||
|
||||
.paginate_enabled_next {
|
||||
background-image: url('../images/forward_enabled.jpg');
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables display
|
||||
*/
|
||||
table.display {
|
||||
margin: 0 auto;
|
||||
clear: both;
|
||||
width: 100%;
|
||||
|
||||
/* Note Firefox 3.5 and before have a bug with border-collapse
|
||||
* ( https://bugzilla.mozilla.org/show%5Fbug.cgi?id=155955 )
|
||||
* border-spacing: 0; is one possible option. Conditional-css.com is
|
||||
* useful for this kind of thing
|
||||
*
|
||||
* Further note IE 6/7 has problems when calculating widths with border width.
|
||||
* It subtracts one px relative to the other browsers from the first column, and
|
||||
* adds one to the end...
|
||||
*
|
||||
* If you want that effect I'd suggest setting a border-top/left on th/td's and
|
||||
* then filling in the gaps with other borders.
|
||||
*/
|
||||
}
|
||||
|
||||
table.display thead th {
|
||||
padding: 3px 18px 3px 10px;
|
||||
border-bottom: 1px solid black;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
* cursor: hand;
|
||||
}
|
||||
|
||||
table.display tfoot th {
|
||||
padding: 3px 18px 3px 10px;
|
||||
border-top: 1px solid black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.display tr.heading2 td {
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
|
||||
table.display td {
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
table.display td.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables sorting
|
||||
*/
|
||||
|
||||
.sorting_asc {
|
||||
background: url('../images/sort_asc.png') no-repeat center right;
|
||||
}
|
||||
|
||||
.sorting_desc {
|
||||
background: url('../images/sort_desc.png') no-repeat center right;
|
||||
}
|
||||
|
||||
.sorting {
|
||||
background: url('../images/sort_both.png') no-repeat center right;
|
||||
}
|
||||
|
||||
.sorting_asc_disabled {
|
||||
background: url('../images/sort_asc_disabled.png') no-repeat center right;
|
||||
}
|
||||
|
||||
.sorting_desc_disabled {
|
||||
background: url('../images/sort_desc_disabled.png') no-repeat center right;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables row classes
|
||||
*/
|
||||
table.display tr.odd.gradeA {
|
||||
background-color: #ddffdd;
|
||||
}
|
||||
|
||||
table.display tr.even.gradeA {
|
||||
background-color: #eeffee;
|
||||
}
|
||||
|
||||
table.display tr.odd.gradeC {
|
||||
background-color: #ddddff;
|
||||
}
|
||||
|
||||
table.display tr.even.gradeC {
|
||||
background-color: #eeeeff;
|
||||
}
|
||||
|
||||
table.display tr.odd.gradeX {
|
||||
background-color: #ffdddd;
|
||||
}
|
||||
|
||||
table.display tr.even.gradeX {
|
||||
background-color: #ffeeee;
|
||||
}
|
||||
|
||||
table.display tr.odd.gradeU {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
table.display tr.even.gradeU {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
|
||||
tr.odd {
|
||||
background-color: #E2E4FF;
|
||||
}
|
||||
|
||||
tr.even {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* Misc
|
||||
*/
|
||||
.dataTables_scroll {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.dataTables_scrollBody {
|
||||
*margin-top: -1px;
|
||||
}
|
||||
|
||||
.top, .bottom {
|
||||
padding: 15px;
|
||||
background-color: #F5F5F5;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
.top .dataTables_info {
|
||||
float: none;
|
||||
}
|
||||
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.dataTables_empty {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tfoot input {
|
||||
margin: 0.5em 0;
|
||||
width: 100%;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
tfoot input.search_init {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
td.group {
|
||||
background-color: #d1cfd0;
|
||||
border-bottom: 2px solid #A19B9E;
|
||||
border-top: 2px solid #A19B9E;
|
||||
}
|
||||
|
||||
td.details {
|
||||
background-color: #d1cfd0;
|
||||
border: 2px solid #A19B9E;
|
||||
}
|
||||
|
||||
|
||||
.example_alt_pagination div.dataTables_info {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.paging_full_numbers {
|
||||
width: 400px;
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button,
|
||||
.paging_full_numbers span.paginate_active {
|
||||
border: 1px solid #aaa;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
padding: 2px 5px;
|
||||
margin: 0 3px;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button:hover {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_active {
|
||||
background-color: #99B3FF;
|
||||
}
|
||||
|
||||
table.display tr.even.row_selected td {
|
||||
background-color: #B0BED9;
|
||||
}
|
||||
|
||||
table.display tr.odd.row_selected td {
|
||||
background-color: #9FAFD1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Sorting classes for columns
|
||||
*/
|
||||
/* For the standard odd/even */
|
||||
tr.odd td.sorting_1 {
|
||||
background-color: #D3D6FF;
|
||||
}
|
||||
|
||||
tr.odd td.sorting_2 {
|
||||
background-color: #DADCFF;
|
||||
}
|
||||
|
||||
tr.odd td.sorting_3 {
|
||||
background-color: #E0E2FF;
|
||||
}
|
||||
|
||||
tr.even td.sorting_1 {
|
||||
background-color: #EAEBFF;
|
||||
}
|
||||
|
||||
tr.even td.sorting_2 {
|
||||
background-color: #F2F3FF;
|
||||
}
|
||||
|
||||
tr.even td.sorting_3 {
|
||||
background-color: #F9F9FF;
|
||||
}
|
||||
|
||||
|
||||
/* For the Conditional-CSS grading rows */
|
||||
/*
|
||||
Colour calculations (based off the main row colours)
|
||||
Level 1:
|
||||
dd > c4
|
||||
ee > d5
|
||||
Level 2:
|
||||
dd > d1
|
||||
ee > e2
|
||||
*/
|
||||
tr.odd.gradeA td.sorting_1 {
|
||||
background-color: #c4ffc4;
|
||||
}
|
||||
|
||||
tr.odd.gradeA td.sorting_2 {
|
||||
background-color: #d1ffd1;
|
||||
}
|
||||
|
||||
tr.odd.gradeA td.sorting_3 {
|
||||
background-color: #d1ffd1;
|
||||
}
|
||||
|
||||
tr.even.gradeA td.sorting_1 {
|
||||
background-color: #d5ffd5;
|
||||
}
|
||||
|
||||
tr.even.gradeA td.sorting_2 {
|
||||
background-color: #e2ffe2;
|
||||
}
|
||||
|
||||
tr.even.gradeA td.sorting_3 {
|
||||
background-color: #e2ffe2;
|
||||
}
|
||||
|
||||
tr.odd.gradeC td.sorting_1 {
|
||||
background-color: #c4c4ff;
|
||||
}
|
||||
|
||||
tr.odd.gradeC td.sorting_2 {
|
||||
background-color: #d1d1ff;
|
||||
}
|
||||
|
||||
tr.odd.gradeC td.sorting_3 {
|
||||
background-color: #d1d1ff;
|
||||
}
|
||||
|
||||
tr.even.gradeC td.sorting_1 {
|
||||
background-color: #d5d5ff;
|
||||
}
|
||||
|
||||
tr.even.gradeC td.sorting_2 {
|
||||
background-color: #e2e2ff;
|
||||
}
|
||||
|
||||
tr.even.gradeC td.sorting_3 {
|
||||
background-color: #e2e2ff;
|
||||
}
|
||||
|
||||
tr.odd.gradeX td.sorting_1 {
|
||||
background-color: #ffc4c4;
|
||||
}
|
||||
|
||||
tr.odd.gradeX td.sorting_2 {
|
||||
background-color: #ffd1d1;
|
||||
}
|
||||
|
||||
tr.odd.gradeX td.sorting_3 {
|
||||
background-color: #ffd1d1;
|
||||
}
|
||||
|
||||
tr.even.gradeX td.sorting_1 {
|
||||
background-color: #ffd5d5;
|
||||
}
|
||||
|
||||
tr.even.gradeX td.sorting_2 {
|
||||
background-color: #ffe2e2;
|
||||
}
|
||||
|
||||
tr.even.gradeX td.sorting_3 {
|
||||
background-color: #ffe2e2;
|
||||
}
|
||||
|
||||
tr.odd.gradeU td.sorting_1 {
|
||||
background-color: #c4c4c4;
|
||||
}
|
||||
|
||||
tr.odd.gradeU td.sorting_2 {
|
||||
background-color: #d1d1d1;
|
||||
}
|
||||
|
||||
tr.odd.gradeU td.sorting_3 {
|
||||
background-color: #d1d1d1;
|
||||
}
|
||||
|
||||
tr.even.gradeU td.sorting_1 {
|
||||
background-color: #d5d5d5;
|
||||
}
|
||||
|
||||
tr.even.gradeU td.sorting_2 {
|
||||
background-color: #e2e2e2;
|
||||
}
|
||||
|
||||
tr.even.gradeU td.sorting_3 {
|
||||
background-color: #e2e2e2;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Row highlighting example
|
||||
*/
|
||||
.ex_highlight #example tbody tr.even:hover, #example tbody tr.even td.highlighted {
|
||||
background-color: #ECFFB3;
|
||||
}
|
||||
|
||||
.ex_highlight #example tbody tr.odd:hover, #example tbody tr.odd td.highlighted {
|
||||
background-color: #E6FF99;
|
||||
}
|
||||
|
||||
.ex_highlight_row #example tr.even:hover {
|
||||
background-color: #ECFFB3;
|
||||
}
|
||||
|
||||
.ex_highlight_row #example tr.even:hover td.sorting_1 {
|
||||
background-color: #DDFF75;
|
||||
}
|
||||
|
||||
.ex_highlight_row #example tr.even:hover td.sorting_2 {
|
||||
background-color: #E7FF9E;
|
||||
}
|
||||
|
||||
.ex_highlight_row #example tr.even:hover td.sorting_3 {
|
||||
background-color: #E2FF89;
|
||||
}
|
||||
|
||||
.ex_highlight_row #example tr.odd:hover {
|
||||
background-color: #E6FF99;
|
||||
}
|
||||
|
||||
.ex_highlight_row #example tr.odd:hover td.sorting_1 {
|
||||
background-color: #D6FF5C;
|
||||
}
|
||||
|
||||
.ex_highlight_row #example tr.odd:hover td.sorting_2 {
|
||||
background-color: #E0FF84;
|
||||
}
|
||||
|
||||
.ex_highlight_row #example tr.odd:hover td.sorting_3 {
|
||||
background-color: #DBFF70;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* KeyTable
|
||||
*/
|
||||
table.KeyTable td {
|
||||
border: 3px solid transparent;
|
||||
}
|
||||
|
||||
table.KeyTable td.focus {
|
||||
border: 3px solid #3366FF;
|
||||
}
|
||||
|
||||
table.display tr.gradeA {
|
||||
background-color: #eeffee;
|
||||
}
|
||||
|
||||
table.display tr.gradeC {
|
||||
background-color: #ddddff;
|
||||
}
|
||||
|
||||
table.display tr.gradeX {
|
||||
background-color: #ffdddd;
|
||||
}
|
||||
|
||||
table.display tr.gradeU {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
div.box {
|
||||
height: 100px;
|
||||
padding: 10px;
|
||||
overflow: auto;
|
||||
border: 1px solid #8080FF;
|
||||
background-color: #E5E5FF;
|
||||
}
|
|
@ -1,513 +0,0 @@
|
|||
/*
|
||||
* File: demo_table_jui.css
|
||||
* CVS: $Id$
|
||||
* Description: CSS descriptions for DataTables demo pages
|
||||
* Author: Allan Jardine
|
||||
* Created: Tue May 12 06:47:22 BST 2009
|
||||
* Modified: $Date$ by $Author$
|
||||
* Language: CSS
|
||||
* Project: DataTables
|
||||
*
|
||||
* Copyright 2009 Allan Jardine. All Rights Reserved.
|
||||
*
|
||||
* ***************************************************************************
|
||||
* DESCRIPTION
|
||||
*
|
||||
* The styles given here are suitable for the demos that are used with the standard DataTables
|
||||
* distribution (see www.datatables.net). You will most likely wish to modify these styles to
|
||||
* meet the layout requirements of your site.
|
||||
*
|
||||
* Common issues:
|
||||
* 'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is
|
||||
* no conflict between the two pagination types. If you want to use full_numbers pagination
|
||||
* ensure that you either have "example_alt_pagination" as a body class name, or better yet,
|
||||
* modify that selector.
|
||||
* Note that the path used for Images is relative. All images are by default located in
|
||||
* ../images/ - relative to this CSS file.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* jQuery UI specific styling
|
||||
*/
|
||||
|
||||
.paging_two_button .ui-button {
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
* cursor: hand;
|
||||
}
|
||||
|
||||
.paging_full_numbers .ui-button {
|
||||
padding: 2px 6px;
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
* cursor: hand;
|
||||
}
|
||||
|
||||
.ui-buttonset .ui-button {
|
||||
margin-right: -0.1em !important;
|
||||
}
|
||||
|
||||
.paging_full_numbers {
|
||||
width: 350px !important;
|
||||
}
|
||||
|
||||
.ui-toolbar {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.dataTables_paginate {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.dataTables_info {
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
table.display thead th {
|
||||
padding: 3px 0px 3px 10px;
|
||||
cursor: pointer;
|
||||
* cursor: hand;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper .ui-widget-header {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Sort arrow icon positioning
|
||||
*/
|
||||
table.display thead th div.DataTables_sort_wrapper {
|
||||
position: relative;
|
||||
padding-right: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
table.display thead th div.DataTables_sort_wrapper span {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Everything below this line is the same as demo_table.css. This file is
|
||||
* required for 'cleanliness' of the markup
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables features
|
||||
*/
|
||||
|
||||
.dataTables_wrapper {
|
||||
position: relative;
|
||||
min-height: 302px;
|
||||
_height: 302px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 50%;
|
||||
width: 250px;
|
||||
margin-left: -125px;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-size: 11px;
|
||||
padding: 2px 0;
|
||||
}
|
||||
|
||||
.dataTables_length {
|
||||
width: 40%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.dataTables_filter {
|
||||
width: 50%;
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.dataTables_info {
|
||||
width: 50%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.dataTables_paginate {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* Pagination nested */
|
||||
.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
|
||||
height: 19px;
|
||||
width: 19px;
|
||||
margin-left: 3px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.paginate_disabled_previous {
|
||||
background-image: url('../images/back_disabled.jpg');
|
||||
}
|
||||
|
||||
.paginate_enabled_previous {
|
||||
background-image: url('../images/back_enabled.jpg');
|
||||
}
|
||||
|
||||
.paginate_disabled_next {
|
||||
background-image: url('../images/forward_disabled.jpg');
|
||||
}
|
||||
|
||||
.paginate_enabled_next {
|
||||
background-image: url('../images/forward_enabled.jpg');
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables display
|
||||
*/
|
||||
table.display {
|
||||
margin: 0 auto;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.display tfoot th {
|
||||
padding: 3px 0px 3px 10px;
|
||||
font-weight: bold;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
table.display tr.heading2 td {
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
|
||||
table.display td {
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
table.display td.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables sorting
|
||||
*/
|
||||
|
||||
.sorting_asc {
|
||||
background: url('../images/sort_asc.jpg') no-repeat center right;
|
||||
}
|
||||
|
||||
.sorting_desc {
|
||||
background: url('../images/sort_desc.jpg') no-repeat center right;
|
||||
}
|
||||
|
||||
.sorting {
|
||||
background: url('../images/sort_both.jpg') no-repeat center right;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables row classes
|
||||
*/
|
||||
table.display tr.odd.gradeA {
|
||||
background-color: #ddffdd;
|
||||
}
|
||||
|
||||
table.display tr.even.gradeA {
|
||||
background-color: #eeffee;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
table.display tr.odd.gradeA {
|
||||
background-color: #ddffdd;
|
||||
}
|
||||
|
||||
table.display tr.even.gradeA {
|
||||
background-color: #eeffee;
|
||||
}
|
||||
|
||||
table.display tr.odd.gradeC {
|
||||
background-color: #ddddff;
|
||||
}
|
||||
|
||||
table.display tr.even.gradeC {
|
||||
background-color: #eeeeff;
|
||||
}
|
||||
|
||||
table.display tr.odd.gradeX {
|
||||
background-color: #ffdddd;
|
||||
}
|
||||
|
||||
table.display tr.even.gradeX {
|
||||
background-color: #ffeeee;
|
||||
}
|
||||
|
||||
table.display tr.odd.gradeU {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
table.display tr.even.gradeU {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
|
||||
tr.odd {
|
||||
background-color: #E2E4FF;
|
||||
}
|
||||
|
||||
tr.even {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* Misc
|
||||
*/
|
||||
.dataTables_scroll {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.top, .bottom {
|
||||
padding: 15px;
|
||||
background-color: #F5F5F5;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
.top .dataTables_info {
|
||||
float: none;
|
||||
}
|
||||
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.dataTables_empty {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tfoot input {
|
||||
margin: 0.5em 0;
|
||||
width: 100%;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
tfoot input.search_init {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
td.group {
|
||||
background-color: #d1cfd0;
|
||||
border-bottom: 2px solid #A19B9E;
|
||||
border-top: 2px solid #A19B9E;
|
||||
}
|
||||
|
||||
td.details {
|
||||
background-color: #d1cfd0;
|
||||
border: 2px solid #A19B9E;
|
||||
}
|
||||
|
||||
|
||||
.example_alt_pagination div.dataTables_info {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button,
|
||||
.paging_full_numbers span.paginate_active {
|
||||
border: 1px solid #aaa;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
padding: 2px 5px;
|
||||
margin: 0 3px;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button:hover {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_active {
|
||||
background-color: #99B3FF;
|
||||
}
|
||||
|
||||
table.display tr.even.row_selected td {
|
||||
background-color: #B0BED9;
|
||||
}
|
||||
|
||||
table.display tr.odd.row_selected td {
|
||||
background-color: #9FAFD1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Sorting classes for columns
|
||||
*/
|
||||
/* For the standard odd/even */
|
||||
tr.odd td.sorting_1 {
|
||||
background-color: #D3D6FF;
|
||||
}
|
||||
|
||||
tr.odd td.sorting_2 {
|
||||
background-color: #DADCFF;
|
||||
}
|
||||
|
||||
tr.odd td.sorting_3 {
|
||||
background-color: #E0E2FF;
|
||||
}
|
||||
|
||||
tr.even td.sorting_1 {
|
||||
background-color: #EAEBFF;
|
||||
}
|
||||
|
||||
tr.even td.sorting_2 {
|
||||
background-color: #F2F3FF;
|
||||
}
|
||||
|
||||
tr.even td.sorting_3 {
|
||||
background-color: #F9F9FF;
|
||||
}
|
||||
|
||||
|
||||
/* For the Conditional-CSS grading rows */
|
||||
/*
|
||||
Colour calculations (based off the main row colours)
|
||||
Level 1:
|
||||
dd > c4
|
||||
ee > d5
|
||||
Level 2:
|
||||
dd > d1
|
||||
ee > e2
|
||||
*/
|
||||
tr.odd.gradeA td.sorting_1 {
|
||||
background-color: #c4ffc4;
|
||||
}
|
||||
|
||||
tr.odd.gradeA td.sorting_2 {
|
||||
background-color: #d1ffd1;
|
||||
}
|
||||
|
||||
tr.odd.gradeA td.sorting_3 {
|
||||
background-color: #d1ffd1;
|
||||
}
|
||||
|
||||
tr.even.gradeA td.sorting_1 {
|
||||
background-color: #d5ffd5;
|
||||
}
|
||||
|
||||
tr.even.gradeA td.sorting_2 {
|
||||
background-color: #e2ffe2;
|
||||
}
|
||||
|
||||
tr.even.gradeA td.sorting_3 {
|
||||
background-color: #e2ffe2;
|
||||
}
|
||||
|
||||
tr.odd.gradeC td.sorting_1 {
|
||||
background-color: #c4c4ff;
|
||||
}
|
||||
|
||||
tr.odd.gradeC td.sorting_2 {
|
||||
background-color: #d1d1ff;
|
||||
}
|
||||
|
||||
tr.odd.gradeC td.sorting_3 {
|
||||
background-color: #d1d1ff;
|
||||
}
|
||||
|
||||
tr.even.gradeC td.sorting_1 {
|
||||
background-color: #d5d5ff;
|
||||
}
|
||||
|
||||
tr.even.gradeC td.sorting_2 {
|
||||
background-color: #e2e2ff;
|
||||
}
|
||||
|
||||
tr.even.gradeC td.sorting_3 {
|
||||
background-color: #e2e2ff;
|
||||
}
|
||||
|
||||
tr.odd.gradeX td.sorting_1 {
|
||||
background-color: #ffc4c4;
|
||||
}
|
||||
|
||||
tr.odd.gradeX td.sorting_2 {
|
||||
background-color: #ffd1d1;
|
||||
}
|
||||
|
||||
tr.odd.gradeX td.sorting_3 {
|
||||
background-color: #ffd1d1;
|
||||
}
|
||||
|
||||
tr.even.gradeX td.sorting_1 {
|
||||
background-color: #ffd5d5;
|
||||
}
|
||||
|
||||
tr.even.gradeX td.sorting_2 {
|
||||
background-color: #ffe2e2;
|
||||
}
|
||||
|
||||
tr.even.gradeX td.sorting_3 {
|
||||
background-color: #ffe2e2;
|
||||
}
|
||||
|
||||
tr.odd.gradeU td.sorting_1 {
|
||||
background-color: #c4c4c4;
|
||||
}
|
||||
|
||||
tr.odd.gradeU td.sorting_2 {
|
||||
background-color: #d1d1d1;
|
||||
}
|
||||
|
||||
tr.odd.gradeU td.sorting_3 {
|
||||
background-color: #d1d1d1;
|
||||
}
|
||||
|
||||
tr.even.gradeU td.sorting_1 {
|
||||
background-color: #d5d5d5;
|
||||
}
|
||||
|
||||
tr.even.gradeU td.sorting_2 {
|
||||
background-color: #e2e2e2;
|
||||
}
|
||||
|
||||
tr.even.gradeU td.sorting_3 {
|
||||
background-color: #e2e2e2;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Row highlighting example
|
||||
*/
|
||||
.ex_highlight #example tbody tr.even:hover, #example tbody tr.even td.highlighted {
|
||||
background-color: #ECFFB3;
|
||||
}
|
||||
|
||||
.ex_highlight #example tbody tr.odd:hover, #example tbody tr.odd td.highlighted {
|
||||
background-color: #E6FF99;
|
||||
}
|
219
airtime_mvc/public/css/datatables/css/jquery.dataTables.css
Normal file
|
@ -0,0 +1,219 @@
|
|||
|
||||
/*
|
||||
* Table
|
||||
*/
|
||||
table.dataTable {
|
||||
margin: 0 auto;
|
||||
clear: both;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.dataTable thead th {
|
||||
padding: 3px 18px 3px 10px;
|
||||
border-bottom: 1px solid black;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
table.dataTable tfoot th {
|
||||
padding: 3px 18px 3px 10px;
|
||||
border-top: 1px solid black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.dataTable td {
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
table.dataTable td.center,
|
||||
table.dataTable td.dataTables_empty {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.dataTable tr.odd { background-color: #E2E4FF; }
|
||||
table.dataTable tr.even { background-color: white; }
|
||||
|
||||
table.dataTable tr.odd td.sorting_1 { background-color: #D3D6FF; }
|
||||
table.dataTable tr.odd td.sorting_2 { background-color: #DADCFF; }
|
||||
table.dataTable tr.odd td.sorting_3 { background-color: #E0E2FF; }
|
||||
table.dataTable tr.even td.sorting_1 { background-color: #EAEBFF; }
|
||||
table.dataTable tr.even td.sorting_2 { background-color: #F2F3FF; }
|
||||
table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; }
|
||||
|
||||
|
||||
/*
|
||||
* Table wrapper
|
||||
*/
|
||||
.dataTables_wrapper {
|
||||
position: relative;
|
||||
clear: both;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Page length menu
|
||||
*/
|
||||
.dataTables_length {
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Filter
|
||||
*/
|
||||
.dataTables_filter {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Table information
|
||||
*/
|
||||
.dataTables_info {
|
||||
clear: both;
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Pagination
|
||||
*/
|
||||
.dataTables_paginate {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* Two button pagination - previous / next */
|
||||
.paginate_disabled_previous,
|
||||
.paginate_enabled_previous,
|
||||
.paginate_disabled_next,
|
||||
.paginate_enabled_next {
|
||||
height: 19px;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
color: #111 !important;
|
||||
}
|
||||
.paginate_disabled_previous:hover,
|
||||
.paginate_enabled_previous:hover,
|
||||
.paginate_disabled_next:hover,
|
||||
.paginate_enabled_next:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
.paginate_disabled_previous:active,
|
||||
.paginate_enabled_previous:active,
|
||||
.paginate_disabled_next:active,
|
||||
.paginate_enabled_next:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.paginate_disabled_previous,
|
||||
.paginate_disabled_next {
|
||||
color: #666 !important;
|
||||
}
|
||||
.paginate_disabled_previous,
|
||||
.paginate_enabled_previous {
|
||||
padding-left: 23px;
|
||||
}
|
||||
.paginate_disabled_next,
|
||||
.paginate_enabled_next {
|
||||
padding-right: 23px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.paginate_enabled_previous { background: url('../images/back_enabled.png') no-repeat top left; }
|
||||
.paginate_enabled_previous:hover { background: url('../images/back_enabled_hover.png') no-repeat top left; }
|
||||
.paginate_disabled_previous { background: url('../images/back_disabled.png') no-repeat top left; }
|
||||
|
||||
.paginate_enabled_next { background: url('../images/forward_enabled.png') no-repeat top right; }
|
||||
.paginate_enabled_next:hover { background: url('../images/forward_enabled_hover.png') no-repeat top right; }
|
||||
.paginate_disabled_next { background: url('../images/forward_disabled.png') no-repeat top right; }
|
||||
|
||||
/* Full number pagination */
|
||||
.paging_full_numbers {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
.paging_full_numbers a:active {
|
||||
outline: none
|
||||
}
|
||||
.paging_full_numbers a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_button,
|
||||
.paging_full_numbers a.paginate_active {
|
||||
border: 1px solid #aaa;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
padding: 2px 5px;
|
||||
margin: 0 3px;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_button {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_button:hover {
|
||||
background-color: #ccc;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_active {
|
||||
background-color: #99B3FF;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Processing indicator
|
||||
*/
|
||||
.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 250px;
|
||||
height: 30px;
|
||||
margin-left: -125px;
|
||||
margin-top: -15px;
|
||||
padding: 14px 0 2px 0;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-size: 14px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Sorting
|
||||
*/
|
||||
.sorting { background: url('../images/sort_both.png') no-repeat center right; }
|
||||
.sorting_asc { background: url('../images/sort_asc.png') no-repeat center right; }
|
||||
.sorting_desc { background: url('../images/sort_desc.png') no-repeat center right; }
|
||||
|
||||
.sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right; }
|
||||
.sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right; }
|
||||
|
||||
table.dataTable th:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Scrolling
|
||||
*/
|
||||
.dataTables_scroll {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.dataTables_scrollBody {
|
||||
*margin-top: -1px;
|
||||
}
|
||||
|
|
@ -0,0 +1,243 @@
|
|||
|
||||
|
||||
/*
|
||||
* Table
|
||||
*/
|
||||
table.dataTable {
|
||||
margin: 0 auto;
|
||||
clear: both;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.dataTable thead th {
|
||||
padding: 3px 0px 3px 10px;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
table.dataTable tfoot th {
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
table.dataTable td {
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
table.dataTable td.center,
|
||||
table.dataTable td.dataTables_empty {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.dataTable tr.odd { background-color: #E2E4FF; }
|
||||
table.dataTable tr.even { background-color: white; }
|
||||
|
||||
table.dataTable tr.odd td.sorting_1 { background-color: #D3D6FF; }
|
||||
table.dataTable tr.odd td.sorting_2 { background-color: #DADCFF; }
|
||||
table.dataTable tr.odd td.sorting_3 { background-color: #E0E2FF; }
|
||||
table.dataTable tr.even td.sorting_1 { background-color: #EAEBFF; }
|
||||
table.dataTable tr.even td.sorting_2 { background-color: #F2F3FF; }
|
||||
table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; }
|
||||
|
||||
|
||||
/*
|
||||
* Table wrapper
|
||||
*/
|
||||
.dataTables_wrapper {
|
||||
position: relative;
|
||||
clear: both;
|
||||
*zoom: 1;
|
||||
}
|
||||
.dataTables_wrapper .ui-widget-header {
|
||||
font-weight: normal;
|
||||
}
|
||||
.dataTables_wrapper .ui-toolbar {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Page length menu
|
||||
*/
|
||||
.dataTables_length {
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Filter
|
||||
*/
|
||||
.dataTables_filter {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Table information
|
||||
*/
|
||||
.dataTables_info {
|
||||
padding-top: 3px;
|
||||
clear: both;
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Pagination
|
||||
*/
|
||||
.dataTables_paginate {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.dataTables_paginate .ui-button {
|
||||
margin-right: -0.1em !important;
|
||||
}
|
||||
|
||||
.paging_two_button .ui-button {
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
* cursor: hand;
|
||||
}
|
||||
|
||||
.paging_full_numbers .ui-button {
|
||||
padding: 2px 6px;
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
* cursor: hand;
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
/* Two button pagination - previous / next */
|
||||
.paginate_disabled_previous,
|
||||
.paginate_enabled_previous,
|
||||
.paginate_disabled_next,
|
||||
.paginate_enabled_next {
|
||||
height: 19px;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
color: #111 !important;
|
||||
}
|
||||
.paginate_disabled_previous:hover,
|
||||
.paginate_enabled_previous:hover,
|
||||
.paginate_disabled_next:hover,
|
||||
.paginate_enabled_next:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
.paginate_disabled_previous:active,
|
||||
.paginate_enabled_previous:active,
|
||||
.paginate_disabled_next:active,
|
||||
.paginate_enabled_next:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.paginate_disabled_previous,
|
||||
.paginate_disabled_next {
|
||||
color: #666 !important;
|
||||
}
|
||||
.paginate_disabled_previous,
|
||||
.paginate_enabled_previous {
|
||||
padding-left: 23px;
|
||||
}
|
||||
.paginate_disabled_next,
|
||||
.paginate_enabled_next {
|
||||
padding-right: 23px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.paginate_enabled_previous { background: url('../images/back_enabled.png') no-repeat top left; }
|
||||
.paginate_enabled_previous:hover { background: url('../images/back_enabled_hover.png') no-repeat top left; }
|
||||
.paginate_disabled_previous { background: url('../images/back_disabled.png') no-repeat top left; }
|
||||
|
||||
.paginate_enabled_next { background: url('../images/forward_enabled.png') no-repeat top right; }
|
||||
.paginate_enabled_next:hover { background: url('../images/forward_enabled_hover.png') no-repeat top right; }
|
||||
.paginate_disabled_next { background: url('../images/forward_disabled.png') no-repeat top right; }
|
||||
|
||||
/* Full number pagination */
|
||||
.paging_full_numbers a:active {
|
||||
outline: none
|
||||
}
|
||||
.paging_full_numbers a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_button,
|
||||
.paging_full_numbers a.paginate_active {
|
||||
border: 1px solid #aaa;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
padding: 2px 5px;
|
||||
margin: 0 3px;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_button {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_button:hover {
|
||||
background-color: #ccc;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.paging_full_numbers a.paginate_active {
|
||||
background-color: #99B3FF;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Processing indicator
|
||||
*/
|
||||
.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 250px;
|
||||
height: 30px;
|
||||
margin-left: -125px;
|
||||
margin-top: -15px;
|
||||
padding: 14px 0 2px 0;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-size: 14px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Sorting
|
||||
*/
|
||||
table.dataTable thead th div.DataTables_sort_wrapper {
|
||||
position: relative;
|
||||
padding-right: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
table.dataTable thead th div.DataTables_sort_wrapper span {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
table.dataTable th:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Scrolling
|
||||
*/
|
||||
.dataTables_scroll {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.dataTables_scrollBody {
|
||||
*margin-top: -1px;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 612 B |
BIN
airtime_mvc/public/css/datatables/images/back_disabled.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 807 B |
BIN
airtime_mvc/public/css/datatables/images/back_enabled.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
airtime_mvc/public/css/datatables/images/back_enabled_hover.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 635 B |
BIN
airtime_mvc/public/css/datatables/images/forward_disabled.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 852 B |
BIN
airtime_mvc/public/css/datatables/images/forward_enabled.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 263 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 252 B After Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 251 B After Width: | Height: | Size: 1 KiB |
557
airtime_mvc/public/css/qtip/jquery.qtip.css
Normal file
|
@ -0,0 +1,557 @@
|
|||
/*
|
||||
* qTip2 - Pretty powerful tooltips
|
||||
* http://craigsworks.com/projects/qtip2/
|
||||
*
|
||||
* Version: nightly
|
||||
* Copyright 2009-2010 Craig Michael Thompson - http://craigsworks.com
|
||||
*
|
||||
* Dual licensed under MIT or GPLv2 licenses
|
||||
* http://en.wikipedia.org/wiki/MIT_License
|
||||
* http://en.wikipedia.org/wiki/GNU_General_Public_License
|
||||
*
|
||||
* Date: Tue Jan 31 10:16:34.0000000000 2012
|
||||
*/
|
||||
|
||||
/* Core qTip styles */
|
||||
.ui-tooltip, .qtip{
|
||||
position: absolute;
|
||||
left: -28000px;
|
||||
top: -28000px;
|
||||
display: none;
|
||||
|
||||
max-width: 600px;
|
||||
min-width: 50px;
|
||||
|
||||
font-size: 10.5px;
|
||||
line-height: 12px;
|
||||
}
|
||||
|
||||
/* Fluid class for determining actual width in IE */
|
||||
.ui-tooltip-fluid{
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
position: static !important;
|
||||
float: left !important;
|
||||
}
|
||||
|
||||
.ui-tooltip-content{
|
||||
position: relative;
|
||||
padding: 5px 9px;
|
||||
overflow: hidden;
|
||||
|
||||
border: 1px solid #000001;
|
||||
|
||||
text-align: left;
|
||||
word-wrap: break-word;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ui-tooltip-titlebar{
|
||||
position: relative;
|
||||
min-height: 14px;
|
||||
padding: 5px 35px 5px 10px;
|
||||
overflow: hidden;
|
||||
|
||||
border: 1px solid #000001;
|
||||
border-width: 1px 1px 0;
|
||||
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ui-tooltip-titlebar + .ui-tooltip-content{ border-top-width: 0px !important; }
|
||||
|
||||
/*! Default close button class */
|
||||
.ui-tooltip-titlebar .ui-state-default{
|
||||
position: absolute;
|
||||
right: 4px;
|
||||
top: 50%;
|
||||
margin-top: -9px;
|
||||
|
||||
cursor: pointer;
|
||||
outline: medium none;
|
||||
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
* html .ui-tooltip-titlebar .ui-state-default{ top: 16px; } /* IE fix */
|
||||
|
||||
.ui-tooltip-titlebar .ui-icon,
|
||||
.ui-tooltip-icon .ui-icon{
|
||||
display: block;
|
||||
text-indent: -1000em;
|
||||
}
|
||||
|
||||
.ui-tooltip-icon, .ui-tooltip-icon .ui-icon{
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.ui-tooltip-icon .ui-icon{
|
||||
width: 18px;
|
||||
height: 14px;
|
||||
|
||||
text-align: center;
|
||||
text-indent: 0;
|
||||
font: normal bold 10px/13px Tahoma,sans-serif;
|
||||
|
||||
color: inherit;
|
||||
background: transparent none no-repeat -100em -100em;
|
||||
}
|
||||
|
||||
|
||||
/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */
|
||||
.ui-tooltip-focus{
|
||||
|
||||
}
|
||||
|
||||
/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */
|
||||
.ui-tooltip-hover{
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*! Default tooltip style */
|
||||
.ui-tooltip-default .ui-tooltip-titlebar,
|
||||
.ui-tooltip-default .ui-tooltip-content{
|
||||
border-color: #F1D031;
|
||||
background-color: #FFFFA3;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.ui-tooltip-default .ui-tooltip-titlebar{
|
||||
background-color: #FFEF93;
|
||||
}
|
||||
|
||||
.ui-tooltip-default .ui-tooltip-icon{
|
||||
border-color: #CCC;
|
||||
background: #F1F1F1;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{
|
||||
border-color: #AAA;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
/* Tips plugin */
|
||||
.ui-tooltip .ui-tooltip-tip{
|
||||
margin: 0 auto;
|
||||
overflow: hidden;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.ui-tooltip .ui-tooltip-tip,
|
||||
.ui-tooltip .ui-tooltip-tip *{
|
||||
position: absolute;
|
||||
|
||||
line-height: 0.1px !important;
|
||||
font-size: 0.1px !important;
|
||||
color: #123456;
|
||||
|
||||
background: transparent;
|
||||
border: 0px dashed transparent;
|
||||
}
|
||||
|
||||
.ui-tooltip .ui-tooltip-tip canvas{ top: 0; left: 0; }
|
||||
|
||||
|
||||
/* Modal plugin */
|
||||
#qtip-overlay{
|
||||
position: fixed;
|
||||
left: -10000em;
|
||||
top: -10000em;
|
||||
}
|
||||
|
||||
/* Applied to modals with show.modal.blur set to true */
|
||||
#qtip-overlay.blurs{ cursor: pointer; }
|
||||
|
||||
/* Change opacity of overlay here */
|
||||
#qtip-overlay div{
|
||||
position: absolute;
|
||||
left: 0; top: 0;
|
||||
width: 100%; height: 100%;
|
||||
|
||||
background-color: black;
|
||||
|
||||
opacity: 0.7;
|
||||
filter:alpha(opacity=70);
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
|
||||
}
|
||||
|
||||
/*! Light tooltip style */
|
||||
.ui-tooltip-light .ui-tooltip-titlebar,
|
||||
.ui-tooltip-light .ui-tooltip-content{
|
||||
border-color: #E2E2E2;
|
||||
color: #454545;
|
||||
}
|
||||
|
||||
.ui-tooltip-light .ui-tooltip-content{
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.ui-tooltip-light .ui-tooltip-titlebar{
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
|
||||
/*! Dark tooltip style */
|
||||
.ui-tooltip-dark .ui-tooltip-titlebar,
|
||||
.ui-tooltip-dark .ui-tooltip-content{
|
||||
border-color: #303030;
|
||||
color: #f3f3f3;
|
||||
}
|
||||
|
||||
.ui-tooltip-dark .ui-tooltip-content{
|
||||
background-color: #505050;
|
||||
}
|
||||
|
||||
.ui-tooltip-dark .ui-tooltip-titlebar{
|
||||
background-color: #404040;
|
||||
}
|
||||
|
||||
.ui-tooltip-dark .ui-tooltip-icon{
|
||||
border-color: #444;
|
||||
}
|
||||
|
||||
.ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
|
||||
/*! Cream tooltip style */
|
||||
.ui-tooltip-cream .ui-tooltip-titlebar,
|
||||
.ui-tooltip-cream .ui-tooltip-content{
|
||||
border-color: #F9E98E;
|
||||
color: #A27D35;
|
||||
}
|
||||
|
||||
.ui-tooltip-cream .ui-tooltip-content{
|
||||
background-color: #FBF7AA;
|
||||
}
|
||||
|
||||
.ui-tooltip-cream .ui-tooltip-titlebar{
|
||||
background-color: #F0DE7D;
|
||||
}
|
||||
|
||||
.ui-tooltip-cream .ui-state-default .ui-tooltip-icon{
|
||||
background-position: -82px 0;
|
||||
}
|
||||
|
||||
|
||||
/*! Red tooltip style */
|
||||
.ui-tooltip-red .ui-tooltip-titlebar,
|
||||
.ui-tooltip-red .ui-tooltip-content{
|
||||
border-color: #D95252;
|
||||
color: #912323;
|
||||
}
|
||||
|
||||
.ui-tooltip-red .ui-tooltip-content{
|
||||
background-color: #F78B83;
|
||||
}
|
||||
|
||||
.ui-tooltip-red .ui-tooltip-titlebar{
|
||||
background-color: #F06D65;
|
||||
}
|
||||
|
||||
.ui-tooltip-red .ui-state-default .ui-tooltip-icon{
|
||||
background-position: -102px 0;
|
||||
}
|
||||
|
||||
.ui-tooltip-red .ui-tooltip-icon{
|
||||
border-color: #D95252;
|
||||
}
|
||||
|
||||
.ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{
|
||||
border-color: #D95252;
|
||||
}
|
||||
|
||||
|
||||
/*! Green tooltip style */
|
||||
.ui-tooltip-green .ui-tooltip-titlebar,
|
||||
.ui-tooltip-green .ui-tooltip-content{
|
||||
border-color: #90D93F;
|
||||
color: #3F6219;
|
||||
}
|
||||
|
||||
.ui-tooltip-green .ui-tooltip-content{
|
||||
background-color: #CAED9E;
|
||||
}
|
||||
|
||||
.ui-tooltip-green .ui-tooltip-titlebar{
|
||||
background-color: #B0DE78;
|
||||
}
|
||||
|
||||
.ui-tooltip-green .ui-state-default .ui-tooltip-icon{
|
||||
background-position: -42px 0;
|
||||
}
|
||||
|
||||
|
||||
/*! Blue tooltip style */
|
||||
.ui-tooltip-blue .ui-tooltip-titlebar,
|
||||
.ui-tooltip-blue .ui-tooltip-content{
|
||||
border-color: #ADD9ED;
|
||||
color: #5E99BD;
|
||||
}
|
||||
|
||||
.ui-tooltip-blue .ui-tooltip-content{
|
||||
background-color: #E5F6FE;
|
||||
}
|
||||
|
||||
.ui-tooltip-blue .ui-tooltip-titlebar{
|
||||
background-color: #D0E9F5;
|
||||
}
|
||||
|
||||
.ui-tooltip-blue .ui-state-default .ui-tooltip-icon{
|
||||
background-position: -2px 0;
|
||||
}
|
||||
|
||||
/*! Add shadows to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE6+, Safari 2+ */
|
||||
.ui-tooltip-shadow{
|
||||
-webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
|
||||
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.ui-tooltip-shadow .ui-tooltip-titlebar,
|
||||
.ui-tooltip-shadow .ui-tooltip-content{
|
||||
filter: progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3);
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3)";
|
||||
|
||||
_margin-bottom: -3px; /* IE6 */
|
||||
.margin-bottom: -3px; /* IE7 */
|
||||
}
|
||||
|
||||
|
||||
/*! Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */
|
||||
.ui-tooltip-rounded,
|
||||
.ui-tooltip-rounded .ui-tooltip-content,
|
||||
.ui-tooltip-tipsy,
|
||||
.ui-tooltip-tipsy .ui-tooltip-content,
|
||||
.ui-tooltip-youtube,
|
||||
.ui-tooltip-youtube .ui-tooltip-content{
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.ui-tooltip-rounded .ui-tooltip-titlebar,
|
||||
.ui-tooltip-tipsy .ui-tooltip-titlebar,
|
||||
.ui-tooltip-youtube .ui-tooltip-titlebar{
|
||||
-moz-border-radius: 5px 5px 0 0;
|
||||
-webkit-border-radius: 5px 5px 0 0;
|
||||
border-radius: 5px 5px 0 0;
|
||||
}
|
||||
|
||||
.ui-tooltip-rounded .ui-tooltip-titlebar + .ui-tooltip-content,
|
||||
.ui-tooltip-tipsy .ui-tooltip-titlebar + .ui-tooltip-content,
|
||||
.ui-tooltip-youtube .ui-tooltip-titlebar + .ui-tooltip-content{
|
||||
-moz-border-radius: 0 0 5px 5px;
|
||||
-webkit-border-radius: 0 0 5px 5px;
|
||||
border-radius: 0 0 5px 5px;
|
||||
}
|
||||
|
||||
|
||||
/*! Youtube tooltip style */
|
||||
.ui-tooltip-youtube{
|
||||
-webkit-box-shadow: 0 0 3px #333;
|
||||
-moz-box-shadow: 0 0 3px #333;
|
||||
box-shadow: 0 0 3px #333;
|
||||
}
|
||||
|
||||
.ui-tooltip-youtube .ui-tooltip-titlebar,
|
||||
.ui-tooltip-youtube .ui-tooltip-content{
|
||||
_margin-bottom: 0; /* IE6 */
|
||||
.margin-bottom: 0; /* IE7 */
|
||||
|
||||
background: transparent;
|
||||
background: rgba(0, 0, 0, 0.85);
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";
|
||||
|
||||
color: white;
|
||||
border-color: #CCCCCC;
|
||||
}
|
||||
|
||||
.ui-tooltip-youtube .ui-tooltip-icon{
|
||||
border-color: #222;
|
||||
}
|
||||
|
||||
.ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
|
||||
/* jQuery TOOLS Tooltip style */
|
||||
.ui-tooltip-jtools{
|
||||
background: #232323;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
background-image: -moz-linear-gradient(top, #717171, #232323);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));
|
||||
|
||||
border: 2px solid #ddd;
|
||||
border: 2px solid rgba(241,241,241,1);
|
||||
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
|
||||
-webkit-box-shadow: 0 0 12px #333;
|
||||
-moz-box-shadow: 0 0 12px #333;
|
||||
box-shadow: 0 0 12px #333;
|
||||
}
|
||||
|
||||
/* IE Specific */
|
||||
.ui-tooltip-jtools .ui-tooltip-titlebar{
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)";
|
||||
}
|
||||
.ui-tooltip-jtools .ui-tooltip-content{
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)";
|
||||
}
|
||||
|
||||
.ui-tooltip-jtools .ui-tooltip-titlebar,
|
||||
.ui-tooltip-jtools .ui-tooltip-content{
|
||||
background: transparent;
|
||||
color: white;
|
||||
border: 0 dashed transparent;
|
||||
}
|
||||
|
||||
.ui-tooltip-jtools .ui-tooltip-icon{
|
||||
border-color: #555;
|
||||
}
|
||||
|
||||
.ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{
|
||||
border-color: #333;
|
||||
}
|
||||
|
||||
|
||||
/* Cluetip style */
|
||||
.ui-tooltip-cluetip{
|
||||
-webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
|
||||
-moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
|
||||
box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.ui-tooltip-cluetip .ui-tooltip-titlebar{
|
||||
background-color: #87876A;
|
||||
color: white;
|
||||
border: 0 dashed transparent;
|
||||
}
|
||||
|
||||
.ui-tooltip-cluetip .ui-tooltip-content{
|
||||
background-color: #D9D9C2;
|
||||
color: #111;
|
||||
border: 0 dashed transparent;
|
||||
}
|
||||
|
||||
.ui-tooltip-cluetip .ui-tooltip-icon{
|
||||
border-color: #808064;
|
||||
}
|
||||
|
||||
.ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{
|
||||
border-color: #696952;
|
||||
color: #696952;
|
||||
}
|
||||
|
||||
|
||||
/* Tipsy style */
|
||||
.ui-tooltip-tipsy{
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.ui-tooltip-tipsy .ui-tooltip-titlebar,
|
||||
.ui-tooltip-tipsy .ui-tooltip-content{
|
||||
_margin-bottom: 0; /* IE6 */
|
||||
.margin-bottom: 0; /* IE7 */
|
||||
|
||||
background: transparent;
|
||||
background: rgba(0, 0, 0, .87);
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";
|
||||
|
||||
color: white;
|
||||
border: 0px transparent;
|
||||
|
||||
font-size: 11px;
|
||||
font-family: 'Lucida Grande', sans-serif;
|
||||
font-weight: bold;
|
||||
line-height: 16px;
|
||||
text-shadow: 0 1px black;
|
||||
}
|
||||
|
||||
.ui-tooltip-tipsy .ui-tooltip-titlebar{
|
||||
padding: 6px 35px 0 10;
|
||||
}
|
||||
|
||||
.ui-tooltip-tipsy .ui-tooltip-content{
|
||||
padding: 6px 10;
|
||||
}
|
||||
|
||||
.ui-tooltip-tipsy .ui-tooltip-icon{
|
||||
border-color: #222;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{
|
||||
border-color: #303030;
|
||||
}
|
||||
|
||||
|
||||
/* Tipped style */
|
||||
.ui-tooltip-tipped{
|
||||
|
||||
}
|
||||
|
||||
.ui-tooltip-tipped .ui-tooltip-titlebar,
|
||||
.ui-tooltip-tipped .ui-tooltip-content{
|
||||
border: 3px solid #959FA9;
|
||||
|
||||
filter: none; -ms-filter: none;
|
||||
}
|
||||
|
||||
.ui-tooltip-tipped .ui-tooltip-titlebar{
|
||||
background: #3A79B8;
|
||||
background-image: -moz-linear-gradient(top, #3A79B8, #2E629D);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)";
|
||||
|
||||
color: white;
|
||||
font-weight: normal;
|
||||
font-family: serif;
|
||||
|
||||
border-bottom-width: 0;
|
||||
-moz-border-radius: 3px 3px 0 0;
|
||||
-webkit-border-radius: 3px 3px 0 0;
|
||||
border-radius: 3px 3px 0 0;
|
||||
}
|
||||
|
||||
.ui-tooltip-tipped .ui-tooltip-content{
|
||||
background-color: #F9F9F9;
|
||||
color: #454545;
|
||||
|
||||
-moz-border-radius: 0 0 3px 3px;
|
||||
-webkit-border-radius: 0 0 3px 3px;
|
||||
border-radius: 0 0 3px 3px;
|
||||
}
|
||||
|
||||
.ui-tooltip-tipped .ui-tooltip-icon{
|
||||
border: 2px solid #285589;
|
||||
background: #285589;
|
||||
}
|
||||
|
||||
.ui-tooltip-tipped .ui-tooltip-icon .ui-icon{
|
||||
background-color: #FBFBFB;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
/* IE9 fix - removes all filters */
|
||||
.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content,
|
||||
.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{
|
||||
filter: none;
|
||||
-ms-filter: none;
|
||||
}
|
||||
|
|
@ -1,9 +1,5 @@
|
|||
function fnLibraryTableRowCallback( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
|
||||
|
||||
function test() {
|
||||
alert("hi");
|
||||
}
|
||||
|
||||
$(nRow).attr("id", aData["tr_id"]);
|
||||
|
||||
$(nRow).find('td')
|
||||
|
@ -12,8 +8,6 @@ function fnLibraryTableRowCallback( nRow, aData, iDisplayIndex, iDisplayIndexFul
|
|||
{id: aData["id"], type: aData["ftype"]},
|
||||
{xposition: "mouse", yposition: "mouse"});
|
||||
|
||||
//{title:"Menu Item 4 - Js function", action:{type:"fn",callback:function(){ alert('THIS IS THE TEST'); }
|
||||
|
||||
return nRow;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@ function fnLibraryTableRowCallback( nRow, aData, iDisplayIndex, iDisplayIndexFul
|
|||
|
||||
function fnLibraryTableDrawCallback() {
|
||||
addLibraryItemEvents();
|
||||
//addMetadataQtip();
|
||||
//setupGroupActions();
|
||||
}
|
||||
|
||||
function addLibraryItemEvents() {
|
||||
|
|
|
@ -198,57 +198,42 @@ function addQtipToSCIcons(){
|
|||
});
|
||||
}
|
||||
|
||||
function addMetadataQtip(){
|
||||
var tableRow = $('#library_display tbody tr');
|
||||
tableRow.each(function(){
|
||||
var title = $(this).find('td.library_title').html();
|
||||
var info = $(this).attr("id");
|
||||
info = info.split("_");
|
||||
var id = info[1];
|
||||
var type = info[0];
|
||||
$(this).qtip({
|
||||
function fnCreatedRow( nRow, aData, iDataIndex ) {
|
||||
|
||||
//add a tool tip to appear when the user clicks on the type icon.
|
||||
$(nRow.children[1]).qtip({
|
||||
content: {
|
||||
text: "Loading...",
|
||||
title: {
|
||||
text: title
|
||||
text: aData.track_title
|
||||
},
|
||||
ajax: {
|
||||
url: "/Library/get-file-meta-data",
|
||||
type: "post",
|
||||
data: ({format: "html", id : id, type: type}),
|
||||
success: function(data, status){
|
||||
type: "get",
|
||||
data: ({format: "html", id : aData.id, type: aData.ftype}),
|
||||
success: function(data, status) {
|
||||
this.set('content.text', data);
|
||||
}
|
||||
}
|
||||
},
|
||||
position: {
|
||||
target: 'event',
|
||||
adjust: {
|
||||
resize: true,
|
||||
method: "flip flip"
|
||||
},
|
||||
at: "right center",
|
||||
my: "left top",
|
||||
viewport: $(window)
|
||||
my: 'left center',
|
||||
at: 'right center', // Position the tooltip above the link
|
||||
viewport: $(window), // Keep the tooltip on-screen at all times
|
||||
effect: false // Disable positioning animation
|
||||
},
|
||||
style: {
|
||||
width: 570,
|
||||
classes: "ui-tooltip-dark"
|
||||
},
|
||||
show: 'mousedown',
|
||||
events: {
|
||||
show: function(event, api) {
|
||||
// Only show the tooltip if it was a right-click
|
||||
if(event.originalEvent.button !== 2) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
show: {
|
||||
event: 'click',
|
||||
solo: true // Only show one tooltip at a time
|
||||
},
|
||||
hide: 'mouseout',
|
||||
|
||||
tableRow.bind('contextmenu', function(e){
|
||||
return false;
|
||||
}).click(function(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -269,14 +254,6 @@ function getNumEntriesPreference(data) {
|
|||
return parseInt(data.libraryInit.numEntries, 10);
|
||||
}
|
||||
|
||||
function groupAdd() {
|
||||
|
||||
}
|
||||
|
||||
function groupDelete() {
|
||||
|
||||
}
|
||||
|
||||
function createDataTable(data) {
|
||||
var oTable;
|
||||
|
||||
|
@ -295,6 +272,8 @@ function createDataTable(data) {
|
|||
} );
|
||||
},
|
||||
"fnRowCallback": fnLibraryTableRowCallback,
|
||||
"fnCreatedRow": fnCreatedRow,
|
||||
"fnCreatedRowCallback": fnCreatedRow,
|
||||
"fnDrawCallback": fnLibraryTableDrawCallback,
|
||||
"fnHeaderCallback": function(nHead) {
|
||||
$(nHead).find("input[type=checkbox]").attr("checked", false);
|
||||
|
@ -309,7 +288,7 @@ function createDataTable(data) {
|
|||
/* Genre */ {"sTitle": "Genre", "sName": "genre", "mDataProp": "genre", "sClass": "library_genre"},
|
||||
/* Year */ {"sTitle": "Year", "sName": "year", "mDataProp": "year", "sClass": "library_year"},
|
||||
/* Length */ {"sTitle": "Length", "sName": "length", "mDataProp": "length", "sClass": "library_length"},
|
||||
/* Upload Time */ {"sTitle": "Upload Time", "sName": "utime", "mDataProp": "utime", "sClass": "library_upload_time"},
|
||||
/* Upload Time */ {"sTitle": "Uploaded", "sName": "utime", "mDataProp": "utime", "sClass": "library_upload_time"},
|
||||
/* Last Modified */ {"sTitle": "Last Modified", "sName": "mtime", "bVisible": false, "mDataProp": "mtime", "sClass": "library_modified_time"}
|
||||
],
|
||||
"aaSorting": [[2,'asc']],
|
||||
|
|
15834
airtime_mvc/public/js/datatables/js/jquery.dataTables.js
vendored
|
@ -1,151 +1,153 @@
|
|||
/*
|
||||
* File: jquery.dataTables.min.js
|
||||
* Version: 1.8.2
|
||||
* Version: 1.9.0
|
||||
* Author: Allan Jardine (www.sprymedia.co.uk)
|
||||
* Info: www.datatables.net
|
||||
*
|
||||
* Copyright 2008-2011 Allan Jardine, all rights reserved.
|
||||
* Copyright 2008-2012 Allan Jardine, all rights reserved.
|
||||
*
|
||||
* This source file is free software, under either the GPL v2 license or a
|
||||
* BSD style license, as supplied with this software.
|
||||
* BSD style license, available at:
|
||||
* http://datatables.net/license_gpl2
|
||||
* http://datatables.net/license_bsd
|
||||
*
|
||||
* This source file is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
|
||||
*/
|
||||
(function(i,za,p){i.fn.dataTableSettings=[];var D=i.fn.dataTableSettings;i.fn.dataTableExt={};var n=i.fn.dataTableExt;n.sVersion="1.8.2";n.sErrMode="alert";n.iApiIndex=0;n.oApi={};n.afnFiltering=[];n.aoFeatures=[];n.ofnSearch={};n.afnSortData=[];n.oStdClasses={sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",
|
||||
sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",
|
||||
sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:""};n.oJUIClasses={sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",
|
||||
sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",
|
||||
sPageFirst:"first ui-corner-tl ui-corner-bl",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last ui-corner-tr ui-corner-br",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",
|
||||
sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortColumn:"sorting_",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollWrapper:"dataTables_scroll",
|
||||
sScrollHead:"dataTables_scrollHead ui-state-default",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot ui-state-default",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"ui-state-default"};n.oPagination={two_button:{fnInit:function(g,l,s){var t,w,y;if(g.bJUI){t=p.createElement("a");w=p.createElement("a");y=p.createElement("span");y.className=g.oClasses.sPageJUINext;w.appendChild(y);y=p.createElement("span");y.className=g.oClasses.sPageJUIPrev;
|
||||
t.appendChild(y)}else{t=p.createElement("div");w=p.createElement("div")}t.className=g.oClasses.sPagePrevDisabled;w.className=g.oClasses.sPageNextDisabled;t.title=g.oLanguage.oPaginate.sPrevious;w.title=g.oLanguage.oPaginate.sNext;l.appendChild(t);l.appendChild(w);i(t).bind("click.DT",function(){g.oApi._fnPageChange(g,"previous")&&s(g)});i(w).bind("click.DT",function(){g.oApi._fnPageChange(g,"next")&&s(g)});i(t).bind("selectstart.DT",function(){return false});i(w).bind("selectstart.DT",function(){return false});
|
||||
if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){l.setAttribute("id",g.sTableId+"_paginate");t.setAttribute("id",g.sTableId+"_previous");w.setAttribute("id",g.sTableId+"_next")}},fnUpdate:function(g){if(g.aanFeatures.p)for(var l=g.aanFeatures.p,s=0,t=l.length;s<t;s++)if(l[s].childNodes.length!==0){l[s].childNodes[0].className=g._iDisplayStart===0?g.oClasses.sPagePrevDisabled:g.oClasses.sPagePrevEnabled;l[s].childNodes[1].className=g.fnDisplayEnd()==g.fnRecordsDisplay()?g.oClasses.sPageNextDisabled:
|
||||
g.oClasses.sPageNextEnabled}}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(g,l,s){var t=p.createElement("span"),w=p.createElement("span"),y=p.createElement("span"),F=p.createElement("span"),x=p.createElement("span");t.innerHTML=g.oLanguage.oPaginate.sFirst;w.innerHTML=g.oLanguage.oPaginate.sPrevious;F.innerHTML=g.oLanguage.oPaginate.sNext;x.innerHTML=g.oLanguage.oPaginate.sLast;var v=g.oClasses;t.className=v.sPageButton+" "+v.sPageFirst;w.className=v.sPageButton+" "+v.sPagePrevious;F.className=
|
||||
v.sPageButton+" "+v.sPageNext;x.className=v.sPageButton+" "+v.sPageLast;l.appendChild(t);l.appendChild(w);l.appendChild(y);l.appendChild(F);l.appendChild(x);i(t).bind("click.DT",function(){g.oApi._fnPageChange(g,"first")&&s(g)});i(w).bind("click.DT",function(){g.oApi._fnPageChange(g,"previous")&&s(g)});i(F).bind("click.DT",function(){g.oApi._fnPageChange(g,"next")&&s(g)});i(x).bind("click.DT",function(){g.oApi._fnPageChange(g,"last")&&s(g)});i("span",l).bind("mousedown.DT",function(){return false}).bind("selectstart.DT",
|
||||
function(){return false});if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){l.setAttribute("id",g.sTableId+"_paginate");t.setAttribute("id",g.sTableId+"_first");w.setAttribute("id",g.sTableId+"_previous");F.setAttribute("id",g.sTableId+"_next");x.setAttribute("id",g.sTableId+"_last")}},fnUpdate:function(g,l){if(g.aanFeatures.p){var s=n.oPagination.iFullNumbersShowPages,t=Math.floor(s/2),w=Math.ceil(g.fnRecordsDisplay()/g._iDisplayLength),y=Math.ceil(g._iDisplayStart/g._iDisplayLength)+1,F=
|
||||
"",x,v=g.oClasses;if(w<s){t=1;x=w}else if(y<=t){t=1;x=s}else if(y>=w-t){t=w-s+1;x=w}else{t=y-Math.ceil(s/2)+1;x=t+s-1}for(s=t;s<=x;s++)F+=y!=s?'<span class="'+v.sPageButton+'">'+s+"</span>":'<span class="'+v.sPageButtonActive+'">'+s+"</span>";x=g.aanFeatures.p;var z,$=function(M){g._iDisplayStart=(this.innerHTML*1-1)*g._iDisplayLength;l(g);M.preventDefault()},X=function(){return false};s=0;for(t=x.length;s<t;s++)if(x[s].childNodes.length!==0){z=i("span:eq(2)",x[s]);z.html(F);i("span",z).bind("click.DT",
|
||||
$).bind("mousedown.DT",X).bind("selectstart.DT",X);z=x[s].getElementsByTagName("span");z=[z[0],z[1],z[z.length-2],z[z.length-1]];i(z).removeClass(v.sPageButton+" "+v.sPageButtonActive+" "+v.sPageButtonStaticDisabled);if(y==1){z[0].className+=" "+v.sPageButtonStaticDisabled;z[1].className+=" "+v.sPageButtonStaticDisabled}else{z[0].className+=" "+v.sPageButton;z[1].className+=" "+v.sPageButton}if(w===0||y==w||g._iDisplayLength==-1){z[2].className+=" "+v.sPageButtonStaticDisabled;z[3].className+=" "+
|
||||
v.sPageButtonStaticDisabled}else{z[2].className+=" "+v.sPageButton;z[3].className+=" "+v.sPageButton}}}}}};n.oSort={"string-asc":function(g,l){if(typeof g!="string")g="";if(typeof l!="string")l="";g=g.toLowerCase();l=l.toLowerCase();return g<l?-1:g>l?1:0},"string-desc":function(g,l){if(typeof g!="string")g="";if(typeof l!="string")l="";g=g.toLowerCase();l=l.toLowerCase();return g<l?1:g>l?-1:0},"html-asc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return g<
|
||||
l?-1:g>l?1:0},"html-desc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return g<l?1:g>l?-1:0},"date-asc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l==="")l=Date.parse("01/01/1970 00:00:00");return g-l},"date-desc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l==="")l=Date.parse("01/01/1970 00:00:00");return l-
|
||||
g},"numeric-asc":function(g,l){return(g=="-"||g===""?0:g*1)-(l=="-"||l===""?0:l*1)},"numeric-desc":function(g,l){return(l=="-"||l===""?0:l*1)-(g=="-"||g===""?0:g*1)}};n.aTypes=[function(g){if(typeof g=="number")return"numeric";else if(typeof g!="string")return null;var l,s=false;l=g.charAt(0);if("0123456789-".indexOf(l)==-1)return null;for(var t=1;t<g.length;t++){l=g.charAt(t);if("0123456789.".indexOf(l)==-1)return null;if(l=="."){if(s)return null;s=true}}return"numeric"},function(g){var l=Date.parse(g);
|
||||
if(l!==null&&!isNaN(l)||typeof g=="string"&&g.length===0)return"date";return null},function(g){if(typeof g=="string"&&g.indexOf("<")!=-1&&g.indexOf(">")!=-1)return"html";return null}];n.fnVersionCheck=function(g){var l=function(x,v){for(;x.length<v;)x+="0";return x},s=n.sVersion.split(".");g=g.split(".");for(var t="",w="",y=0,F=g.length;y<F;y++){t+=l(s[y],3);w+=l(g[y],3)}return parseInt(t,10)>=parseInt(w,10)};n._oExternConfig={iNextUnique:0};i.fn.dataTable=function(g){function l(){this.fnRecordsTotal=
|
||||
function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length};this.fnRecordsDisplay=function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length};this.fnDisplayEnd=function(){return this.oFeatures.bServerSide?this.oFeatures.bPaginate===false||this._iDisplayLength==-1?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd};this.sInstance=
|
||||
this.oInstance=null;this.oFeatures={bPaginate:true,bLengthChange:true,bFilter:true,bSort:true,bInfo:true,bAutoWidth:true,bProcessing:false,bSortClasses:true,bStateSave:false,bServerSide:false,bDeferRender:false};this.oScroll={sX:"",sXInner:"",sY:"",bCollapse:false,bInfinite:false,iLoadGap:100,iBarWidth:0,bAutoCss:true};this.aanFeatures=[];this.oLanguage={sProcessing:"Processing...",sLengthMenu:"Show _MENU_ entries",sZeroRecords:"No matching records found",sEmptyTable:"No data available in table",
|
||||
sLoadingRecords:"Loading...",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sInfoThousands:",",sSearch:"Search:",sUrl:"",oPaginate:{sFirst:"First",sPrevious:"Previous",sNext:"Next",sLast:"Last"},fnInfoCallback:null};this.aoData=[];this.aiDisplay=[];this.aiDisplayMaster=[];this.aoColumns=[];this.aoHeader=[];this.aoFooter=[];this.iNextId=0;this.asDataSearch=[];this.oPreviousSearch={sSearch:"",
|
||||
bRegex:false,bSmart:true};this.aoPreSearchCols=[];this.aaSorting=[[0,"asc",0]];this.aaSortingFixed=null;this.asStripeClasses=[];this.asDestroyStripes=[];this.sDestroyWidth=0;this.fnFooterCallback=this.fnHeaderCallback=this.fnRowCallback=null;this.aoDrawCallback=[];this.fnInitComplete=this.fnPreDrawCallback=null;this.sTableId="";this.nTableWrapper=this.nTBody=this.nTFoot=this.nTHead=this.nTable=null;this.bInitialised=this.bDeferLoading=false;this.aoOpenRows=[];this.sDom="lfrtip";this.sPaginationType=
|
||||
"two_button";this.iCookieDuration=7200;this.sCookiePrefix="SpryMedia_DataTables_";this.fnCookieCallback=null;this.aoStateSave=[];this.aoStateLoad=[];this.sAjaxSource=this.oLoadedState=null;this.sAjaxDataProp="aaData";this.bAjaxDataGet=true;this.jqXHR=null;this.fnServerData=function(a,b,c,d){d.jqXHR=i.ajax({url:a,data:b,success:function(f){i(d.oInstance).trigger("xhr",d);c(f)},dataType:"json",cache:false,error:function(f,e){e=="parsererror"&&alert("DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})};
|
||||
this.aoServerParams=[];this.fnFormatNumber=function(a){if(a<1E3)return a;else{var b=a+"";a=b.split("");var c="";b=b.length;for(var d=0;d<b;d++){if(d%3===0&&d!==0)c=this.oLanguage.sInfoThousands+c;c=a[b-d-1]+c}}return c};this.aLengthMenu=[10,25,50,100];this.bDrawing=this.iDraw=0;this.iDrawError=-1;this._iDisplayLength=10;this._iDisplayStart=0;this._iDisplayEnd=10;this._iRecordsDisplay=this._iRecordsTotal=0;this.bJUI=false;this.oClasses=n.oStdClasses;this.bSortCellsTop=this.bSorted=this.bFiltered=false;
|
||||
this.oInit=null;this.aoDestroyCallback=[]}function s(a){return function(){var b=[A(this[n.iApiIndex])].concat(Array.prototype.slice.call(arguments));return n.oApi[a].apply(this,b)}}function t(a){var b,c,d=a.iInitDisplayStart;if(a.bInitialised===false)setTimeout(function(){t(a)},200);else{Aa(a);X(a);M(a,a.aoHeader);a.nTFoot&&M(a,a.aoFooter);K(a,true);a.oFeatures.bAutoWidth&&ga(a);b=0;for(c=a.aoColumns.length;b<c;b++)if(a.aoColumns[b].sWidth!==null)a.aoColumns[b].nTh.style.width=q(a.aoColumns[b].sWidth);
|
||||
if(a.oFeatures.bSort)R(a);else if(a.oFeatures.bFilter)N(a,a.oPreviousSearch);else{a.aiDisplay=a.aiDisplayMaster.slice();E(a);C(a)}if(a.sAjaxSource!==null&&!a.oFeatures.bServerSide){c=[];ha(a,c);a.fnServerData.call(a.oInstance,a.sAjaxSource,c,function(f){var e=f;if(a.sAjaxDataProp!=="")e=aa(a.sAjaxDataProp)(f);for(b=0;b<e.length;b++)v(a,e[b]);a.iInitDisplayStart=d;if(a.oFeatures.bSort)R(a);else{a.aiDisplay=a.aiDisplayMaster.slice();E(a);C(a)}K(a,false);w(a,f)},a)}else if(!a.oFeatures.bServerSide){K(a,
|
||||
false);w(a)}}}function w(a,b){a._bInitComplete=true;if(typeof a.fnInitComplete=="function")typeof b!="undefined"?a.fnInitComplete.call(a.oInstance,a,b):a.fnInitComplete.call(a.oInstance,a)}function y(a,b,c){a.oLanguage=i.extend(true,a.oLanguage,b);typeof b.sEmptyTable=="undefined"&&typeof b.sZeroRecords!="undefined"&&o(a.oLanguage,b,"sZeroRecords","sEmptyTable");typeof b.sLoadingRecords=="undefined"&&typeof b.sZeroRecords!="undefined"&&o(a.oLanguage,b,"sZeroRecords","sLoadingRecords");c&&t(a)}function F(a,
|
||||
b){var c=a.aoColumns.length;b={sType:null,_bAutoType:true,bVisible:true,bSearchable:true,bSortable:true,asSorting:["asc","desc"],sSortingClass:a.oClasses.sSortable,sSortingClassJUI:a.oClasses.sSortJUI,sTitle:b?b.innerHTML:"",sName:"",sWidth:null,sWidthOrig:null,sClass:null,fnRender:null,bUseRendered:true,iDataSort:c,mDataProp:c,fnGetData:null,fnSetData:null,sSortDataType:"std",sDefaultContent:null,sContentPadding:"",nTh:b?b:p.createElement("th"),nTf:null};a.aoColumns.push(b);if(typeof a.aoPreSearchCols[c]==
|
||||
"undefined"||a.aoPreSearchCols[c]===null)a.aoPreSearchCols[c]={sSearch:"",bRegex:false,bSmart:true};else{if(typeof a.aoPreSearchCols[c].bRegex=="undefined")a.aoPreSearchCols[c].bRegex=true;if(typeof a.aoPreSearchCols[c].bSmart=="undefined")a.aoPreSearchCols[c].bSmart=true}x(a,c,null)}function x(a,b,c){b=a.aoColumns[b];if(typeof c!="undefined"&&c!==null){if(typeof c.sType!="undefined"){b.sType=c.sType;b._bAutoType=false}o(b,c,"bVisible");o(b,c,"bSearchable");o(b,c,"bSortable");o(b,c,"sTitle");o(b,
|
||||
c,"sName");o(b,c,"sWidth");o(b,c,"sWidth","sWidthOrig");o(b,c,"sClass");o(b,c,"fnRender");o(b,c,"bUseRendered");o(b,c,"iDataSort");o(b,c,"mDataProp");o(b,c,"asSorting");o(b,c,"sSortDataType");o(b,c,"sDefaultContent");o(b,c,"sContentPadding")}b.fnGetData=aa(b.mDataProp);b.fnSetData=Ba(b.mDataProp);if(!a.oFeatures.bSort)b.bSortable=false;if(!b.bSortable||i.inArray("asc",b.asSorting)==-1&&i.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortableNone;b.sSortingClassJUI=""}else if(b.bSortable||
|
||||
i.inArray("asc",b.asSorting)==-1&&i.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortable;b.sSortingClassJUI=a.oClasses.sSortJUI}else if(i.inArray("asc",b.asSorting)!=-1&&i.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortableAsc;b.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed}else if(i.inArray("asc",b.asSorting)==-1&&i.inArray("desc",b.asSorting)!=-1){b.sSortingClass=a.oClasses.sSortableDesc;b.sSortingClassJUI=a.oClasses.sSortJUIDescAllowed}}function v(a,b){var c;
|
||||
c=i.isArray(b)?b.slice():i.extend(true,{},b);b=a.aoData.length;var d={nTr:null,_iId:a.iNextId++,_aData:c,_anHidden:[],_sRowStripe:""};a.aoData.push(d);for(var f,e=0,h=a.aoColumns.length;e<h;e++){c=a.aoColumns[e];typeof c.fnRender=="function"&&c.bUseRendered&&c.mDataProp!==null&&O(a,b,e,c.fnRender({iDataRow:b,iDataColumn:e,aData:d._aData,oSettings:a}));if(c._bAutoType&&c.sType!="string"){f=G(a,b,e,"type");if(f!==null&&f!==""){f=ia(f);if(c.sType===null)c.sType=f;else if(c.sType!=f&&c.sType!="html")c.sType=
|
||||
"string"}}}a.aiDisplayMaster.push(b);a.oFeatures.bDeferRender||z(a,b);return b}function z(a,b){var c=a.aoData[b],d;if(c.nTr===null){c.nTr=p.createElement("tr");typeof c._aData.DT_RowId!="undefined"&&c.nTr.setAttribute("id",c._aData.DT_RowId);typeof c._aData.DT_RowClass!="undefined"&&i(c.nTr).addClass(c._aData.DT_RowClass);for(var f=0,e=a.aoColumns.length;f<e;f++){var h=a.aoColumns[f];d=p.createElement("td");d.innerHTML=typeof h.fnRender=="function"&&(!h.bUseRendered||h.mDataProp===null)?h.fnRender({iDataRow:b,
|
||||
iDataColumn:f,aData:c._aData,oSettings:a}):G(a,b,f,"display");if(h.sClass!==null)d.className=h.sClass;if(h.bVisible){c.nTr.appendChild(d);c._anHidden[f]=null}else c._anHidden[f]=d}}}function $(a){var b,c,d,f,e,h,j,k,m;if(a.bDeferLoading||a.sAjaxSource===null){j=a.nTBody.childNodes;b=0;for(c=j.length;b<c;b++)if(j[b].nodeName.toUpperCase()=="TR"){k=a.aoData.length;a.aoData.push({nTr:j[b],_iId:a.iNextId++,_aData:[],_anHidden:[],_sRowStripe:""});a.aiDisplayMaster.push(k);h=j[b].childNodes;d=e=0;for(f=
|
||||
h.length;d<f;d++){m=h[d].nodeName.toUpperCase();if(m=="TD"||m=="TH"){O(a,k,e,i.trim(h[d].innerHTML));e++}}}}j=ba(a);h=[];b=0;for(c=j.length;b<c;b++){d=0;for(f=j[b].childNodes.length;d<f;d++){e=j[b].childNodes[d];m=e.nodeName.toUpperCase();if(m=="TD"||m=="TH")h.push(e)}}h.length!=j.length*a.aoColumns.length&&J(a,1,"Unexpected number of TD elements. Expected "+j.length*a.aoColumns.length+" and got "+h.length+". DataTables does not support rowspan / colspan in the table body, and there must be one cell for each row/column combination.");
|
||||
d=0;for(f=a.aoColumns.length;d<f;d++){if(a.aoColumns[d].sTitle===null)a.aoColumns[d].sTitle=a.aoColumns[d].nTh.innerHTML;j=a.aoColumns[d]._bAutoType;m=typeof a.aoColumns[d].fnRender=="function";e=a.aoColumns[d].sClass!==null;k=a.aoColumns[d].bVisible;var u,r;if(j||m||e||!k){b=0;for(c=a.aoData.length;b<c;b++){u=h[b*f+d];if(j&&a.aoColumns[d].sType!="string"){r=G(a,b,d,"type");if(r!==""){r=ia(r);if(a.aoColumns[d].sType===null)a.aoColumns[d].sType=r;else if(a.aoColumns[d].sType!=r&&a.aoColumns[d].sType!=
|
||||
"html")a.aoColumns[d].sType="string"}}if(m){r=a.aoColumns[d].fnRender({iDataRow:b,iDataColumn:d,aData:a.aoData[b]._aData,oSettings:a});u.innerHTML=r;a.aoColumns[d].bUseRendered&&O(a,b,d,r)}if(e)u.className+=" "+a.aoColumns[d].sClass;if(k)a.aoData[b]._anHidden[d]=null;else{a.aoData[b]._anHidden[d]=u;u.parentNode.removeChild(u)}}}}}function X(a){var b,c,d;a.nTHead.getElementsByTagName("tr");if(a.nTHead.getElementsByTagName("th").length!==0){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;
|
||||
a.aoColumns[b].sClass!==null&&i(c).addClass(a.aoColumns[b].sClass);if(a.aoColumns[b].sTitle!=c.innerHTML)c.innerHTML=a.aoColumns[b].sTitle}}else{var f=p.createElement("tr");b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;c.innerHTML=a.aoColumns[b].sTitle;a.aoColumns[b].sClass!==null&&i(c).addClass(a.aoColumns[b].sClass);f.appendChild(c)}i(a.nTHead).html("")[0].appendChild(f);Y(a.aoHeader,a.nTHead)}if(a.bJUI){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;f=p.createElement("div");
|
||||
f.className=a.oClasses.sSortJUIWrapper;i(c).contents().appendTo(f);var e=p.createElement("span");e.className=a.oClasses.sSortIcon;f.appendChild(e);c.appendChild(f)}}d=function(){this.onselectstart=function(){return false};return false};if(a.oFeatures.bSort)for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable!==false){ja(a,a.aoColumns[b].nTh,b);i(a.aoColumns[b].nTh).bind("mousedown.DT",d)}else i(a.aoColumns[b].nTh).addClass(a.oClasses.sSortableNone);a.oClasses.sFooterTH!==""&&i(a.nTFoot).children("tr").children("th").addClass(a.oClasses.sFooterTH);
|
||||
if(a.nTFoot!==null){c=S(a,null,a.aoFooter);b=0;for(d=a.aoColumns.length;b<d;b++)if(typeof c[b]!="undefined")a.aoColumns[b].nTf=c[b]}}function M(a,b,c){var d,f,e,h=[],j=[],k=a.aoColumns.length;if(typeof c=="undefined")c=false;d=0;for(f=b.length;d<f;d++){h[d]=b[d].slice();h[d].nTr=b[d].nTr;for(e=k-1;e>=0;e--)!a.aoColumns[e].bVisible&&!c&&h[d].splice(e,1);j.push([])}d=0;for(f=h.length;d<f;d++){if(h[d].nTr){a=0;for(e=h[d].nTr.childNodes.length;a<e;a++)h[d].nTr.removeChild(h[d].nTr.childNodes[0])}e=0;
|
||||
for(b=h[d].length;e<b;e++){k=c=1;if(typeof j[d][e]=="undefined"){h[d].nTr.appendChild(h[d][e].cell);for(j[d][e]=1;typeof h[d+c]!="undefined"&&h[d][e].cell==h[d+c][e].cell;){j[d+c][e]=1;c++}for(;typeof h[d][e+k]!="undefined"&&h[d][e].cell==h[d][e+k].cell;){for(a=0;a<c;a++)j[d+a][e+k]=1;k++}h[d][e].cell.rowSpan=c;h[d][e].cell.colSpan=k}}}}function C(a){var b,c,d=[],f=0,e=false;b=a.asStripeClasses.length;c=a.aoOpenRows.length;if(!(a.fnPreDrawCallback!==null&&a.fnPreDrawCallback.call(a.oInstance,a)===
|
||||
false)){a.bDrawing=true;if(typeof a.iInitDisplayStart!="undefined"&&a.iInitDisplayStart!=-1){a._iDisplayStart=a.oFeatures.bServerSide?a.iInitDisplayStart:a.iInitDisplayStart>=a.fnRecordsDisplay()?0:a.iInitDisplayStart;a.iInitDisplayStart=-1;E(a)}if(a.bDeferLoading){a.bDeferLoading=false;a.iDraw++}else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!Ca(a))return}else a.iDraw++;if(a.aiDisplay.length!==0){var h=a._iDisplayStart,j=a._iDisplayEnd;if(a.oFeatures.bServerSide){h=0;j=a.aoData.length}for(h=
|
||||
h;h<j;h++){var k=a.aoData[a.aiDisplay[h]];k.nTr===null&&z(a,a.aiDisplay[h]);var m=k.nTr;if(b!==0){var u=a.asStripeClasses[f%b];if(k._sRowStripe!=u){i(m).removeClass(k._sRowStripe).addClass(u);k._sRowStripe=u}}if(typeof a.fnRowCallback=="function"){m=a.fnRowCallback.call(a.oInstance,m,a.aoData[a.aiDisplay[h]]._aData,f,h);if(!m&&!e){J(a,0,"A node was not returned by fnRowCallback");e=true}}d.push(m);f++;if(c!==0)for(k=0;k<c;k++)m==a.aoOpenRows[k].nParent&&d.push(a.aoOpenRows[k].nTr)}}else{d[0]=p.createElement("tr");
|
||||
if(typeof a.asStripeClasses[0]!="undefined")d[0].className=a.asStripeClasses[0];e=a.oLanguage.sZeroRecords.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()));if(a.iDraw==1&&a.sAjaxSource!==null&&!a.oFeatures.bServerSide)e=a.oLanguage.sLoadingRecords;else if(typeof a.oLanguage.sEmptyTable!="undefined"&&a.fnRecordsTotal()===0)e=a.oLanguage.sEmptyTable;b=p.createElement("td");b.setAttribute("valign","top");b.colSpan=Z(a);b.className=a.oClasses.sRowEmpty;b.innerHTML=e;d[f].appendChild(b)}typeof a.fnHeaderCallback==
|
||||
"function"&&a.fnHeaderCallback.call(a.oInstance,i(a.nTHead).children("tr")[0],ca(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);typeof a.fnFooterCallback=="function"&&a.fnFooterCallback.call(a.oInstance,i(a.nTFoot).children("tr")[0],ca(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);f=p.createDocumentFragment();b=p.createDocumentFragment();if(a.nTBody){e=a.nTBody.parentNode;b.appendChild(a.nTBody);if(!a.oScroll.bInfinite||!a._bInitComplete||a.bSorted||a.bFiltered){c=a.nTBody.childNodes;for(b=
|
||||
c.length-1;b>=0;b--)c[b].parentNode.removeChild(c[b])}b=0;for(c=d.length;b<c;b++)f.appendChild(d[b]);a.nTBody.appendChild(f);e!==null&&e.appendChild(a.nTBody)}for(b=a.aoDrawCallback.length-1;b>=0;b--)a.aoDrawCallback[b].fn.call(a.oInstance,a);i(a.oInstance).trigger("draw",a);a.bSorted=false;a.bFiltered=false;a.bDrawing=false;if(a.oFeatures.bServerSide){K(a,false);typeof a._bInitComplete=="undefined"&&w(a)}}}function da(a){if(a.oFeatures.bSort)R(a,a.oPreviousSearch);else if(a.oFeatures.bFilter)N(a,
|
||||
a.oPreviousSearch);else{E(a);C(a)}}function Ca(a){if(a.bAjaxDataGet){a.iDraw++;K(a,true);var b=Da(a);ha(a,b);a.fnServerData.call(a.oInstance,a.sAjaxSource,b,function(c){Ea(a,c)},a);return false}else return true}function Da(a){var b=a.aoColumns.length,c=[],d,f;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:ka(a)});c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength",value:a.oFeatures.bPaginate!==false?a._iDisplayLength:
|
||||
-1});for(f=0;f<b;f++){d=a.aoColumns[f].mDataProp;c.push({name:"mDataProp_"+f,value:typeof d=="function"?"function":d})}if(a.oFeatures.bFilter!==false){c.push({name:"sSearch",value:a.oPreviousSearch.sSearch});c.push({name:"bRegex",value:a.oPreviousSearch.bRegex});for(f=0;f<b;f++){c.push({name:"sSearch_"+f,value:a.aoPreSearchCols[f].sSearch});c.push({name:"bRegex_"+f,value:a.aoPreSearchCols[f].bRegex});c.push({name:"bSearchable_"+f,value:a.aoColumns[f].bSearchable})}}if(a.oFeatures.bSort!==false){d=
|
||||
a.aaSortingFixed!==null?a.aaSortingFixed.length:0;var e=a.aaSorting.length;c.push({name:"iSortingCols",value:d+e});for(f=0;f<d;f++){c.push({name:"iSortCol_"+f,value:a.aaSortingFixed[f][0]});c.push({name:"sSortDir_"+f,value:a.aaSortingFixed[f][1]})}for(f=0;f<e;f++){c.push({name:"iSortCol_"+(f+d),value:a.aaSorting[f][0]});c.push({name:"sSortDir_"+(f+d),value:a.aaSorting[f][1]})}for(f=0;f<b;f++)c.push({name:"bSortable_"+f,value:a.aoColumns[f].bSortable})}return c}function ha(a,b){for(var c=0,d=a.aoServerParams.length;c<
|
||||
d;c++)a.aoServerParams[c].fn.call(a.oInstance,b)}function Ea(a,b){if(typeof b.sEcho!="undefined")if(b.sEcho*1<a.iDraw)return;else a.iDraw=b.sEcho*1;if(!a.oScroll.bInfinite||a.oScroll.bInfinite&&(a.bSorted||a.bFiltered))la(a);a._iRecordsTotal=b.iTotalRecords;a._iRecordsDisplay=b.iTotalDisplayRecords;var c=ka(a);if(c=typeof b.sColumns!="undefined"&&c!==""&&b.sColumns!=c)var d=Fa(a,b.sColumns);b=aa(a.sAjaxDataProp)(b);for(var f=0,e=b.length;f<e;f++)if(c){for(var h=[],j=0,k=a.aoColumns.length;j<k;j++)h.push(b[f][d[j]]);
|
||||
v(a,h)}else v(a,b[f]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=false;C(a);a.bAjaxDataGet=true;K(a,false)}function Aa(a){var b=p.createElement("div");a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=p.createElement("div");a.nTableWrapper.className=a.oClasses.sWrapper;a.sTableId!==""&&a.nTableWrapper.setAttribute("id",a.sTableId+"_wrapper");a.nTableReinsertBefore=a.nTable.nextSibling;for(var c=a.nTableWrapper,d=a.sDom.split(""),f,e,h,j,k,m,u,r=0;r<d.length;r++){e=0;h=d[r];if(h==
|
||||
"<"){j=p.createElement("div");k=d[r+1];if(k=="'"||k=='"'){m="";for(u=2;d[r+u]!=k;){m+=d[r+u];u++}if(m=="H")m="fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix";else if(m=="F")m="fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix";if(m.indexOf(".")!=-1){k=m.split(".");j.setAttribute("id",k[0].substr(1,k[0].length-1));j.className=k[1]}else if(m.charAt(0)=="#")j.setAttribute("id",m.substr(1,m.length-1));else j.className=m;r+=u}c.appendChild(j);
|
||||
c=j}else if(h==">")c=c.parentNode;else if(h=="l"&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange){f=Ga(a);e=1}else if(h=="f"&&a.oFeatures.bFilter){f=Ha(a);e=1}else if(h=="r"&&a.oFeatures.bProcessing){f=Ia(a);e=1}else if(h=="t"){f=Ja(a);e=1}else if(h=="i"&&a.oFeatures.bInfo){f=Ka(a);e=1}else if(h=="p"&&a.oFeatures.bPaginate){f=La(a);e=1}else if(n.aoFeatures.length!==0){j=n.aoFeatures;u=0;for(k=j.length;u<k;u++)if(h==j[u].cFeature){if(f=j[u].fnInit(a))e=1;break}}if(e==1&&f!==null){if(typeof a.aanFeatures[h]!=
|
||||
"object")a.aanFeatures[h]=[];a.aanFeatures[h].push(f);c.appendChild(f)}}b.parentNode.replaceChild(a.nTableWrapper,b)}function Ja(a){if(a.oScroll.sX===""&&a.oScroll.sY==="")return a.nTable;var b=p.createElement("div"),c=p.createElement("div"),d=p.createElement("div"),f=p.createElement("div"),e=p.createElement("div"),h=p.createElement("div"),j=a.nTable.cloneNode(false),k=a.nTable.cloneNode(false),m=a.nTable.getElementsByTagName("thead")[0],u=a.nTable.getElementsByTagName("tfoot").length===0?null:a.nTable.getElementsByTagName("tfoot")[0],
|
||||
r=typeof g.bJQueryUI!="undefined"&&g.bJQueryUI?n.oJUIClasses:n.oStdClasses;c.appendChild(d);e.appendChild(h);f.appendChild(a.nTable);b.appendChild(c);b.appendChild(f);d.appendChild(j);j.appendChild(m);if(u!==null){b.appendChild(e);h.appendChild(k);k.appendChild(u)}b.className=r.sScrollWrapper;c.className=r.sScrollHead;d.className=r.sScrollHeadInner;f.className=r.sScrollBody;e.className=r.sScrollFoot;h.className=r.sScrollFootInner;if(a.oScroll.bAutoCss){c.style.overflow="hidden";c.style.position="relative";
|
||||
e.style.overflow="hidden";f.style.overflow="auto"}c.style.border="0";c.style.width="100%";e.style.border="0";d.style.width="150%";j.removeAttribute("id");j.style.marginLeft="0";a.nTable.style.marginLeft="0";if(u!==null){k.removeAttribute("id");k.style.marginLeft="0"}d=i(a.nTable).children("caption");h=0;for(k=d.length;h<k;h++)j.appendChild(d[h]);if(a.oScroll.sX!==""){c.style.width=q(a.oScroll.sX);f.style.width=q(a.oScroll.sX);if(u!==null)e.style.width=q(a.oScroll.sX);i(f).scroll(function(){c.scrollLeft=
|
||||
this.scrollLeft;if(u!==null)e.scrollLeft=this.scrollLeft})}if(a.oScroll.sY!=="")f.style.height=q(a.oScroll.sY);a.aoDrawCallback.push({fn:Ma,sName:"scrolling"});a.oScroll.bInfinite&&i(f).scroll(function(){if(!a.bDrawing)if(i(this).scrollTop()+i(this).height()>i(a.nTable).height()-a.oScroll.iLoadGap)if(a.fnDisplayEnd()<a.fnRecordsDisplay()){ma(a,"next");E(a);C(a)}});a.nScrollHead=c;a.nScrollFoot=e;return b}function Ma(a){var b=a.nScrollHead.getElementsByTagName("div")[0],c=b.getElementsByTagName("table")[0],
|
||||
d=a.nTable.parentNode,f,e,h,j,k,m,u,r,H=[],L=a.nTFoot!==null?a.nScrollFoot.getElementsByTagName("div")[0]:null,T=a.nTFoot!==null?L.getElementsByTagName("table")[0]:null,B=i.browser.msie&&i.browser.version<=7;h=a.nTable.getElementsByTagName("thead");h.length>0&&a.nTable.removeChild(h[0]);if(a.nTFoot!==null){k=a.nTable.getElementsByTagName("tfoot");k.length>0&&a.nTable.removeChild(k[0])}h=a.nTHead.cloneNode(true);a.nTable.insertBefore(h,a.nTable.childNodes[0]);if(a.nTFoot!==null){k=a.nTFoot.cloneNode(true);
|
||||
a.nTable.insertBefore(k,a.nTable.childNodes[1])}if(a.oScroll.sX===""){d.style.width="100%";b.parentNode.style.width="100%"}var U=S(a,h);f=0;for(e=U.length;f<e;f++){u=Na(a,f);U[f].style.width=a.aoColumns[u].sWidth}a.nTFoot!==null&&P(function(I){I.style.width=""},k.getElementsByTagName("tr"));f=i(a.nTable).outerWidth();if(a.oScroll.sX===""){a.nTable.style.width="100%";if(B&&(d.scrollHeight>d.offsetHeight||i(d).css("overflow-y")=="scroll"))a.nTable.style.width=q(i(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sXInner!==
|
||||
"")a.nTable.style.width=q(a.oScroll.sXInner);else if(f==i(d).width()&&i(d).height()<i(a.nTable).height()){a.nTable.style.width=q(f-a.oScroll.iBarWidth);if(i(a.nTable).outerWidth()>f-a.oScroll.iBarWidth)a.nTable.style.width=q(f)}else a.nTable.style.width=q(f);f=i(a.nTable).outerWidth();e=a.nTHead.getElementsByTagName("tr");h=h.getElementsByTagName("tr");P(function(I,na){m=I.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;r=i(I).width();na.style.width=
|
||||
q(r);H.push(r)},h,e);i(h).height(0);if(a.nTFoot!==null){j=k.getElementsByTagName("tr");k=a.nTFoot.getElementsByTagName("tr");P(function(I,na){m=I.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;r=i(I).width();na.style.width=q(r);H.push(r)},j,k);i(j).height(0)}P(function(I){I.innerHTML="";I.style.width=q(H.shift())},h);a.nTFoot!==null&&P(function(I){I.innerHTML="";I.style.width=q(H.shift())},j);if(i(a.nTable).outerWidth()<f){j=d.scrollHeight>d.offsetHeight||
|
||||
i(d).css("overflow-y")=="scroll"?f+a.oScroll.iBarWidth:f;if(B&&(d.scrollHeight>d.offsetHeight||i(d).css("overflow-y")=="scroll"))a.nTable.style.width=q(j-a.oScroll.iBarWidth);d.style.width=q(j);b.parentNode.style.width=q(j);if(a.nTFoot!==null)L.parentNode.style.width=q(j);if(a.oScroll.sX==="")J(a,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width.");else a.oScroll.sXInner!==""&&J(a,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")}else{d.style.width=
|
||||
q("100%");b.parentNode.style.width=q("100%");if(a.nTFoot!==null)L.parentNode.style.width=q("100%")}if(a.oScroll.sY==="")if(B)d.style.height=q(a.nTable.offsetHeight+a.oScroll.iBarWidth);if(a.oScroll.sY!==""&&a.oScroll.bCollapse){d.style.height=q(a.oScroll.sY);B=a.oScroll.sX!==""&&a.nTable.offsetWidth>d.offsetWidth?a.oScroll.iBarWidth:0;if(a.nTable.offsetHeight<d.offsetHeight)d.style.height=q(i(a.nTable).height()+B)}B=i(a.nTable).outerWidth();c.style.width=q(B);b.style.width=q(B+a.oScroll.iBarWidth);
|
||||
if(a.nTFoot!==null){L.style.width=q(a.nTable.offsetWidth+a.oScroll.iBarWidth);T.style.width=q(a.nTable.offsetWidth)}if(a.bSorted||a.bFiltered)d.scrollTop=0}function ea(a){if(a.oFeatures.bAutoWidth===false)return false;ga(a);for(var b=0,c=a.aoColumns.length;b<c;b++)a.aoColumns[b].nTh.style.width=a.aoColumns[b].sWidth}function Ha(a){var b=a.oLanguage.sSearch;b=b.indexOf("_INPUT_")!==-1?b.replace("_INPUT_",'<input type="text" />'):b===""?'<input type="text" />':b+' <input type="text" />';var c=p.createElement("div");
|
||||
c.className=a.oClasses.sFilter;c.innerHTML="<label>"+b+"</label>";a.sTableId!==""&&typeof a.aanFeatures.f=="undefined"&&c.setAttribute("id",a.sTableId+"_filter");b=i("input",c);b.val(a.oPreviousSearch.sSearch.replace('"',"""));b.bind("keyup.DT",function(){for(var d=a.aanFeatures.f,f=0,e=d.length;f<e;f++)d[f]!=i(this).parents("div.dataTables_filter")[0]&&i("input",d[f]).val(this.value);this.value!=a.oPreviousSearch.sSearch&&N(a,{sSearch:this.value,bRegex:a.oPreviousSearch.bRegex,bSmart:a.oPreviousSearch.bSmart})});
|
||||
b.bind("keypress.DT",function(d){if(d.keyCode==13)return false});return c}function N(a,b,c){Oa(a,b.sSearch,c,b.bRegex,b.bSmart);for(b=0;b<a.aoPreSearchCols.length;b++)Pa(a,a.aoPreSearchCols[b].sSearch,b,a.aoPreSearchCols[b].bRegex,a.aoPreSearchCols[b].bSmart);n.afnFiltering.length!==0&&Qa(a);a.bFiltered=true;i(a.oInstance).trigger("filter",a);a._iDisplayStart=0;E(a);C(a);oa(a,0)}function Qa(a){for(var b=n.afnFiltering,c=0,d=b.length;c<d;c++)for(var f=0,e=0,h=a.aiDisplay.length;e<h;e++){var j=a.aiDisplay[e-
|
||||
f];if(!b[c](a,fa(a,j,"filter"),j)){a.aiDisplay.splice(e-f,1);f++}}}function Pa(a,b,c,d,f){if(b!==""){var e=0;b=pa(b,d,f);for(d=a.aiDisplay.length-1;d>=0;d--){f=qa(G(a,a.aiDisplay[d],c,"filter"),a.aoColumns[c].sType);if(!b.test(f)){a.aiDisplay.splice(d,1);e++}}}}function Oa(a,b,c,d,f){var e=pa(b,d,f);if(typeof c=="undefined"||c===null)c=0;if(n.afnFiltering.length!==0)c=1;if(b.length<=0){a.aiDisplay.splice(0,a.aiDisplay.length);a.aiDisplay=a.aiDisplayMaster.slice()}else if(a.aiDisplay.length==a.aiDisplayMaster.length||
|
||||
a.oPreviousSearch.sSearch.length>b.length||c==1||b.indexOf(a.oPreviousSearch.sSearch)!==0){a.aiDisplay.splice(0,a.aiDisplay.length);oa(a,1);for(c=0;c<a.aiDisplayMaster.length;c++)e.test(a.asDataSearch[c])&&a.aiDisplay.push(a.aiDisplayMaster[c])}else{var h=0;for(c=0;c<a.asDataSearch.length;c++)if(!e.test(a.asDataSearch[c])){a.aiDisplay.splice(c-h,1);h++}}a.oPreviousSearch.sSearch=b;a.oPreviousSearch.bRegex=d;a.oPreviousSearch.bSmart=f}function oa(a,b){if(!a.oFeatures.bServerSide){a.asDataSearch.splice(0,
|
||||
a.asDataSearch.length);b=typeof b!="undefined"&&b==1?a.aiDisplayMaster:a.aiDisplay;for(var c=0,d=b.length;c<d;c++)a.asDataSearch[c]=ra(a,fa(a,b[c],"filter"))}}function ra(a,b){var c="";if(typeof a.__nTmpFilter=="undefined")a.__nTmpFilter=p.createElement("div");for(var d=a.__nTmpFilter,f=0,e=a.aoColumns.length;f<e;f++)if(a.aoColumns[f].bSearchable)c+=qa(b[f],a.aoColumns[f].sType)+" ";if(c.indexOf("&")!==-1){d.innerHTML=c;c=d.textContent?d.textContent:d.innerText;c=c.replace(/\n/g," ").replace(/\r/g,
|
||||
"")}return c}function pa(a,b,c){if(c){a=b?a.split(" "):sa(a).split(" ");a="^(?=.*?"+a.join(")(?=.*?")+").*$";return new RegExp(a,"i")}else{a=b?a:sa(a);return new RegExp(a,"i")}}function qa(a,b){if(typeof n.ofnSearch[b]=="function")return n.ofnSearch[b](a);else if(b=="html")return a.replace(/\n/g," ").replace(/<.*?>/g,"");else if(typeof a=="string")return a.replace(/\n/g," ");else if(a===null)return"";return a}function R(a,b){var c,d,f,e,h=[],j=[],k=n.oSort;d=a.aoData;var m=a.aoColumns;if(!a.oFeatures.bServerSide&&
|
||||
(a.aaSorting.length!==0||a.aaSortingFixed!==null)){h=a.aaSortingFixed!==null?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(c=0;c<h.length;c++){var u=h[c][0];f=ta(a,u);e=a.aoColumns[u].sSortDataType;if(typeof n.afnSortData[e]!="undefined"){var r=n.afnSortData[e](a,u,f);f=0;for(e=d.length;f<e;f++)O(a,f,u,r[f])}}c=0;for(d=a.aiDisplayMaster.length;c<d;c++)j[a.aiDisplayMaster[c]]=c;var H=h.length;a.aiDisplayMaster.sort(function(L,T){var B,U;for(c=0;c<H;c++){B=m[h[c][0]].iDataSort;U=m[B].sType;
|
||||
B=k[(U?U:"string")+"-"+h[c][1]](G(a,L,B,"sort"),G(a,T,B,"sort"));if(B!==0)return B}return k["numeric-asc"](j[L],j[T])})}if((typeof b=="undefined"||b)&&!a.oFeatures.bDeferRender)V(a);a.bSorted=true;i(a.oInstance).trigger("sort",a);if(a.oFeatures.bFilter)N(a,a.oPreviousSearch,1);else{a.aiDisplay=a.aiDisplayMaster.slice();a._iDisplayStart=0;E(a);C(a)}}function ja(a,b,c,d){i(b).bind("click.DT",function(f){if(a.aoColumns[c].bSortable!==false){var e=function(){var h,j;if(f.shiftKey){for(var k=false,m=0;m<
|
||||
a.aaSorting.length;m++)if(a.aaSorting[m][0]==c){k=true;h=a.aaSorting[m][0];j=a.aaSorting[m][2]+1;if(typeof a.aoColumns[h].asSorting[j]=="undefined")a.aaSorting.splice(m,1);else{a.aaSorting[m][1]=a.aoColumns[h].asSorting[j];a.aaSorting[m][2]=j}break}k===false&&a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}else if(a.aaSorting.length==1&&a.aaSorting[0][0]==c){h=a.aaSorting[0][0];j=a.aaSorting[0][2]+1;if(typeof a.aoColumns[h].asSorting[j]=="undefined")j=0;a.aaSorting[0][1]=a.aoColumns[h].asSorting[j];
|
||||
a.aaSorting[0][2]=j}else{a.aaSorting.splice(0,a.aaSorting.length);a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}R(a)};if(a.oFeatures.bProcessing){K(a,true);setTimeout(function(){e();a.oFeatures.bServerSide||K(a,false)},0)}else e();typeof d=="function"&&d(a)}})}function V(a){var b,c,d,f,e,h=a.aoColumns.length,j=a.oClasses;for(b=0;b<h;b++)a.aoColumns[b].bSortable&&i(a.aoColumns[b].nTh).removeClass(j.sSortAsc+" "+j.sSortDesc+" "+a.aoColumns[b].sSortingClass);f=a.aaSortingFixed!==null?a.aaSortingFixed.concat(a.aaSorting):
|
||||
a.aaSorting.slice();for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable){e=a.aoColumns[b].sSortingClass;d=-1;for(c=0;c<f.length;c++)if(f[c][0]==b){e=f[c][1]=="asc"?j.sSortAsc:j.sSortDesc;d=c;break}i(a.aoColumns[b].nTh).addClass(e);if(a.bJUI){c=i("span",a.aoColumns[b].nTh);c.removeClass(j.sSortJUIAsc+" "+j.sSortJUIDesc+" "+j.sSortJUI+" "+j.sSortJUIAscAllowed+" "+j.sSortJUIDescAllowed);c.addClass(d==-1?a.aoColumns[b].sSortingClassJUI:f[d][1]=="asc"?j.sSortJUIAsc:j.sSortJUIDesc)}}else i(a.aoColumns[b].nTh).addClass(a.aoColumns[b].sSortingClass);
|
||||
e=j.sSortColumn;if(a.oFeatures.bSort&&a.oFeatures.bSortClasses){d=Q(a);if(a.oFeatures.bDeferRender)i(d).removeClass(e+"1 "+e+"2 "+e+"3");else if(d.length>=h)for(b=0;b<h;b++)if(d[b].className.indexOf(e+"1")!=-1){c=0;for(a=d.length/h;c<a;c++)d[h*c+b].className=i.trim(d[h*c+b].className.replace(e+"1",""))}else if(d[b].className.indexOf(e+"2")!=-1){c=0;for(a=d.length/h;c<a;c++)d[h*c+b].className=i.trim(d[h*c+b].className.replace(e+"2",""))}else if(d[b].className.indexOf(e+"3")!=-1){c=0;for(a=d.length/
|
||||
h;c<a;c++)d[h*c+b].className=i.trim(d[h*c+b].className.replace(" "+e+"3",""))}j=1;var k;for(b=0;b<f.length;b++){k=parseInt(f[b][0],10);c=0;for(a=d.length/h;c<a;c++)d[h*c+k].className+=" "+e+j;j<3&&j++}}}function La(a){if(a.oScroll.bInfinite)return null;var b=p.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType;n.oPagination[a.sPaginationType].fnInit(a,b,function(c){E(c);C(c)});typeof a.aanFeatures.p=="undefined"&&a.aoDrawCallback.push({fn:function(c){n.oPagination[c.sPaginationType].fnUpdate(c,
|
||||
function(d){E(d);C(d)})},sName:"pagination"});return b}function ma(a,b){var c=a._iDisplayStart;if(b=="first")a._iDisplayStart=0;else if(b=="previous"){a._iDisplayStart=a._iDisplayLength>=0?a._iDisplayStart-a._iDisplayLength:0;if(a._iDisplayStart<0)a._iDisplayStart=0}else if(b=="next")if(a._iDisplayLength>=0){if(a._iDisplayStart+a._iDisplayLength<a.fnRecordsDisplay())a._iDisplayStart+=a._iDisplayLength}else a._iDisplayStart=0;else if(b=="last")if(a._iDisplayLength>=0){b=parseInt((a.fnRecordsDisplay()-
|
||||
1)/a._iDisplayLength,10)+1;a._iDisplayStart=(b-1)*a._iDisplayLength}else a._iDisplayStart=0;else J(a,0,"Unknown paging action: "+b);i(a.oInstance).trigger("page",a);return c!=a._iDisplayStart}function Ka(a){var b=p.createElement("div");b.className=a.oClasses.sInfo;if(typeof a.aanFeatures.i=="undefined"){a.aoDrawCallback.push({fn:Ra,sName:"information"});a.sTableId!==""&&b.setAttribute("id",a.sTableId+"_info")}return b}function Ra(a){if(!(!a.oFeatures.bInfo||a.aanFeatures.i.length===0)){var b=a._iDisplayStart+
|
||||
1,c=a.fnDisplayEnd(),d=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),e=a.fnFormatNumber(b),h=a.fnFormatNumber(c),j=a.fnFormatNumber(d),k=a.fnFormatNumber(f);if(a.oScroll.bInfinite)e=a.fnFormatNumber(1);e=a.fnRecordsDisplay()===0&&a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfoEmpty+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()===0?a.oLanguage.sInfoEmpty+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",j)+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfo.replace("_START_",
|
||||
e).replace("_END_",h).replace("_TOTAL_",k)+a.oLanguage.sInfoPostFix:a.oLanguage.sInfo.replace("_START_",e).replace("_END_",h).replace("_TOTAL_",k)+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()))+a.oLanguage.sInfoPostFix;if(a.oLanguage.fnInfoCallback!==null)e=a.oLanguage.fnInfoCallback(a,b,c,d,f,e);a=a.aanFeatures.i;b=0;for(c=a.length;b<c;b++)i(a[b]).html(e)}}function Ga(a){if(a.oScroll.bInfinite)return null;var b='<select size="1" '+(a.sTableId===""?"":'name="'+
|
||||
a.sTableId+'_length"')+">",c,d;if(a.aLengthMenu.length==2&&typeof a.aLengthMenu[0]=="object"&&typeof a.aLengthMenu[1]=="object"){c=0;for(d=a.aLengthMenu[0].length;c<d;c++)b+='<option value="'+a.aLengthMenu[0][c]+'">'+a.aLengthMenu[1][c]+"</option>"}else{c=0;for(d=a.aLengthMenu.length;c<d;c++)b+='<option value="'+a.aLengthMenu[c]+'">'+a.aLengthMenu[c]+"</option>"}b+="</select>";var f=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.l=="undefined"&&f.setAttribute("id",a.sTableId+"_length");
|
||||
f.className=a.oClasses.sLength;f.innerHTML="<label>"+a.oLanguage.sLengthMenu.replace("_MENU_",b)+"</label>";i('select option[value="'+a._iDisplayLength+'"]',f).attr("selected",true);i("select",f).bind("change.DT",function(){var e=i(this).val(),h=a.aanFeatures.l;c=0;for(d=h.length;c<d;c++)h[c]!=this.parentNode&&i("select",h[c]).val(e);a._iDisplayLength=parseInt(e,10);E(a);if(a.fnDisplayEnd()==a.fnRecordsDisplay()){a._iDisplayStart=a.fnDisplayEnd()-a._iDisplayLength;if(a._iDisplayStart<0)a._iDisplayStart=
|
||||
0}if(a._iDisplayLength==-1)a._iDisplayStart=0;C(a)});return f}function Ia(a){var b=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.r=="undefined"&&b.setAttribute("id",a.sTableId+"_processing");b.innerHTML=a.oLanguage.sProcessing;b.className=a.oClasses.sProcessing;a.nTable.parentNode.insertBefore(b,a.nTable);return b}function K(a,b){if(a.oFeatures.bProcessing){a=a.aanFeatures.r;for(var c=0,d=a.length;c<d;c++)a[c].style.visibility=b?"visible":"hidden"}}function Na(a,b){for(var c=-1,d=0;d<
|
||||
a.aoColumns.length;d++){a.aoColumns[d].bVisible===true&&c++;if(c==b)return d}return null}function ta(a,b){for(var c=-1,d=0;d<a.aoColumns.length;d++){a.aoColumns[d].bVisible===true&&c++;if(d==b)return a.aoColumns[d].bVisible===true?c:null}return null}function W(a,b){var c,d;c=a._iDisplayStart;for(d=a._iDisplayEnd;c<d;c++)if(a.aoData[a.aiDisplay[c]].nTr==b)return a.aiDisplay[c];c=0;for(d=a.aoData.length;c<d;c++)if(a.aoData[c].nTr==b)return c;return null}function Z(a){for(var b=0,c=0;c<a.aoColumns.length;c++)a.aoColumns[c].bVisible===
|
||||
true&&b++;return b}function E(a){a._iDisplayEnd=a.oFeatures.bPaginate===false?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength>a.aiDisplay.length||a._iDisplayLength==-1?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Sa(a,b){if(!a||a===null||a==="")return 0;if(typeof b=="undefined")b=p.getElementsByTagName("body")[0];var c=p.createElement("div");c.style.width=q(a);b.appendChild(c);a=c.offsetWidth;b.removeChild(c);return a}function ga(a){var b=0,c,d=0,f=a.aoColumns.length,e,h=i("th",
|
||||
a.nTHead);for(e=0;e<f;e++)if(a.aoColumns[e].bVisible){d++;if(a.aoColumns[e].sWidth!==null){c=Sa(a.aoColumns[e].sWidthOrig,a.nTable.parentNode);if(c!==null)a.aoColumns[e].sWidth=q(c);b++}}if(f==h.length&&b===0&&d==f&&a.oScroll.sX===""&&a.oScroll.sY==="")for(e=0;e<a.aoColumns.length;e++){c=i(h[e]).width();if(c!==null)a.aoColumns[e].sWidth=q(c)}else{b=a.nTable.cloneNode(false);e=a.nTHead.cloneNode(true);d=p.createElement("tbody");c=p.createElement("tr");b.removeAttribute("id");b.appendChild(e);if(a.nTFoot!==
|
||||
null){b.appendChild(a.nTFoot.cloneNode(true));P(function(k){k.style.width=""},b.getElementsByTagName("tr"))}b.appendChild(d);d.appendChild(c);d=i("thead th",b);if(d.length===0)d=i("tbody tr:eq(0)>td",b);h=S(a,e);for(e=d=0;e<f;e++){var j=a.aoColumns[e];if(j.bVisible&&j.sWidthOrig!==null&&j.sWidthOrig!=="")h[e-d].style.width=q(j.sWidthOrig);else if(j.bVisible)h[e-d].style.width="";else d++}for(e=0;e<f;e++)if(a.aoColumns[e].bVisible){d=Ta(a,e);if(d!==null){d=d.cloneNode(true);if(a.aoColumns[e].sContentPadding!==
|
||||
"")d.innerHTML+=a.aoColumns[e].sContentPadding;c.appendChild(d)}}f=a.nTable.parentNode;f.appendChild(b);if(a.oScroll.sX!==""&&a.oScroll.sXInner!=="")b.style.width=q(a.oScroll.sXInner);else if(a.oScroll.sX!==""){b.style.width="";if(i(b).width()<f.offsetWidth)b.style.width=q(f.offsetWidth)}else if(a.oScroll.sY!=="")b.style.width=q(f.offsetWidth);b.style.visibility="hidden";Ua(a,b);f=i("tbody tr:eq(0)",b).children();if(f.length===0)f=S(a,i("thead",b)[0]);if(a.oScroll.sX!==""){for(e=d=c=0;e<a.aoColumns.length;e++)if(a.aoColumns[e].bVisible){c+=
|
||||
a.aoColumns[e].sWidthOrig===null?i(f[d]).outerWidth():parseInt(a.aoColumns[e].sWidth.replace("px",""),10)+(i(f[d]).outerWidth()-i(f[d]).width());d++}b.style.width=q(c);a.nTable.style.width=q(c)}for(e=d=0;e<a.aoColumns.length;e++)if(a.aoColumns[e].bVisible){c=i(f[d]).width();if(c!==null&&c>0)a.aoColumns[e].sWidth=q(c);d++}a.nTable.style.width=q(i(b).outerWidth());b.parentNode.removeChild(b)}}function Ua(a,b){if(a.oScroll.sX===""&&a.oScroll.sY!==""){i(b).width();b.style.width=q(i(b).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sX!==
|
||||
"")b.style.width=q(i(b).outerWidth())}function Ta(a,b){var c=Va(a,b);if(c<0)return null;if(a.aoData[c].nTr===null){var d=p.createElement("td");d.innerHTML=G(a,c,b,"");return d}return Q(a,c)[b]}function Va(a,b){for(var c=-1,d=-1,f=0;f<a.aoData.length;f++){var e=G(a,f,b,"display")+"";e=e.replace(/<.*?>/g,"");if(e.length>c){c=e.length;d=f}}return d}function q(a){if(a===null)return"0px";if(typeof a=="number"){if(a<0)return"0px";return a+"px"}var b=a.charCodeAt(a.length-1);if(b<48||b>57)return a;return a+
|
||||
"px"}function Za(a,b){if(a.length!=b.length)return 1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return 2;return 0}function ia(a){for(var b=n.aTypes,c=b.length,d=0;d<c;d++){var f=b[d](a);if(f!==null)return f}return"string"}function A(a){for(var b=0;b<D.length;b++)if(D[b].nTable==a)return D[b];return null}function ca(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d]._aData);return b}function ba(a){for(var b=[],c=0,d=a.aoData.length;c<d;c++)a.aoData[c].nTr!==null&&b.push(a.aoData[c].nTr);
|
||||
return b}function Q(a,b){var c=[],d,f,e,h,j;f=0;var k=a.aoData.length;if(typeof b!="undefined"){f=b;k=b+1}for(f=f;f<k;f++){j=a.aoData[f];if(j.nTr!==null){b=[];e=0;for(h=j.nTr.childNodes.length;e<h;e++){d=j.nTr.childNodes[e].nodeName.toLowerCase();if(d=="td"||d=="th")b.push(j.nTr.childNodes[e])}e=d=0;for(h=a.aoColumns.length;e<h;e++)if(a.aoColumns[e].bVisible)c.push(b[e-d]);else{c.push(j._anHidden[e]);d++}}}return c}function sa(a){return a.replace(new RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^)",
|
||||
"g"),"\\$1")}function ua(a,b){for(var c=-1,d=0,f=a.length;d<f;d++)if(a[d]==b)c=d;else a[d]>b&&a[d]--;c!=-1&&a.splice(c,1)}function Fa(a,b){b=b.split(",");for(var c=[],d=0,f=a.aoColumns.length;d<f;d++)for(var e=0;e<f;e++)if(a.aoColumns[d].sName==b[e]){c.push(e);break}return c}function ka(a){for(var b="",c=0,d=a.aoColumns.length;c<d;c++)b+=a.aoColumns[c].sName+",";if(b.length==d)return"";return b.slice(0,-1)}function J(a,b,c){a=a.sTableId===""?"DataTables warning: "+c:"DataTables warning (table id = '"+
|
||||
a.sTableId+"'): "+c;if(b===0)if(n.sErrMode=="alert")alert(a);else throw a;else typeof console!="undefined"&&typeof console.log!="undefined"&&console.log(a)}function la(a){a.aoData.splice(0,a.aoData.length);a.aiDisplayMaster.splice(0,a.aiDisplayMaster.length);a.aiDisplay.splice(0,a.aiDisplay.length);E(a)}function va(a){if(!(!a.oFeatures.bStateSave||typeof a.bDestroying!="undefined")){var b,c,d,f="{";f+='"iCreate":'+(new Date).getTime()+",";f+='"iStart":'+(a.oScroll.bInfinite?0:a._iDisplayStart)+",";
|
||||
f+='"iEnd":'+(a.oScroll.bInfinite?a._iDisplayLength:a._iDisplayEnd)+",";f+='"iLength":'+a._iDisplayLength+",";f+='"sFilter":"'+encodeURIComponent(a.oPreviousSearch.sSearch)+'",';f+='"sFilterEsc":'+!a.oPreviousSearch.bRegex+",";f+='"aaSorting":[ ';for(b=0;b<a.aaSorting.length;b++)f+="["+a.aaSorting[b][0]+',"'+a.aaSorting[b][1]+'"],';f=f.substring(0,f.length-1);f+="],";f+='"aaSearchCols":[ ';for(b=0;b<a.aoPreSearchCols.length;b++)f+='["'+encodeURIComponent(a.aoPreSearchCols[b].sSearch)+'",'+!a.aoPreSearchCols[b].bRegex+
|
||||
"],";f=f.substring(0,f.length-1);f+="],";f+='"abVisCols":[ ';for(b=0;b<a.aoColumns.length;b++)f+=a.aoColumns[b].bVisible+",";f=f.substring(0,f.length-1);f+="]";b=0;for(c=a.aoStateSave.length;b<c;b++){d=a.aoStateSave[b].fn(a,f);if(d!=="")f=d}f+="}";Wa(a.sCookiePrefix+a.sInstance,f,a.iCookieDuration,a.sCookiePrefix,a.fnCookieCallback)}}function Xa(a,b){if(a.oFeatures.bStateSave){var c,d,f;d=wa(a.sCookiePrefix+a.sInstance);if(d!==null&&d!==""){try{c=typeof i.parseJSON=="function"?i.parseJSON(d.replace(/'/g,
|
||||
'"')):eval("("+d+")")}catch(e){return}d=0;for(f=a.aoStateLoad.length;d<f;d++)if(!a.aoStateLoad[d].fn(a,c))return;a.oLoadedState=i.extend(true,{},c);a._iDisplayStart=c.iStart;a.iInitDisplayStart=c.iStart;a._iDisplayEnd=c.iEnd;a._iDisplayLength=c.iLength;a.oPreviousSearch.sSearch=decodeURIComponent(c.sFilter);a.aaSorting=c.aaSorting.slice();a.saved_aaSorting=c.aaSorting.slice();if(typeof c.sFilterEsc!="undefined")a.oPreviousSearch.bRegex=!c.sFilterEsc;if(typeof c.aaSearchCols!="undefined")for(d=0;d<
|
||||
c.aaSearchCols.length;d++)a.aoPreSearchCols[d]={sSearch:decodeURIComponent(c.aaSearchCols[d][0]),bRegex:!c.aaSearchCols[d][1]};if(typeof c.abVisCols!="undefined"){b.saved_aoColumns=[];for(d=0;d<c.abVisCols.length;d++){b.saved_aoColumns[d]={};b.saved_aoColumns[d].bVisible=c.abVisCols[d]}}}}}function Wa(a,b,c,d,f){var e=new Date;e.setTime(e.getTime()+c*1E3);c=za.location.pathname.split("/");a=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase();var h;if(f!==null){h=typeof i.parseJSON=="function"?i.parseJSON(b):
|
||||
eval("("+b+")");b=f(a,h,e.toGMTString(),c.join("/")+"/")}else b=a+"="+encodeURIComponent(b)+"; expires="+e.toGMTString()+"; path="+c.join("/")+"/";f="";e=9999999999999;if((wa(a)!==null?p.cookie.length:b.length+p.cookie.length)+10>4096){a=p.cookie.split(";");for(var j=0,k=a.length;j<k;j++)if(a[j].indexOf(d)!=-1){var m=a[j].split("=");try{h=eval("("+decodeURIComponent(m[1])+")")}catch(u){continue}if(typeof h.iCreate!="undefined"&&h.iCreate<e){f=m[0];e=h.iCreate}}if(f!=="")p.cookie=f+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+
|
||||
c.join("/")+"/"}p.cookie=b}function wa(a){var b=za.location.pathname.split("/");a=a+"_"+b[b.length-1].replace(/[\/:]/g,"").toLowerCase()+"=";b=p.cookie.split(";");for(var c=0;c<b.length;c++){for(var d=b[c];d.charAt(0)==" ";)d=d.substring(1,d.length);if(d.indexOf(a)===0)return decodeURIComponent(d.substring(a.length,d.length))}return null}function Y(a,b){b=i(b).children("tr");var c,d,f,e,h,j,k,m,u=function(L,T,B){for(;typeof L[T][B]!="undefined";)B++;return B};a.splice(0,a.length);d=0;for(j=b.length;d<
|
||||
j;d++)a.push([]);d=0;for(j=b.length;d<j;d++){f=0;for(k=b[d].childNodes.length;f<k;f++){c=b[d].childNodes[f];if(c.nodeName.toUpperCase()=="TD"||c.nodeName.toUpperCase()=="TH"){var r=c.getAttribute("colspan")*1,H=c.getAttribute("rowspan")*1;r=!r||r===0||r===1?1:r;H=!H||H===0||H===1?1:H;m=u(a,d,0);for(h=0;h<r;h++)for(e=0;e<H;e++){a[d+e][m+h]={cell:c,unique:r==1?true:false};a[d+e].nTr=b[d]}}}}}function S(a,b,c){var d=[];if(typeof c=="undefined"){c=a.aoHeader;if(typeof b!="undefined"){c=[];Y(c,b)}}b=0;
|
||||
for(var f=c.length;b<f;b++)for(var e=0,h=c[b].length;e<h;e++)if(c[b][e].unique&&(typeof d[e]=="undefined"||!a.bSortCellsTop))d[e]=c[b][e].cell;return d}function Ya(){var a=p.createElement("p"),b=a.style;b.width="100%";b.height="200px";b.padding="0px";var c=p.createElement("div");b=c.style;b.position="absolute";b.top="0px";b.left="0px";b.visibility="hidden";b.width="200px";b.height="150px";b.padding="0px";b.overflow="hidden";c.appendChild(a);p.body.appendChild(c);b=a.offsetWidth;c.style.overflow="scroll";
|
||||
a=a.offsetWidth;if(b==a)a=c.clientWidth;p.body.removeChild(c);return b-a}function P(a,b,c){for(var d=0,f=b.length;d<f;d++)for(var e=0,h=b[d].childNodes.length;e<h;e++)if(b[d].childNodes[e].nodeType==1)typeof c!="undefined"?a(b[d].childNodes[e],c[d].childNodes[e]):a(b[d].childNodes[e])}function o(a,b,c,d){if(typeof d=="undefined")d=c;if(typeof b[c]!="undefined")a[d]=b[c]}function fa(a,b,c){for(var d=[],f=0,e=a.aoColumns.length;f<e;f++)d.push(G(a,b,f,c));return d}function G(a,b,c,d){var f=a.aoColumns[c];
|
||||
if((c=f.fnGetData(a.aoData[b]._aData))===undefined){if(a.iDrawError!=a.iDraw&&f.sDefaultContent===null){J(a,0,"Requested unknown parameter '"+f.mDataProp+"' from the data source for row "+b);a.iDrawError=a.iDraw}return f.sDefaultContent}if(c===null&&f.sDefaultContent!==null)c=f.sDefaultContent;else if(typeof c=="function")return c();if(d=="display"&&c===null)return"";return c}function O(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d)}function aa(a){if(a===null)return function(){return null};
|
||||
else if(typeof a=="function")return function(c){return a(c)};else if(typeof a=="string"&&a.indexOf(".")!=-1){var b=a.split(".");return b.length==2?function(c){return c[b[0]][b[1]]}:b.length==3?function(c){return c[b[0]][b[1]][b[2]]}:function(c){for(var d=0,f=b.length;d<f;d++)c=c[b[d]];return c}}else return function(c){return c[a]}}function Ba(a){if(a===null)return function(){};else if(typeof a=="function")return function(c,d){return a(c,d)};else if(typeof a=="string"&&a.indexOf(".")!=-1){var b=a.split(".");
|
||||
return b.length==2?function(c,d){c[b[0]][b[1]]=d}:b.length==3?function(c,d){c[b[0]][b[1]][b[2]]=d}:function(c,d){for(var f=0,e=b.length-1;f<e;f++)c=c[b[f]];c[b[b.length-1]]=d}}else return function(c,d){c[a]=d}}this.oApi={};this.fnDraw=function(a){var b=A(this[n.iApiIndex]);if(typeof a!="undefined"&&a===false){E(b);C(b)}else da(b)};this.fnFilter=function(a,b,c,d,f){var e=A(this[n.iApiIndex]);if(e.oFeatures.bFilter){if(typeof c=="undefined")c=false;if(typeof d=="undefined")d=true;if(typeof f=="undefined")f=
|
||||
true;if(typeof b=="undefined"||b===null){N(e,{sSearch:a,bRegex:c,bSmart:d},1);if(f&&typeof e.aanFeatures.f!="undefined"){b=e.aanFeatures.f;c=0;for(d=b.length;c<d;c++)i("input",b[c]).val(a)}}else{e.aoPreSearchCols[b].sSearch=a;e.aoPreSearchCols[b].bRegex=c;e.aoPreSearchCols[b].bSmart=d;N(e,e.oPreviousSearch,1)}}};this.fnSettings=function(){return A(this[n.iApiIndex])};this.fnVersionCheck=n.fnVersionCheck;this.fnSort=function(a){var b=A(this[n.iApiIndex]);b.aaSorting=a;R(b)};this.fnSortListener=function(a,
|
||||
b,c){ja(A(this[n.iApiIndex]),a,b,c)};this.fnAddData=function(a,b){if(a.length===0)return[];var c=[],d,f=A(this[n.iApiIndex]);if(typeof a[0]=="object")for(var e=0;e<a.length;e++){d=v(f,a[e]);if(d==-1)return c;c.push(d)}else{d=v(f,a);if(d==-1)return c;c.push(d)}f.aiDisplay=f.aiDisplayMaster.slice();if(typeof b=="undefined"||b)da(f);return c};this.fnDeleteRow=function(a,b,c){var d=A(this[n.iApiIndex]);a=typeof a=="object"?W(d,a):a;var f=d.aoData.splice(a,1),e=i.inArray(a,d.aiDisplay);d.asDataSearch.splice(e,
|
||||
1);ua(d.aiDisplayMaster,a);ua(d.aiDisplay,a);typeof b=="function"&&b.call(this,d,f);if(d._iDisplayStart>=d.aiDisplay.length){d._iDisplayStart-=d._iDisplayLength;if(d._iDisplayStart<0)d._iDisplayStart=0}if(typeof c=="undefined"||c){E(d);C(d)}return f};this.fnClearTable=function(a){var b=A(this[n.iApiIndex]);la(b);if(typeof a=="undefined"||a)C(b)};this.fnOpen=function(a,b,c){var d=A(this[n.iApiIndex]);this.fnClose(a);var f=p.createElement("tr"),e=p.createElement("td");f.appendChild(e);e.className=c;
|
||||
e.colSpan=Z(d);if(typeof b.jquery!="undefined"||typeof b=="object")e.appendChild(b);else e.innerHTML=b;b=i("tr",d.nTBody);i.inArray(a,b)!=-1&&i(f).insertAfter(a);d.aoOpenRows.push({nTr:f,nParent:a});return f};this.fnClose=function(a){for(var b=A(this[n.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a){(a=b.aoOpenRows[c].nTr.parentNode)&&a.removeChild(b.aoOpenRows[c].nTr);b.aoOpenRows.splice(c,1);return 0}return 1};this.fnGetData=function(a,b){var c=A(this[n.iApiIndex]);if(typeof a!=
|
||||
"undefined"){a=typeof a=="object"?W(c,a):a;if(typeof b!="undefined")return G(c,a,b,"");return typeof c.aoData[a]!="undefined"?c.aoData[a]._aData:null}return ca(c)};this.fnGetNodes=function(a){var b=A(this[n.iApiIndex]);if(typeof a!="undefined")return typeof b.aoData[a]!="undefined"?b.aoData[a].nTr:null;return ba(b)};this.fnGetPosition=function(a){var b=A(this[n.iApiIndex]),c=a.nodeName.toUpperCase();if(c=="TR")return W(b,a);else if(c=="TD"||c=="TH"){c=W(b,a.parentNode);for(var d=Q(b,c),f=0;f<b.aoColumns.length;f++)if(d[f]==
|
||||
a)return[c,ta(b,f),f]}return null};this.fnUpdate=function(a,b,c,d,f){var e=A(this[n.iApiIndex]);b=typeof b=="object"?W(e,b):b;if(i.isArray(a)&&typeof a=="object"){e.aoData[b]._aData=a.slice();for(c=0;c<e.aoColumns.length;c++)this.fnUpdate(G(e,b,c),b,c,false,false)}else if(a!==null&&typeof a=="object"){e.aoData[b]._aData=i.extend(true,{},a);for(c=0;c<e.aoColumns.length;c++)this.fnUpdate(G(e,b,c),b,c,false,false)}else{a=a;O(e,b,c,a);if(e.aoColumns[c].fnRender!==null){a=e.aoColumns[c].fnRender({iDataRow:b,
|
||||
iDataColumn:c,aData:e.aoData[b]._aData,oSettings:e});e.aoColumns[c].bUseRendered&&O(e,b,c,a)}if(e.aoData[b].nTr!==null)Q(e,b)[c].innerHTML=a}c=i.inArray(b,e.aiDisplay);e.asDataSearch[c]=ra(e,fa(e,b,"filter"));if(typeof f=="undefined"||f)ea(e);if(typeof d=="undefined"||d)da(e);return 0};this.fnSetColumnVis=function(a,b,c){var d=A(this[n.iApiIndex]),f,e;e=d.aoColumns.length;var h,j;if(d.aoColumns[a].bVisible!=b){if(b){for(f=j=0;f<a;f++)d.aoColumns[f].bVisible&&j++;j=j>=Z(d);if(!j)for(f=a;f<e;f++)if(d.aoColumns[f].bVisible){h=
|
||||
f;break}f=0;for(e=d.aoData.length;f<e;f++)if(d.aoData[f].nTr!==null)j?d.aoData[f].nTr.appendChild(d.aoData[f]._anHidden[a]):d.aoData[f].nTr.insertBefore(d.aoData[f]._anHidden[a],Q(d,f)[h])}else{f=0;for(e=d.aoData.length;f<e;f++)if(d.aoData[f].nTr!==null){h=Q(d,f)[a];d.aoData[f]._anHidden[a]=h;h.parentNode.removeChild(h)}}d.aoColumns[a].bVisible=b;M(d,d.aoHeader);d.nTFoot&&M(d,d.aoFooter);f=0;for(e=d.aoOpenRows.length;f<e;f++)d.aoOpenRows[f].nTr.colSpan=Z(d);if(typeof c=="undefined"||c){ea(d);C(d)}va(d)}};
|
||||
this.fnPageChange=function(a,b){var c=A(this[n.iApiIndex]);ma(c,a);E(c);if(typeof b=="undefined"||b)C(c)};this.fnDestroy=function(){var a=A(this[n.iApiIndex]),b=a.nTableWrapper.parentNode,c=a.nTBody,d,f;a.bDestroying=true;d=0;for(f=a.aoDestroyCallback.length;d<f;d++)a.aoDestroyCallback[d].fn();d=0;for(f=a.aoColumns.length;d<f;d++)a.aoColumns[d].bVisible===false&&this.fnSetColumnVis(d,true);i(a.nTableWrapper).find("*").andSelf().unbind(".DT");i("tbody>tr>td."+a.oClasses.sRowEmpty,a.nTable).parent().remove();
|
||||
if(a.nTable!=a.nTHead.parentNode){i(a.nTable).children("thead").remove();a.nTable.appendChild(a.nTHead)}if(a.nTFoot&&a.nTable!=a.nTFoot.parentNode){i(a.nTable).children("tfoot").remove();a.nTable.appendChild(a.nTFoot)}a.nTable.parentNode.removeChild(a.nTable);i(a.nTableWrapper).remove();a.aaSorting=[];a.aaSortingFixed=[];V(a);i(ba(a)).removeClass(a.asStripeClasses.join(" "));if(a.bJUI){i("th",a.nTHead).removeClass([n.oStdClasses.sSortable,n.oJUIClasses.sSortableAsc,n.oJUIClasses.sSortableDesc,n.oJUIClasses.sSortableNone].join(" "));
|
||||
i("th span."+n.oJUIClasses.sSortIcon,a.nTHead).remove();i("th",a.nTHead).each(function(){var e=i("div."+n.oJUIClasses.sSortJUIWrapper,this),h=e.contents();i(this).append(h);e.remove()})}else i("th",a.nTHead).removeClass([n.oStdClasses.sSortable,n.oStdClasses.sSortableAsc,n.oStdClasses.sSortableDesc,n.oStdClasses.sSortableNone].join(" "));a.nTableReinsertBefore?b.insertBefore(a.nTable,a.nTableReinsertBefore):b.appendChild(a.nTable);d=0;for(f=a.aoData.length;d<f;d++)a.aoData[d].nTr!==null&&c.appendChild(a.aoData[d].nTr);
|
||||
if(a.oFeatures.bAutoWidth===true)a.nTable.style.width=q(a.sDestroyWidth);i(c).children("tr:even").addClass(a.asDestroyStripes[0]);i(c).children("tr:odd").addClass(a.asDestroyStripes[1]);d=0;for(f=D.length;d<f;d++)D[d]==a&&D.splice(d,1);a=null};this.fnAdjustColumnSizing=function(a){var b=A(this[n.iApiIndex]);ea(b);if(typeof a=="undefined"||a)this.fnDraw(false);else if(b.oScroll.sX!==""||b.oScroll.sY!=="")this.oApi._fnScrollDraw(b)};for(var xa in n.oApi)if(xa)this[xa]=s(xa);this.oApi._fnExternApiFunc=
|
||||
s;this.oApi._fnInitialise=t;this.oApi._fnInitComplete=w;this.oApi._fnLanguageProcess=y;this.oApi._fnAddColumn=F;this.oApi._fnColumnOptions=x;this.oApi._fnAddData=v;this.oApi._fnCreateTr=z;this.oApi._fnGatherData=$;this.oApi._fnBuildHead=X;this.oApi._fnDrawHead=M;this.oApi._fnDraw=C;this.oApi._fnReDraw=da;this.oApi._fnAjaxUpdate=Ca;this.oApi._fnAjaxParameters=Da;this.oApi._fnAjaxUpdateDraw=Ea;this.oApi._fnServerParams=ha;this.oApi._fnAddOptionsHtml=Aa;this.oApi._fnFeatureHtmlTable=Ja;this.oApi._fnScrollDraw=
|
||||
Ma;this.oApi._fnAdjustColumnSizing=ea;this.oApi._fnFeatureHtmlFilter=Ha;this.oApi._fnFilterComplete=N;this.oApi._fnFilterCustom=Qa;this.oApi._fnFilterColumn=Pa;this.oApi._fnFilter=Oa;this.oApi._fnBuildSearchArray=oa;this.oApi._fnBuildSearchRow=ra;this.oApi._fnFilterCreateSearch=pa;this.oApi._fnDataToSearch=qa;this.oApi._fnSort=R;this.oApi._fnSortAttachListener=ja;this.oApi._fnSortingClasses=V;this.oApi._fnFeatureHtmlPaginate=La;this.oApi._fnPageChange=ma;this.oApi._fnFeatureHtmlInfo=Ka;this.oApi._fnUpdateInfo=
|
||||
Ra;this.oApi._fnFeatureHtmlLength=Ga;this.oApi._fnFeatureHtmlProcessing=Ia;this.oApi._fnProcessingDisplay=K;this.oApi._fnVisibleToColumnIndex=Na;this.oApi._fnColumnIndexToVisible=ta;this.oApi._fnNodeToDataIndex=W;this.oApi._fnVisbleColumns=Z;this.oApi._fnCalculateEnd=E;this.oApi._fnConvertToWidth=Sa;this.oApi._fnCalculateColumnWidths=ga;this.oApi._fnScrollingWidthAdjust=Ua;this.oApi._fnGetWidestNode=Ta;this.oApi._fnGetMaxLenString=Va;this.oApi._fnStringToCss=q;this.oApi._fnArrayCmp=Za;this.oApi._fnDetectType=
|
||||
ia;this.oApi._fnSettingsFromNode=A;this.oApi._fnGetDataMaster=ca;this.oApi._fnGetTrNodes=ba;this.oApi._fnGetTdNodes=Q;this.oApi._fnEscapeRegex=sa;this.oApi._fnDeleteIndex=ua;this.oApi._fnReOrderIndex=Fa;this.oApi._fnColumnOrdering=ka;this.oApi._fnLog=J;this.oApi._fnClearTable=la;this.oApi._fnSaveState=va;this.oApi._fnLoadState=Xa;this.oApi._fnCreateCookie=Wa;this.oApi._fnReadCookie=wa;this.oApi._fnDetectHeader=Y;this.oApi._fnGetUniqueThs=S;this.oApi._fnScrollBarWidth=Ya;this.oApi._fnApplyToChildren=
|
||||
P;this.oApi._fnMap=o;this.oApi._fnGetRowData=fa;this.oApi._fnGetCellData=G;this.oApi._fnSetCellData=O;this.oApi._fnGetObjectDataFn=aa;this.oApi._fnSetObjectDataFn=Ba;var ya=this;return this.each(function(){var a=0,b,c,d,f;a=0;for(b=D.length;a<b;a++){if(D[a].nTable==this)if(typeof g=="undefined"||typeof g.bRetrieve!="undefined"&&g.bRetrieve===true)return D[a].oInstance;else if(typeof g.bDestroy!="undefined"&&g.bDestroy===true){D[a].oInstance.fnDestroy();break}else{J(D[a],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, please pass either no arguments to the dataTable() function, or set bRetrieve to true. Alternatively, to destory the old table and create a new one, set bDestroy to true (note that a lot of changes to the configuration can be made through the API which is usually much faster).");
|
||||
return}if(D[a].sTableId!==""&&D[a].sTableId==this.getAttribute("id")){D.splice(a,1);break}}var e=new l;D.push(e);var h=false,j=false;a=this.getAttribute("id");if(a!==null){e.sTableId=a;e.sInstance=a}else e.sInstance=n._oExternConfig.iNextUnique++;if(this.nodeName.toLowerCase()!="table")J(e,0,"Attempted to initialise DataTables on a node which is not a table: "+this.nodeName);else{e.nTable=this;e.oInstance=ya.length==1?ya:i(this).dataTable();e.oApi=ya.oApi;e.sDestroyWidth=i(this).width();if(typeof g!=
|
||||
"undefined"&&g!==null){e.oInit=g;o(e.oFeatures,g,"bPaginate");o(e.oFeatures,g,"bLengthChange");o(e.oFeatures,g,"bFilter");o(e.oFeatures,g,"bSort");o(e.oFeatures,g,"bInfo");o(e.oFeatures,g,"bProcessing");o(e.oFeatures,g,"bAutoWidth");o(e.oFeatures,g,"bSortClasses");o(e.oFeatures,g,"bServerSide");o(e.oFeatures,g,"bDeferRender");o(e.oScroll,g,"sScrollX","sX");o(e.oScroll,g,"sScrollXInner","sXInner");o(e.oScroll,g,"sScrollY","sY");o(e.oScroll,g,"bScrollCollapse","bCollapse");o(e.oScroll,g,"bScrollInfinite",
|
||||
"bInfinite");o(e.oScroll,g,"iScrollLoadGap","iLoadGap");o(e.oScroll,g,"bScrollAutoCss","bAutoCss");o(e,g,"asStripClasses","asStripeClasses");o(e,g,"asStripeClasses");o(e,g,"fnPreDrawCallback");o(e,g,"fnRowCallback");o(e,g,"fnHeaderCallback");o(e,g,"fnFooterCallback");o(e,g,"fnCookieCallback");o(e,g,"fnInitComplete");o(e,g,"fnServerData");o(e,g,"fnFormatNumber");o(e,g,"aaSorting");o(e,g,"aaSortingFixed");o(e,g,"aLengthMenu");o(e,g,"sPaginationType");o(e,g,"sAjaxSource");o(e,g,"sAjaxDataProp");o(e,
|
||||
g,"iCookieDuration");o(e,g,"sCookiePrefix");o(e,g,"sDom");o(e,g,"bSortCellsTop");o(e,g,"oSearch","oPreviousSearch");o(e,g,"aoSearchCols","aoPreSearchCols");o(e,g,"iDisplayLength","_iDisplayLength");o(e,g,"bJQueryUI","bJUI");o(e.oLanguage,g,"fnInfoCallback");typeof g.fnDrawCallback=="function"&&e.aoDrawCallback.push({fn:g.fnDrawCallback,sName:"user"});typeof g.fnServerParams=="function"&&e.aoServerParams.push({fn:g.fnServerParams,sName:"user"});typeof g.fnStateSaveCallback=="function"&&e.aoStateSave.push({fn:g.fnStateSaveCallback,
|
||||
sName:"user"});typeof g.fnStateLoadCallback=="function"&&e.aoStateLoad.push({fn:g.fnStateLoadCallback,sName:"user"});if(e.oFeatures.bServerSide&&e.oFeatures.bSort&&e.oFeatures.bSortClasses)e.aoDrawCallback.push({fn:V,sName:"server_side_sort_classes"});else e.oFeatures.bDeferRender&&e.aoDrawCallback.push({fn:V,sName:"defer_sort_classes"});if(typeof g.bJQueryUI!="undefined"&&g.bJQueryUI){e.oClasses=n.oJUIClasses;if(typeof g.sDom=="undefined")e.sDom='<"H"lfr>t<"F"ip>'}if(e.oScroll.sX!==""||e.oScroll.sY!==
|
||||
"")e.oScroll.iBarWidth=Ya();if(typeof g.iDisplayStart!="undefined"&&typeof e.iInitDisplayStart=="undefined"){e.iInitDisplayStart=g.iDisplayStart;e._iDisplayStart=g.iDisplayStart}if(typeof g.bStateSave!="undefined"){e.oFeatures.bStateSave=g.bStateSave;Xa(e,g);e.aoDrawCallback.push({fn:va,sName:"state_save"})}if(typeof g.iDeferLoading!="undefined"){e.bDeferLoading=true;e._iRecordsTotal=g.iDeferLoading;e._iRecordsDisplay=g.iDeferLoading}if(typeof g.aaData!="undefined")j=true;if(typeof g!="undefined"&&
|
||||
typeof g.aoData!="undefined")g.aoColumns=g.aoData;if(typeof g.oLanguage!="undefined")if(typeof g.oLanguage.sUrl!="undefined"&&g.oLanguage.sUrl!==""){e.oLanguage.sUrl=g.oLanguage.sUrl;i.getJSON(e.oLanguage.sUrl,null,function(u){y(e,u,true)});h=true}else y(e,g.oLanguage,false)}else g={};if(typeof g.asStripClasses=="undefined"&&typeof g.asStripeClasses=="undefined"){e.asStripeClasses.push(e.oClasses.sStripeOdd);e.asStripeClasses.push(e.oClasses.sStripeEven)}c=false;d=i(this).children("tbody").children("tr");
|
||||
a=0;for(b=e.asStripeClasses.length;a<b;a++)if(d.filter(":lt(2)").hasClass(e.asStripeClasses[a])){c=true;break}if(c){e.asDestroyStripes=["",""];if(i(d[0]).hasClass(e.oClasses.sStripeOdd))e.asDestroyStripes[0]+=e.oClasses.sStripeOdd+" ";if(i(d[0]).hasClass(e.oClasses.sStripeEven))e.asDestroyStripes[0]+=e.oClasses.sStripeEven;if(i(d[1]).hasClass(e.oClasses.sStripeOdd))e.asDestroyStripes[1]+=e.oClasses.sStripeOdd+" ";if(i(d[1]).hasClass(e.oClasses.sStripeEven))e.asDestroyStripes[1]+=e.oClasses.sStripeEven;
|
||||
d.removeClass(e.asStripeClasses.join(" "))}c=[];var k;a=this.getElementsByTagName("thead");if(a.length!==0){Y(e.aoHeader,a[0]);c=S(e)}if(typeof g.aoColumns=="undefined"){k=[];a=0;for(b=c.length;a<b;a++)k.push(null)}else k=g.aoColumns;a=0;for(b=k.length;a<b;a++){if(typeof g.saved_aoColumns!="undefined"&&g.saved_aoColumns.length==b){if(k[a]===null)k[a]={};k[a].bVisible=g.saved_aoColumns[a].bVisible}F(e,c?c[a]:null)}if(typeof g.aoColumnDefs!="undefined")for(a=g.aoColumnDefs.length-1;a>=0;a--){var m=
|
||||
g.aoColumnDefs[a].aTargets;i.isArray(m)||J(e,1,"aTargets must be an array of targets, not a "+typeof m);c=0;for(d=m.length;c<d;c++)if(typeof m[c]=="number"&&m[c]>=0){for(;e.aoColumns.length<=m[c];)F(e);x(e,m[c],g.aoColumnDefs[a])}else if(typeof m[c]=="number"&&m[c]<0)x(e,e.aoColumns.length+m[c],g.aoColumnDefs[a]);else if(typeof m[c]=="string"){b=0;for(f=e.aoColumns.length;b<f;b++)if(m[c]=="_all"||i(e.aoColumns[b].nTh).hasClass(m[c]))x(e,b,g.aoColumnDefs[a])}}if(typeof k!="undefined"){a=0;for(b=k.length;a<
|
||||
b;a++)x(e,a,k[a])}a=0;for(b=e.aaSorting.length;a<b;a++){if(e.aaSorting[a][0]>=e.aoColumns.length)e.aaSorting[a][0]=0;k=e.aoColumns[e.aaSorting[a][0]];if(typeof e.aaSorting[a][2]=="undefined")e.aaSorting[a][2]=0;if(typeof g.aaSorting=="undefined"&&typeof e.saved_aaSorting=="undefined")e.aaSorting[a][1]=k.asSorting[0];c=0;for(d=k.asSorting.length;c<d;c++)if(e.aaSorting[a][1]==k.asSorting[c]){e.aaSorting[a][2]=c;break}}V(e);a=i(this).children("thead");if(a.length===0){a=[p.createElement("thead")];this.appendChild(a[0])}e.nTHead=
|
||||
a[0];a=i(this).children("tbody");if(a.length===0){a=[p.createElement("tbody")];this.appendChild(a[0])}e.nTBody=a[0];a=i(this).children("tfoot");if(a.length>0){e.nTFoot=a[0];Y(e.aoFooter,e.nTFoot)}if(j)for(a=0;a<g.aaData.length;a++)v(e,g.aaData[a]);else $(e);e.aiDisplay=e.aiDisplayMaster.slice();e.bInitialised=true;h===false&&t(e)}})}})(jQuery,window,document);
|
||||
(function(i,aa,k,l){var j=function(e){function o(a,b){var c=j.defaults.columns,d=a.aoColumns.length,c=i.extend({},j.models.oColumn,c,{sSortingClass:a.oClasses.sSortable,sSortingClassJUI:a.oClasses.sSortJUI,nTh:b?b:k.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mDataProp:c.mDataProp?c.oDefaults:d});a.aoColumns.push(c);if(a.aoPreSearchCols[d]===l||null===a.aoPreSearchCols[d])a.aoPreSearchCols[d]=i.extend({},j.models.oSearch);else{c=a.aoPreSearchCols[d];
|
||||
if(c.bRegex===l)c.bRegex=!0;if(c.bSmart===l)c.bSmart=!0;if(c.bCaseInsensitive===l)c.bCaseInsensitive=!0}E(a,d,null)}function E(a,b,c){b=a.aoColumns[b];if(c!==l&&null!==c){if(c.sType!==l)b.sType=c.sType,b._bAutoType=!1;i.extend(b,c);n(b,c,"sWidth","sWidthOrig");if(c.iDataSort!==l)b.aDataSort=[c.iDataSort];n(b,c,"aDataSort")}b.fnGetData=V(b.mDataProp);b.fnSetData=sa(b.mDataProp);if(!a.oFeatures.bSort)b.bSortable=!1;if(!b.bSortable||-1==i.inArray("asc",b.asSorting)&&-1==i.inArray("desc",b.asSorting))b.sSortingClass=
|
||||
a.oClasses.sSortableNone,b.sSortingClassJUI="";else if(b.bSortable||-1==i.inArray("asc",b.asSorting)&&-1==i.inArray("desc",b.asSorting))b.sSortingClass=a.oClasses.sSortable,b.sSortingClassJUI=a.oClasses.sSortJUI;else if(-1!=i.inArray("asc",b.asSorting)&&-1==i.inArray("desc",b.asSorting))b.sSortingClass=a.oClasses.sSortableAsc,b.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed;else if(-1==i.inArray("asc",b.asSorting)&&-1!=i.inArray("desc",b.asSorting))b.sSortingClass=a.oClasses.sSortableDesc,b.sSortingClassJUI=
|
||||
a.oClasses.sSortJUIDescAllowed}function r(a){if(!1===a.oFeatures.bAutoWidth)return!1;ba(a);for(var b=0,c=a.aoColumns.length;b<c;b++)a.aoColumns[b].nTh.style.width=a.aoColumns[b].sWidth}function s(a,b){for(var c=-1,d=0;d<a.aoColumns.length;d++)if(!0===a.aoColumns[d].bVisible&&c++,c==b)return d;return null}function t(a,b){for(var c=-1,d=0;d<a.aoColumns.length;d++)if(!0===a.aoColumns[d].bVisible&&c++,d==b)return!0===a.aoColumns[d].bVisible?c:null;return null}function v(a){for(var b=0,c=0;c<a.aoColumns.length;c++)!0===
|
||||
a.aoColumns[c].bVisible&&b++;return b}function B(a){for(var b=j.ext.aTypes,c=b.length,d=0;d<c;d++){var f=b[d](a);if(null!==f)return f}return"string"}function D(a,b){for(var c=b.split(","),d=[],f=0,h=a.aoColumns.length;f<h;f++)for(var g=0;g<h;g++)if(a.aoColumns[f].sName==c[g]){d.push(g);break}return d}function x(a){for(var b="",c=0,d=a.aoColumns.length;c<d;c++)b+=a.aoColumns[c].sName+",";return b.length==d?"":b.slice(0,-1)}function I(a,b,c,d){var f,h,g,e,q;if(b)for(f=b.length-1;0<=f;f--){var m=b[f].aTargets;
|
||||
i.isArray(m)||F(a,1,"aTargets must be an array of targets, not a "+typeof m);for(h=0,g=m.length;h<g;h++)if("number"===typeof m[h]&&0<=m[h]){for(;a.aoColumns.length<=m[h];)o(a);d(m[h],b[f])}else if("number"===typeof m[h]&&0>m[h])d(a.aoColumns.length+m[h],b[f]);else if("string"===typeof m[h])for(e=0,q=a.aoColumns.length;e<q;e++)("_all"==m[h]||i(a.aoColumns[e].nTh).hasClass(m[h]))&&d(e,b[f])}if(c)for(f=0,a=c.length;f<a;f++)d(f,c[f])}function G(a,b){var c;c=i.isArray(b)?b.slice():i.extend(!0,{},b);var d=
|
||||
a.aoData.length;c=i.extend(!0,{},j.models.oRow,{_aData:c});a.aoData.push(c);for(var f,h=0,g=a.aoColumns.length;h<g;h++)if(c=a.aoColumns[h],"function"===typeof c.fnRender&&c.bUseRendered&&null!==c.mDataProp&&J(a,d,h,R(a,d,h)),c._bAutoType&&"string"!=c.sType&&(f=w(a,d,h,"type"),null!==f&&""!==f))if(f=B(f),null===c.sType)c.sType=f;else if(c.sType!=f&&"html"!=c.sType)c.sType="string";a.aiDisplayMaster.push(d);a.oFeatures.bDeferRender||ca(a,d);return d}function ta(a){var b,c,d,f,h,g,e,q,m;if(a.bDeferLoading||
|
||||
null===a.sAjaxSource){e=a.nTBody.childNodes;for(b=0,c=e.length;b<c;b++)if("TR"==e[b].nodeName.toUpperCase()){q=a.aoData.length;e[b]._DT_RowIndex=q;a.aoData.push(i.extend(!0,{},j.models.oRow,{nTr:e[b]}));a.aiDisplayMaster.push(q);g=e[b].childNodes;h=0;for(d=0,f=g.length;d<f;d++)if(m=g[d].nodeName.toUpperCase(),"TD"==m||"TH"==m)J(a,q,h,i.trim(g[d].innerHTML)),h++}}e=S(a);g=[];for(b=0,c=e.length;b<c;b++)for(d=0,f=e[b].childNodes.length;d<f;d++)h=e[b].childNodes[d],m=h.nodeName.toUpperCase(),("TD"==m||
|
||||
"TH"==m)&&g.push(h);for(f=0,e=a.aoColumns.length;f<e;f++){m=a.aoColumns[f];if(null===m.sTitle)m.sTitle=m.nTh.innerHTML;h=m._bAutoType;q="function"===typeof m.fnRender;var o=null!==m.sClass,r=m.bVisible,l,n;if(h||q||o||!r)for(b=0,c=a.aoData.length;b<c;b++){d=a.aoData[b];l=g[b*e+f];if(h&&"string"!=m.sType&&(n=w(a,b,f,"type"),""!==n))if(n=B(n),null===m.sType)m.sType=n;else if(m.sType!=n&&"html"!=m.sType)m.sType="string";if("function"===typeof m.mDataProp)l.innerHTML=w(a,b,f,"display");if(q)n=R(a,b,f),
|
||||
l.innerHTML=n,m.bUseRendered&&J(a,b,f,n);o&&(l.className+=" "+m.sClass);r?d._anHidden[f]=null:(d._anHidden[f]=l,l.parentNode.removeChild(l));m.fnCreatedCell&&m.fnCreatedCell.call(a.oInstance,l,w(a,b,f,"display"),d._aData,b,f)}}if(0!==a.aoRowCreatedCallback.length)for(b=0,c=a.aoData.length;b<c;b++)d=a.aoData[b],C(a,"aoRowCreatedCallback",null,[d.nTr,d._aData,b])}function K(a,b){return b._DT_RowIndex!==l?b._DT_RowIndex:null}function da(a,b,c){for(var b=L(a,b),d=0,a=a.aoColumns.length;d<a;d++)if(b[d]===
|
||||
c)return d;return-1}function W(a,b,c){for(var d=[],f=0,h=a.aoColumns.length;f<h;f++)d.push(w(a,b,f,c));return d}function w(a,b,c,d){var f=a.aoColumns[c];if((c=f.fnGetData(a.aoData[b]._aData,d))===l){if(a.iDrawError!=a.iDraw&&null===f.sDefaultContent)F(a,0,"Requested unknown parameter '"+f.mDataProp+"' from the data source for row "+b),a.iDrawError=a.iDraw;return f.sDefaultContent}if(null===c&&null!==f.sDefaultContent)c=f.sDefaultContent;else if("function"===typeof c)return c();return"display"==d&&
|
||||
null===c?"":c}function J(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d)}function V(a){if(null===a)return function(){return null};if("function"===typeof a)return function(b,d){return a(b,d)};if("string"===typeof a&&-1!=a.indexOf(".")){var b=a.split(".");return function(a){for(var d=0,f=b.length;d<f;d++)if(a=a[b[d]],a===l)return l;return a}}return function(b){return b[a]}}function sa(a){if(null===a)return function(){};if("function"===typeof a)return function(b,d){a(b,"set",d)};if("string"===
|
||||
typeof a&&-1!=a.indexOf(".")){var b=a.split(".");return function(a,d){for(var f=0,h=b.length-1;f<h;f++)a=a[b[f]];a[b[b.length-1]]=d}}return function(b,d){b[a]=d}}function X(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d]._aData);return b}function ea(a){a.aoData.splice(0,a.aoData.length);a.aiDisplayMaster.splice(0,a.aiDisplayMaster.length);a.aiDisplay.splice(0,a.aiDisplay.length);z(a)}function fa(a,b){for(var c=-1,d=0,f=a.length;d<f;d++)a[d]==b?c=d:a[d]>b&&a[d]--; -1!=c&&a.splice(c,
|
||||
1)}function R(a,b,c){var d=a.aoColumns[c];return d.fnRender({iDataRow:b,iDataColumn:c,oSettings:a,aData:a.aoData[b]._aData,mDataProp:d.mDataProp},w(a,b,c,"display"))}function ca(a,b){var c=a.aoData[b],d;if(null===c.nTr){c.nTr=k.createElement("tr");c.nTr._DT_RowIndex=b;if(c._aData.DT_RowId)c.nTr.id=c._aData.DT_RowId;c._aData.DT_RowClass&&i(c.nTr).addClass(c._aData.DT_RowClass);for(var f=0,h=a.aoColumns.length;f<h;f++){var g=a.aoColumns[f];d=k.createElement("td");d.innerHTML="function"===typeof g.fnRender&&
|
||||
(!g.bUseRendered||null===g.mDataProp)?R(a,b,f):w(a,b,f,"display");if(null!==g.sClass)d.className=g.sClass;g.bVisible?(c.nTr.appendChild(d),c._anHidden[f]=null):c._anHidden[f]=d;g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance,d,w(a,b,f,"display"),c._aData,b,f)}C(a,"aoRowCreatedCallback",null,[c.nTr,c._aData,b])}}function ua(a){var b,c,d;if(0!==a.nTHead.getElementsByTagName("th").length)for(b=0,d=a.aoColumns.length;b<d;b++){if(c=a.aoColumns[b].nTh,c.setAttribute("role","columnheader"),a.aoColumns[b].bSortable&&
|
||||
(c.setAttribute("tabindex",a.iTabIndex),c.setAttribute("aria-controls",a.sTableId)),null!==a.aoColumns[b].sClass&&i(c).addClass(a.aoColumns[b].sClass),a.aoColumns[b].sTitle!=c.innerHTML)c.innerHTML=a.aoColumns[b].sTitle}else{var f=k.createElement("tr");for(b=0,d=a.aoColumns.length;b<d;b++)c=a.aoColumns[b].nTh,c.innerHTML=a.aoColumns[b].sTitle,c.setAttribute("tabindex","0"),null!==a.aoColumns[b].sClass&&i(c).addClass(a.aoColumns[b].sClass),f.appendChild(c);i(a.nTHead).html("")[0].appendChild(f);T(a.aoHeader,
|
||||
a.nTHead)}i(a.nTHead).children("tr").attr("role","row");if(a.bJUI)for(b=0,d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;f=k.createElement("div");f.className=a.oClasses.sSortJUIWrapper;i(c).contents().appendTo(f);var h=k.createElement("span");h.className=a.oClasses.sSortIcon;f.appendChild(h);c.appendChild(f)}if(a.oFeatures.bSort)for(b=0;b<a.aoColumns.length;b++)!1!==a.aoColumns[b].bSortable?ga(a,a.aoColumns[b].nTh,b):i(a.aoColumns[b].nTh).addClass(a.oClasses.sSortableNone);""!==a.oClasses.sFooterTH&&
|
||||
i(a.nTFoot).children("tr").children("th").addClass(a.oClasses.sFooterTH);if(null!==a.nTFoot){c=O(a,null,a.aoFooter);for(b=0,d=a.aoColumns.length;b<d;b++)if(c[b])a.aoColumns[b].nTf=c[b],a.aoColumns[b].sClass&&i(c[b]).addClass(a.aoColumns[b].sClass)}}function U(a,b,c){var d,f,h,g=[],e=[],i=a.aoColumns.length,m;c===l&&(c=!1);for(d=0,f=b.length;d<f;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(h=i-1;0<=h;h--)!a.aoColumns[h].bVisible&&!c&&g[d].splice(h,1);e.push([])}for(d=0,f=g.length;d<f;d++){if(a=g[d].nTr)for(;h=
|
||||
a.firstChild;)a.removeChild(h);for(h=0,b=g[d].length;h<b;h++)if(m=i=1,e[d][h]===l){a.appendChild(g[d][h].cell);for(e[d][h]=1;g[d+i]!==l&&g[d][h].cell==g[d+i][h].cell;)e[d+i][h]=1,i++;for(;g[d][h+m]!==l&&g[d][h].cell==g[d][h+m].cell;){for(c=0;c<i;c++)e[d+c][h+m]=1;m++}g[d][h].cell.rowSpan=i;g[d][h].cell.colSpan=m}}}function y(a){var b,c,d=[],f=0,h=a.asStripeClasses.length;b=a.aoOpenRows.length;c=C(a,"aoPreDrawCallback","preDraw",[a]);if(-1===i.inArray(!1,c)){a.bDrawing=!0;if(a.iInitDisplayStart!==
|
||||
l&&-1!=a.iInitDisplayStart)a._iDisplayStart=a.oFeatures.bServerSide?a.iInitDisplayStart:a.iInitDisplayStart>=a.fnRecordsDisplay()?0:a.iInitDisplayStart,a.iInitDisplayStart=-1,z(a);if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++;else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!va(a))return}else a.iDraw++;if(0!==a.aiDisplay.length){var g=a._iDisplayStart;c=a._iDisplayEnd;if(a.oFeatures.bServerSide)g=0,c=a.aoData.length;for(;g<c;g++){var e=a.aoData[a.aiDisplay[g]];null===e.nTr&&ca(a,a.aiDisplay[g]);
|
||||
var q=e.nTr;if(0!==h){var m=a.asStripeClasses[f%h];if(e._sRowStripe!=m)i(q).removeClass(e._sRowStripe).addClass(m),e._sRowStripe=m}C(a,"aoRowCallback",null,[q,a.aoData[a.aiDisplay[g]]._aData,f,g]);d.push(q);f++;if(0!==b)for(e=0;e<b;e++)if(q==a.aoOpenRows[e].nParent){d.push(a.aoOpenRows[e].nTr);break}}}else{d[0]=k.createElement("tr");if(a.asStripeClasses[0])d[0].className=a.asStripeClasses[0];h=a.oLanguage.sZeroRecords.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()));if(1==a.iDraw&&null!==a.sAjaxSource&&
|
||||
!a.oFeatures.bServerSide)h=a.oLanguage.sLoadingRecords;else if(a.oLanguage.sEmptyTable&&0===a.fnRecordsTotal())h=a.oLanguage.sEmptyTable;b=k.createElement("td");b.setAttribute("valign","top");b.colSpan=v(a);b.className=a.oClasses.sRowEmpty;b.innerHTML=h;d[f].appendChild(b)}C(a,"aoHeaderCallback","header",[i(a.nTHead).children("tr")[0],X(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);C(a,"aoFooterCallback","footer",[i(a.nTFoot).children("tr")[0],X(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay]);
|
||||
f=k.createDocumentFragment();b=k.createDocumentFragment();if(a.nTBody){h=a.nTBody.parentNode;b.appendChild(a.nTBody);if(!a.oScroll.bInfinite||!a._bInitComplete||a.bSorted||a.bFiltered)for(;b=a.nTBody.firstChild;)a.nTBody.removeChild(b);for(b=0,c=d.length;b<c;b++)f.appendChild(d[b]);a.nTBody.appendChild(f);null!==h&&h.appendChild(a.nTBody)}C(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1;a.oFeatures.bServerSide&&(H(a,!1),a._bInitComplete||Y(a))}}function Z(a){a.oFeatures.bSort?
|
||||
P(a,a.oPreviousSearch):a.oFeatures.bFilter?M(a,a.oPreviousSearch):(z(a),y(a))}function wa(a){var b=i("<div></div>")[0];a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=i('<div id="'+a.sTableId+'_wrapper" class="'+a.oClasses.sWrapper+'" role="grid"></div>')[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var c=a.nTableWrapper,d=a.sDom.split(""),f,h,g,e,q,m,o,l=0;l<d.length;l++){h=0;g=d[l];if("<"==g){e=i("<div></div>")[0];q=d[l+1];if("'"==q||'"'==q){m="";for(o=2;d[l+o]!=q;)m+=d[l+o],
|
||||
o++;"H"==m?m="fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix":"F"==m&&(m="fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix");-1!=m.indexOf(".")?(q=m.split("."),e.id=q[0].substr(1,q[0].length-1),e.className=q[1]):"#"==m.charAt(0)?e.id=m.substr(1,m.length-1):e.className=m;l+=o}c.appendChild(e);c=e}else if(">"==g)c=c.parentNode;else if("l"==g&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange)f=xa(a),h=1;else if("f"==g&&a.oFeatures.bFilter)f=
|
||||
ya(a),h=1;else if("r"==g&&a.oFeatures.bProcessing)f=za(a),h=1;else if("t"==g)f=Aa(a),h=1;else if("i"==g&&a.oFeatures.bInfo)f=Ba(a),h=1;else if("p"==g&&a.oFeatures.bPaginate)f=Ca(a),h=1;else if(0!==j.ext.aoFeatures.length){e=j.ext.aoFeatures;o=0;for(q=e.length;o<q;o++)if(g==e[o].cFeature){(f=e[o].fnInit(a))&&(h=1);break}}1==h&&null!==f&&("object"!==typeof a.aanFeatures[g]&&(a.aanFeatures[g]=[]),a.aanFeatures[g].push(f),c.appendChild(f))}b.parentNode.replaceChild(a.nTableWrapper,b)}function T(a,b){var c=
|
||||
i(b).children("tr"),d,f,h,g,e,q,m,j;a.splice(0,a.length);for(f=0,q=c.length;f<q;f++)a.push([]);for(f=0,q=c.length;f<q;f++)for(h=0,m=c[f].childNodes.length;h<m;h++)if(d=c[f].childNodes[h],"TD"==d.nodeName.toUpperCase()||"TH"==d.nodeName.toUpperCase()){var o=1*d.getAttribute("colspan"),l=1*d.getAttribute("rowspan"),o=!o||0===o||1===o?1:o,l=!l||0===l||1===l?1:l;for(g=0;a[f][g];)g++;j=g;for(e=0;e<o;e++)for(g=0;g<l;g++)a[f+g][j+e]={cell:d,unique:1==o?!0:!1},a[f+g].nTr=c[f]}}function O(a,b,c){var d=[];
|
||||
if(!c)c=a.aoHeader,b&&(c=[],T(c,b));for(var b=0,f=c.length;b<f;b++)for(var h=0,g=c[b].length;h<g;h++)if(c[b][h].unique&&(!d[h]||!a.bSortCellsTop))d[h]=c[b][h].cell;return d}function va(a){if(a.bAjaxDataGet){a.iDraw++;H(a,!0);var b=Da(a);ha(a,b);a.fnServerData.call(a.oInstance,a.sAjaxSource,b,function(b){Ea(a,b)},a);return!1}return!0}function Da(a){var b=a.aoColumns.length,c=[],d,f;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:x(a)});c.push({name:"iDisplayStart",
|
||||
value:a._iDisplayStart});c.push({name:"iDisplayLength",value:!1!==a.oFeatures.bPaginate?a._iDisplayLength:-1});for(f=0;f<b;f++)d=a.aoColumns[f].mDataProp,c.push({name:"mDataProp_"+f,value:"function"===typeof d?"function":d});if(!1!==a.oFeatures.bFilter){c.push({name:"sSearch",value:a.oPreviousSearch.sSearch});c.push({name:"bRegex",value:a.oPreviousSearch.bRegex});for(f=0;f<b;f++)c.push({name:"sSearch_"+f,value:a.aoPreSearchCols[f].sSearch}),c.push({name:"bRegex_"+f,value:a.aoPreSearchCols[f].bRegex}),
|
||||
c.push({name:"bSearchable_"+f,value:a.aoColumns[f].bSearchable})}if(!1!==a.oFeatures.bSort){d=null!==a.aaSortingFixed?a.aaSortingFixed.length:0;var h=a.aaSorting.length;c.push({name:"iSortingCols",value:d+h});for(f=0;f<d;f++)c.push({name:"iSortCol_"+f,value:a.aaSortingFixed[f][0]}),c.push({name:"sSortDir_"+f,value:a.aaSortingFixed[f][1]});for(f=0;f<h;f++)c.push({name:"iSortCol_"+(f+d),value:a.aaSorting[f][0]}),c.push({name:"sSortDir_"+(f+d),value:a.aaSorting[f][1]});for(f=0;f<b;f++)c.push({name:"bSortable_"+
|
||||
f,value:a.aoColumns[f].bSortable})}return c}function ha(a,b){C(a,"aoServerParams","serverParams",[b])}function Ea(a,b){if(b.sEcho!==l){if(1*b.sEcho<a.iDraw)return;a.iDraw=1*b.sEcho}(!a.oScroll.bInfinite||a.oScroll.bInfinite&&(a.bSorted||a.bFiltered))&&ea(a);a._iRecordsTotal=parseInt(b.iTotalRecords,10);a._iRecordsDisplay=parseInt(b.iTotalDisplayRecords,10);var c=x(a),c=b.sColumns!==l&&""!==c&&b.sColumns!=c,d;c&&(d=D(a,b.sColumns));for(var f=V(a.sAjaxDataProp)(b),h=0,g=f.length;h<g;h++)if(c){for(var e=
|
||||
[],i=0,m=a.aoColumns.length;i<m;i++)e.push(f[h][d[i]]);G(a,e)}else G(a,f[h]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;y(a);a.bAjaxDataGet=!0;H(a,!1)}function ya(a){var b=a.oPreviousSearch,c=a.oLanguage.sSearch,c=-1!==c.indexOf("_INPUT_")?c.replace("_INPUT_",'<input type="text" />'):""===c?'<input type="text" />':c+' <input type="text" />',d=k.createElement("div");d.className=a.oClasses.sFilter;d.innerHTML="<label>"+c+"</label>";if(!a.aanFeatures.f)d.id=a.sTableId+"_filter";c=i("input",
|
||||
d);c.val(b.sSearch.replace('"',"""));c.bind("keyup.DT",function(){for(var c=a.aanFeatures.f,d=0,g=c.length;d<g;d++)c[d]!=i(this).parents("div.dataTables_filter")[0]&&i("input",c[d]).val(this.value);this.value!=b.sSearch&&M(a,{sSearch:this.value,bRegex:b.bRegex,bSmart:b.bSmart,bCaseInsensitive:b.bCaseInsensitive})});c.attr("aria-controls",a.sTableId).bind("keypress.DT",function(a){if(13==a.keyCode)return!1});return d}function M(a,b,c){var d=a.oPreviousSearch,f=a.aoPreSearchCols,h=function(a){d.sSearch=
|
||||
a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};if(a.oFeatures.bServerSide)h(b);else{Fa(a,b.sSearch,c,b.bRegex,b.bSmart,b.bCaseInsensitive);h(b);for(b=0;b<a.aoPreSearchCols.length;b++)Ga(a,f[b].sSearch,b,f[b].bRegex,f[b].bSmart,f[b].bCaseInsensitive);Ha(a)}a.bFiltered=!0;i(a.oInstance).trigger("filter",a);a._iDisplayStart=0;z(a);y(a);ia(a,0)}function Ha(a){for(var b=j.ext.afnFiltering,c=0,d=b.length;c<d;c++)for(var f=0,h=0,g=a.aiDisplay.length;h<g;h++){var e=a.aiDisplay[h-
|
||||
f];b[c](a,W(a,e,"filter"),e)||(a.aiDisplay.splice(h-f,1),f++)}}function Ga(a,b,c,d,f,h){if(""!==b)for(var g=0,b=ja(b,d,f,h),d=a.aiDisplay.length-1;0<=d;d--)f=ka(w(a,a.aiDisplay[d],c,"filter"),a.aoColumns[c].sType),b.test(f)||(a.aiDisplay.splice(d,1),g++)}function Fa(a,b,c,d,f,h){d=ja(b,d,f,h);f=a.oPreviousSearch;c||(c=0);0!==j.ext.afnFiltering.length&&(c=1);if(0>=b.length)a.aiDisplay.splice(0,a.aiDisplay.length),a.aiDisplay=a.aiDisplayMaster.slice();else if(a.aiDisplay.length==a.aiDisplayMaster.length||
|
||||
f.sSearch.length>b.length||1==c||0!==b.indexOf(f.sSearch)){a.aiDisplay.splice(0,a.aiDisplay.length);ia(a,1);for(b=0;b<a.aiDisplayMaster.length;b++)d.test(a.asDataSearch[b])&&a.aiDisplay.push(a.aiDisplayMaster[b])}else for(b=c=0;b<a.asDataSearch.length;b++)d.test(a.asDataSearch[b])||(a.aiDisplay.splice(b-c,1),c++)}function ia(a,b){if(!a.oFeatures.bServerSide){a.asDataSearch.splice(0,a.asDataSearch.length);for(var c=b&&1===b?a.aiDisplayMaster:a.aiDisplay,d=0,f=c.length;d<f;d++)a.asDataSearch[d]=la(a,
|
||||
W(a,c[d],"filter"))}}function la(a,b){var c="";if(a.__nTmpFilter===l)a.__nTmpFilter=k.createElement("div");for(var d=a.__nTmpFilter,f=0,h=a.aoColumns.length;f<h;f++)a.aoColumns[f].bSearchable&&(c+=ka(b[f],a.aoColumns[f].sType)+" ");if(-1!==c.indexOf("&"))d.innerHTML=c,c=d.textContent?d.textContent:d.innerText,c=c.replace(/\n/g," ").replace(/\r/g,"");return c}function ja(a,b,c,d){if(c)return a=b?a.split(" "):ma(a).split(" "),a="^(?=.*?"+a.join(")(?=.*?")+").*$",RegExp(a,d?"i":"");a=b?a:ma(a);return RegExp(a,
|
||||
d?"i":"")}function ka(a,b){return"function"===typeof j.ext.ofnSearch[b]?j.ext.ofnSearch[b](a):"html"==b?a.replace(/[\r\n]/g," ").replace(/<.*?>/g,""):"string"===typeof a?a.replace(/[\r\n]/g," "):null===a?"":a}function ma(a){return a.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^)","g"),"\\$1")}function Ba(a){var b=k.createElement("div");b.className=a.oClasses.sInfo;if(!a.aanFeatures.i)a.aoDrawCallback.push({fn:Ia,sName:"information"}),b.id=a.sTableId+"_info";a.nTable.setAttribute("aria-describedby",
|
||||
a.sTableId+"_info");return b}function Ia(a){if(a.oFeatures.bInfo&&0!==a.aanFeatures.i.length){var b=a._iDisplayStart+1,c=a.fnDisplayEnd(),d=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),h=a.fnFormatNumber(b),g=a.fnFormatNumber(c),e=a.fnFormatNumber(d),q=a.fnFormatNumber(f);a.oScroll.bInfinite&&(h=a.fnFormatNumber(1));h=0===a.fnRecordsDisplay()&&a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfoEmpty+a.oLanguage.sInfoPostFix:0===a.fnRecordsDisplay()?a.oLanguage.sInfoEmpty+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",
|
||||
e)+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfo.replace("_START_",h).replace("_END_",g).replace("_TOTAL_",q)+a.oLanguage.sInfoPostFix:a.oLanguage.sInfo.replace("_START_",h).replace("_END_",g).replace("_TOTAL_",q)+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()))+a.oLanguage.sInfoPostFix;null!==a.oLanguage.fnInfoCallback&&(h=a.oLanguage.fnInfoCallback.call(a.oInstance,a,b,c,d,f,h));a=a.aanFeatures.i;b=0;for(c=a.length;b<c;b++)i(a[b]).html(h)}}
|
||||
function $(a){var b,c,d=a.iInitDisplayStart;if(!1===a.bInitialised)setTimeout(function(){$(a)},200);else{wa(a);ua(a);U(a,a.aoHeader);a.nTFoot&&U(a,a.aoFooter);H(a,!0);a.oFeatures.bAutoWidth&&ba(a);for(b=0,c=a.aoColumns.length;b<c;b++)if(null!==a.aoColumns[b].sWidth)a.aoColumns[b].nTh.style.width=p(a.aoColumns[b].sWidth);a.oFeatures.bSort?P(a):a.oFeatures.bFilter?M(a,a.oPreviousSearch):(a.aiDisplay=a.aiDisplayMaster.slice(),z(a),y(a));null!==a.sAjaxSource&&!a.oFeatures.bServerSide?(c=[],ha(a,c),a.fnServerData.call(a.oInstance,
|
||||
a.sAjaxSource,c,function(c){var h=""!==a.sAjaxDataProp?V(a.sAjaxDataProp)(c):c;for(b=0;b<h.length;b++)G(a,h[b]);a.iInitDisplayStart=d;a.oFeatures.bSort?P(a):(a.aiDisplay=a.aiDisplayMaster.slice(),z(a),y(a));H(a,!1);Y(a,c)},a)):a.oFeatures.bServerSide||(H(a,!1),Y(a))}}function Y(a,b){a._bInitComplete=!0;C(a,"aoInitComplete","init",[a,b])}function na(a){!a.sEmptyTable&&a.sZeroRecords&&n(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&a.sZeroRecords&&n(a,a,"sZeroRecords","sLoadingRecords")}function xa(a){if(a.oScroll.bInfinite)return null;
|
||||
var b='<select size="1" '+('name="'+a.sTableId+'_length"')+">",c,d,f=a.aLengthMenu;if(2==f.length&&"object"===typeof f[0]&&"object"===typeof f[1])for(c=0,d=f[0].length;c<d;c++)b+='<option value="'+f[0][c]+'">'+f[1][c]+"</option>";else for(c=0,d=f.length;c<d;c++)b+='<option value="'+f[c]+'">'+f[c]+"</option>";b+="</select>";f=k.createElement("div");if(!a.aanFeatures.l)f.id=a.sTableId+"_length";f.className=a.oClasses.sLength;f.innerHTML="<label>"+a.oLanguage.sLengthMenu.replace("_MENU_",b)+"</label>";
|
||||
i('select option[value="'+a._iDisplayLength+'"]',f).attr("selected",!0);i("select",f).bind("change.DT",function(){var b=i(this).val(),f=a.aanFeatures.l;for(c=0,d=f.length;c<d;c++)f[c]!=this.parentNode&&i("select",f[c]).val(b);a._iDisplayLength=parseInt(b,10);z(a);if(a.fnDisplayEnd()==a.fnRecordsDisplay()&&(a._iDisplayStart=a.fnDisplayEnd()-a._iDisplayLength,0>a._iDisplayStart))a._iDisplayStart=0;if(-1==a._iDisplayLength)a._iDisplayStart=0;y(a)});i("select",f).attr("aria-controls",a.sTableId);return f}
|
||||
function z(a){a._iDisplayEnd=!1===a.oFeatures.bPaginate?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength>a.aiDisplay.length||-1==a._iDisplayLength?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Ca(a){if(a.oScroll.bInfinite)return null;var b=k.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType;j.ext.oPagination[a.sPaginationType].fnInit(a,b,function(a){z(a);y(a)});a.aanFeatures.p||a.aoDrawCallback.push({fn:function(a){j.ext.oPagination[a.sPaginationType].fnUpdate(a,
|
||||
function(a){z(a);y(a)})},sName:"pagination"});return b}function oa(a,b){var c=a._iDisplayStart;if("number"===typeof b){if(a._iDisplayStart=b*a._iDisplayLength,a._iDisplayStart>a.fnRecordsDisplay())a._iDisplayStart=0}else if("first"==b)a._iDisplayStart=0;else if("previous"==b){if(a._iDisplayStart=0<=a._iDisplayLength?a._iDisplayStart-a._iDisplayLength:0,0>a._iDisplayStart)a._iDisplayStart=0}else if("next"==b)0<=a._iDisplayLength?a._iDisplayStart+a._iDisplayLength<a.fnRecordsDisplay()&&(a._iDisplayStart+=
|
||||
a._iDisplayLength):a._iDisplayStart=0;else if("last"==b)if(0<=a._iDisplayLength){var d=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(d-1)*a._iDisplayLength}else a._iDisplayStart=0;else F(a,0,"Unknown paging action: "+b);i(a.oInstance).trigger("page",a);return c!=a._iDisplayStart}function za(a){var b=k.createElement("div");if(!a.aanFeatures.r)b.id=a.sTableId+"_processing";b.innerHTML=a.oLanguage.sProcessing;b.className=a.oClasses.sProcessing;a.nTable.parentNode.insertBefore(b,
|
||||
a.nTable);return b}function H(a,b){if(a.oFeatures.bProcessing)for(var c=a.aanFeatures.r,d=0,f=c.length;d<f;d++)c[d].style.visibility=b?"visible":"hidden";i(a.oInstance).trigger("processing",[a,b])}function Aa(a){if(""===a.oScroll.sX&&""===a.oScroll.sY)return a.nTable;var b=k.createElement("div"),c=k.createElement("div"),d=k.createElement("div"),f=k.createElement("div"),h=k.createElement("div"),g=k.createElement("div"),e=a.nTable.cloneNode(!1),q=a.nTable.cloneNode(!1),m=a.nTable.getElementsByTagName("thead")[0],
|
||||
j=0===a.nTable.getElementsByTagName("tfoot").length?null:a.nTable.getElementsByTagName("tfoot")[0],o=a.oClasses;c.appendChild(d);h.appendChild(g);f.appendChild(a.nTable);b.appendChild(c);b.appendChild(f);d.appendChild(e);e.appendChild(m);null!==j&&(b.appendChild(h),g.appendChild(q),q.appendChild(j));b.className=o.sScrollWrapper;c.className=o.sScrollHead;d.className=o.sScrollHeadInner;f.className=o.sScrollBody;h.className=o.sScrollFoot;g.className=o.sScrollFootInner;if(a.oScroll.bAutoCss)c.style.overflow=
|
||||
"hidden",c.style.position="relative",h.style.overflow="hidden",f.style.overflow="auto";c.style.border="0";c.style.width="100%";h.style.border="0";d.style.width="150%";e.removeAttribute("id");e.style.marginLeft="0";a.nTable.style.marginLeft="0";if(null!==j)q.removeAttribute("id"),q.style.marginLeft="0";d=i(a.nTable).children("caption");g=0;for(q=d.length;g<q;g++)e.appendChild(d[g]);if(""!==a.oScroll.sX){c.style.width=p(a.oScroll.sX);f.style.width=p(a.oScroll.sX);if(null!==j)h.style.width=p(a.oScroll.sX);
|
||||
i(f).scroll(function(){c.scrollLeft=this.scrollLeft;if(null!==j)h.scrollLeft=this.scrollLeft})}if(""!==a.oScroll.sY)f.style.height=p(a.oScroll.sY);a.aoDrawCallback.push({fn:Ja,sName:"scrolling"});a.oScroll.bInfinite&&i(f).scroll(function(){!a.bDrawing&&0!==i(this).scrollTop()&&i(this).scrollTop()+i(this).height()>i(a.nTable).height()-a.oScroll.iLoadGap&&a.fnDisplayEnd()<a.fnRecordsDisplay()&&(oa(a,"next"),z(a),y(a))});a.nScrollHead=c;a.nScrollFoot=h;return b}function Ja(a){var b=a.nScrollHead.getElementsByTagName("div")[0],
|
||||
c=b.getElementsByTagName("table")[0],d=a.nTable.parentNode,f,h,g,e,j,m,o,l,r=[],n=null!==a.nTFoot?a.nScrollFoot.getElementsByTagName("div")[0]:null,E=null!==a.nTFoot?n.getElementsByTagName("table")[0]:null,k=i.browser.msie&&7>=i.browser.version;g=a.nTable.getElementsByTagName("thead");0<g.length&&a.nTable.removeChild(g[0]);null!==a.nTFoot&&(j=a.nTable.getElementsByTagName("tfoot"),0<j.length&&a.nTable.removeChild(j[0]));g=a.nTHead.cloneNode(!0);a.nTable.insertBefore(g,a.nTable.childNodes[0]);null!==
|
||||
a.nTFoot&&(j=a.nTFoot.cloneNode(!0),a.nTable.insertBefore(j,a.nTable.childNodes[1]));if(""===a.oScroll.sX)d.style.width="100%",b.parentNode.style.width="100%";var t=O(a,g);for(f=0,h=t.length;f<h;f++)o=s(a,f),t[f].style.width=a.aoColumns[o].sWidth;null!==a.nTFoot&&N(function(a){a.style.width=""},j.getElementsByTagName("tr"));f=i(a.nTable).outerWidth();if(""===a.oScroll.sX){if(a.nTable.style.width="100%",k&&(i("tbody",d).height()>d.offsetHeight||"scroll"==i(d).css("overflow-y")))a.nTable.style.width=
|
||||
p(i(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else if(""!==a.oScroll.sXInner)a.nTable.style.width=p(a.oScroll.sXInner);else if(f==i(d).width()&&i(d).height()<i(a.nTable).height()){if(a.nTable.style.width=p(f-a.oScroll.iBarWidth),i(a.nTable).outerWidth()>f-a.oScroll.iBarWidth)a.nTable.style.width=p(f)}else a.nTable.style.width=p(f);f=i(a.nTable).outerWidth();h=a.nTHead.getElementsByTagName("tr");g=g.getElementsByTagName("tr");N(function(a,b){m=a.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth=
|
||||
"0";m.borderBottomWidth="0";m.height=0;l=i(a).width();b.style.width=p(l);r.push(l)},g,h);i(g).height(0);null!==a.nTFoot&&(e=j.getElementsByTagName("tr"),j=a.nTFoot.getElementsByTagName("tr"),N(function(a,b){m=a.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;l=i(a).width();b.style.width=p(l);r.push(l)},e,j),i(e).height(0));N(function(a){a.innerHTML="";a.style.width=p(r.shift())},g);null!==a.nTFoot&&N(function(a){a.innerHTML="";a.style.width=p(r.shift())},
|
||||
e);if(i(a.nTable).outerWidth()<f){e=d.scrollHeight>d.offsetHeight||"scroll"==i(d).css("overflow-y")?f+a.oScroll.iBarWidth:f;if(k&&(d.scrollHeight>d.offsetHeight||"scroll"==i(d).css("overflow-y")))a.nTable.style.width=p(e-a.oScroll.iBarWidth);d.style.width=p(e);b.parentNode.style.width=p(e);if(null!==a.nTFoot)n.parentNode.style.width=p(e);""===a.oScroll.sX?F(a,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width."):
|
||||
""!==a.oScroll.sXInner&&F(a,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")}else if(d.style.width=p("100%"),b.parentNode.style.width=p("100%"),null!==a.nTFoot)n.parentNode.style.width=p("100%");if(""===a.oScroll.sY&&k)d.style.height=p(a.nTable.offsetHeight+a.oScroll.iBarWidth);if(""!==a.oScroll.sY&&a.oScroll.bCollapse&&(d.style.height=p(a.oScroll.sY),k=""!==a.oScroll.sX&&a.nTable.offsetWidth>
|
||||
d.offsetWidth?a.oScroll.iBarWidth:0,a.nTable.offsetHeight<d.offsetHeight))d.style.height=p(i(a.nTable).height()+k);k=i(a.nTable).outerWidth();c.style.width=p(k);b.style.width=p(k);if(null!==a.nTFoot)n.style.width=p(a.nTable.offsetWidth),E.style.width=p(a.nTable.offsetWidth);if(a.bSorted||a.bFiltered)d.scrollTop=0}function N(a,b,c){for(var d=0,f=b.length;d<f;d++)for(var h=0,g=b[d].childNodes.length;h<g;h++)1==b[d].childNodes[h].nodeType&&(c?a(b[d].childNodes[h],c[d].childNodes[h]):a(b[d].childNodes[h]))}
|
||||
function Ka(a,b){if(!a||null===a||""===a)return 0;b||(b=k.getElementsByTagName("body")[0]);var c,d=k.createElement("div");d.style.width=p(a);b.appendChild(d);c=d.offsetWidth;b.removeChild(d);return c}function ba(a){var b=0,c,d=0,f=a.aoColumns.length,h,g=i("th",a.nTHead),e=a.nTable.getAttribute("width");for(h=0;h<f;h++)if(a.aoColumns[h].bVisible&&(d++,null!==a.aoColumns[h].sWidth)){c=Ka(a.aoColumns[h].sWidthOrig,a.nTable.parentNode);if(null!==c)a.aoColumns[h].sWidth=p(c);b++}if(f==g.length&&0===b&&
|
||||
d==f&&""===a.oScroll.sX&&""===a.oScroll.sY)for(h=0;h<a.aoColumns.length;h++){if(c=i(g[h]).width(),null!==c)a.aoColumns[h].sWidth=p(c)}else{b=a.nTable.cloneNode(!1);h=a.nTHead.cloneNode(!0);d=k.createElement("tbody");c=k.createElement("tr");b.removeAttribute("id");b.appendChild(h);null!==a.nTFoot&&(b.appendChild(a.nTFoot.cloneNode(!0)),N(function(a){a.style.width=""},b.getElementsByTagName("tr")));b.appendChild(d);d.appendChild(c);d=i("thead th",b);0===d.length&&(d=i("tbody tr:eq(0)>td",b));g=O(a,
|
||||
h);for(h=d=0;h<f;h++){var j=a.aoColumns[h];j.bVisible&&null!==j.sWidthOrig&&""!==j.sWidthOrig?g[h-d].style.width=p(j.sWidthOrig):j.bVisible?g[h-d].style.width="":d++}for(h=0;h<f;h++)a.aoColumns[h].bVisible&&(d=La(a,h),null!==d&&(d=d.cloneNode(!0),""!==a.aoColumns[h].sContentPadding&&(d.innerHTML+=a.aoColumns[h].sContentPadding),c.appendChild(d)));f=a.nTable.parentNode;f.appendChild(b);if(""!==a.oScroll.sX&&""!==a.oScroll.sXInner)b.style.width=p(a.oScroll.sXInner);else if(""!==a.oScroll.sX){if(b.style.width=
|
||||
"",i(b).width()<f.offsetWidth)b.style.width=p(f.offsetWidth)}else if(""!==a.oScroll.sY)b.style.width=p(f.offsetWidth);else if(e)b.style.width=p(e);b.style.visibility="hidden";Ma(a,b);f=i("tbody tr:eq(0)",b).children();0===f.length&&(f=O(a,i("thead",b)[0]));if(""!==a.oScroll.sX){for(h=d=c=0;h<a.aoColumns.length;h++)a.aoColumns[h].bVisible&&(c=null===a.aoColumns[h].sWidthOrig?c+i(f[d]).outerWidth():c+(parseInt(a.aoColumns[h].sWidth.replace("px",""),10)+(i(f[d]).outerWidth()-i(f[d]).width())),d++);b.style.width=
|
||||
p(c);a.nTable.style.width=p(c)}for(h=d=0;h<a.aoColumns.length;h++)if(a.aoColumns[h].bVisible){c=i(f[d]).width();if(null!==c&&0<c)a.aoColumns[h].sWidth=p(c);d++}f=i(b).css("width");a.nTable.style.width=-1!==f.indexOf("%")?f:p(i(b).outerWidth());b.parentNode.removeChild(b)}if(e)a.nTable.style.width=p(e)}function Ma(a,b){if(""===a.oScroll.sX&&""!==a.oScroll.sY)i(b).width(),b.style.width=p(i(b).outerWidth()-a.oScroll.iBarWidth);else if(""!==a.oScroll.sX)b.style.width=p(i(b).outerWidth())}function La(a,
|
||||
b){var c=Na(a,b);if(0>c)return null;if(null===a.aoData[c].nTr){var d=k.createElement("td");d.innerHTML=w(a,c,b,"");return d}return L(a,c)[b]}function Na(a,b){for(var c=-1,d=-1,f=0;f<a.aoData.length;f++){var h=w(a,f,b,"display")+"",h=h.replace(/<.*?>/g,"");if(h.length>c)c=h.length,d=f}return d}function p(a){if(null===a)return"0px";if("number"==typeof a)return 0>a?"0px":a+"px";var b=a.charCodeAt(a.length-1);return 48>b||57<b?a:a+"px"}function Oa(){var a=k.createElement("p"),b=a.style;b.width="100%";
|
||||
b.height="200px";b.padding="0px";var c=k.createElement("div"),b=c.style;b.position="absolute";b.top="0px";b.left="0px";b.visibility="hidden";b.width="200px";b.height="150px";b.padding="0px";b.overflow="hidden";c.appendChild(a);k.body.appendChild(c);b=a.offsetWidth;c.style.overflow="scroll";a=a.offsetWidth;if(b==a)a=c.clientWidth;k.body.removeChild(c);return b-a}function P(a,b){var c,d,f,h,g,e,o=[],m=[],r=j.ext.oSort,n=a.aoData,k=a.aoColumns,E=a.oLanguage.oAria;if(!a.oFeatures.bServerSide&&(0!==a.aaSorting.length||
|
||||
null!==a.aaSortingFixed)){o=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(c=0;c<o.length;c++)if(d=o[c][0],f=t(a,d),h=a.aoColumns[d].sSortDataType,j.ext.afnSortData[h]){g=j.ext.afnSortData[h](a,d,f);for(f=0,h=n.length;f<h;f++)J(a,f,d,g[f])}for(c=0,d=a.aiDisplayMaster.length;c<d;c++)m[a.aiDisplayMaster[c]]=c;var p=o.length,s;for(c=0,d=n.length;c<d;c++)for(f=0;f<p;f++){s=k[o[f][0]].aDataSort;for(g=0,e=s.length;g<e;g++)h=k[s[g]].sType,h=r[(h?h:"string")+"-pre"],
|
||||
n[c]._aSortData[s[g]]=h?h(w(a,c,s[g],"sort")):w(a,c,s[g],"sort")}a.aiDisplayMaster.sort(function(a,b){var c,d,f,h,g;for(c=0;c<p;c++){g=k[o[c][0]].aDataSort;for(d=0,f=g.length;d<f;d++)if(h=k[g[d]].sType,h=r[(h?h:"string")+"-"+o[c][1]](n[a]._aSortData[g[d]],n[b]._aSortData[g[d]]),0!==h)return h}return r["numeric-asc"](m[a],m[b])})}(b===l||b)&&!a.oFeatures.bDeferRender&&Q(a);for(c=0,d=a.aoColumns.length;c<d;c++)f=k[c].nTh,f.removeAttribute("aria-sort"),f.removeAttribute("aria-label"),k[c].bSortable?
|
||||
0<o.length&&o[0][0]==c?(f.setAttribute("aria-sort","asc"==o[0][1]?"ascending":"descending"),f.setAttribute("aria-label",k[c].sTitle+("asc"==(k[c].asSorting[o[0][2]+1]?k[c].asSorting[o[0][2]+1]:k[c].asSorting[0])?E.sSortAscending:E.sSortDescending))):f.setAttribute("aria-label",k[c].sTitle+("asc"==k[c].asSorting[0]?E.sSortAscending:E.sSortDescending)):f.setAttribute("aria-label",k[c].sTitle);a.bSorted=!0;i(a.oInstance).trigger("sort",a);a.oFeatures.bFilter?M(a,a.oPreviousSearch,1):(a.aiDisplay=a.aiDisplayMaster.slice(),
|
||||
a._iDisplayStart=0,z(a),y(a))}function ga(a,b,c,d){Pa(b,{},function(b){if(!1!==a.aoColumns[c].bSortable){var h=function(){var d,h;if(b.shiftKey){for(var e=!1,i=0;i<a.aaSorting.length;i++)if(a.aaSorting[i][0]==c){e=!0;d=a.aaSorting[i][0];h=a.aaSorting[i][2]+1;a.aoColumns[d].asSorting[h]?(a.aaSorting[i][1]=a.aoColumns[d].asSorting[h],a.aaSorting[i][2]=h):a.aaSorting.splice(i,1);break}!1===e&&a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}else 1==a.aaSorting.length&&a.aaSorting[0][0]==c?(d=a.aaSorting[0][0],
|
||||
h=a.aaSorting[0][2]+1,a.aoColumns[d].asSorting[h]||(h=0),a.aaSorting[0][1]=a.aoColumns[d].asSorting[h],a.aaSorting[0][2]=h):(a.aaSorting.splice(0,a.aaSorting.length),a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0]));P(a)};a.oFeatures.bProcessing?(H(a,!0),setTimeout(function(){h();a.oFeatures.bServerSide||H(a,!1)},0)):h();"function"==typeof d&&d(a)}})}function Q(a){var b,c,d,f,h,g=a.aoColumns.length,e=a.oClasses;for(b=0;b<g;b++)a.aoColumns[b].bSortable&&i(a.aoColumns[b].nTh).removeClass(e.sSortAsc+
|
||||
" "+e.sSortDesc+" "+a.aoColumns[b].sSortingClass);f=null!==a.aaSortingFixed?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable){h=a.aoColumns[b].sSortingClass;d=-1;for(c=0;c<f.length;c++)if(f[c][0]==b){h="asc"==f[c][1]?e.sSortAsc:e.sSortDesc;d=c;break}i(a.aoColumns[b].nTh).addClass(h);a.bJUI&&(c=i("span."+e.sSortIcon,a.aoColumns[b].nTh),c.removeClass(e.sSortJUIAsc+" "+e.sSortJUIDesc+" "+e.sSortJUI+" "+e.sSortJUIAscAllowed+" "+e.sSortJUIDescAllowed),
|
||||
c.addClass(-1==d?a.aoColumns[b].sSortingClassJUI:"asc"==f[d][1]?e.sSortJUIAsc:e.sSortJUIDesc))}else i(a.aoColumns[b].nTh).addClass(a.aoColumns[b].sSortingClass);h=e.sSortColumn;if(a.oFeatures.bSort&&a.oFeatures.bSortClasses){d=L(a);if(a.oFeatures.bDeferRender)i(d).removeClass(h+"1 "+h+"2 "+h+"3");else if(d.length>=g)for(b=0;b<g;b++)if(-1!=d[b].className.indexOf(h+"1"))for(c=0,a=d.length/g;c<a;c++)d[g*c+b].className=i.trim(d[g*c+b].className.replace(h+"1",""));else if(-1!=d[b].className.indexOf(h+
|
||||
"2"))for(c=0,a=d.length/g;c<a;c++)d[g*c+b].className=i.trim(d[g*c+b].className.replace(h+"2",""));else if(-1!=d[b].className.indexOf(h+"3"))for(c=0,a=d.length/g;c<a;c++)d[g*c+b].className=i.trim(d[g*c+b].className.replace(" "+h+"3",""));var e=1,j;for(b=0;b<f.length;b++){j=parseInt(f[b][0],10);for(c=0,a=d.length/g;c<a;c++)d[g*c+j].className+=" "+h+e;3>e&&e++}}}function pa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b,c;b=a.oScroll.bInfinite;var d={iCreate:(new Date).getTime(),iStart:b?0:a._iDisplayStart,
|
||||
iEnd:b?a._iDisplayLength:a._iDisplayEnd,iLength:a._iDisplayLength,aaSorting:i.extend(!0,[],a.aaSorting),oSearch:i.extend(!0,{},a.oPreviousSearch),aoSearchCols:i.extend(!0,[],a.aoPreSearchCols),abVisCols:[]};for(b=0,c=a.aoColumns.length;b<c;b++)d.abVisCols.push(a.aoColumns[b].bVisible);C(a,"aoStateSaveParams","stateSaveParams",[a,d]);a.fnStateSave.call(a.oInstance,a,d)}}function Qa(a,b){if(a.oFeatures.bStateSave){var c=a.fnStateLoad.call(a.oInstance,a);if(c){var d=C(a,"aoStateLoadParams","stateLoadParams",
|
||||
[a,c]);if(-1===i.inArray(!1,d)){a.oLoadedState=i.extend(!0,{},c);a._iDisplayStart=c.iStart;a.iInitDisplayStart=c.iStart;a._iDisplayEnd=c.iEnd;a._iDisplayLength=c.iLength;a.aaSorting=c.aaSorting.slice();a.saved_aaSorting=c.aaSorting.slice();i.extend(a.oPreviousSearch,c.oSearch);i.extend(!0,a.aoPreSearchCols,c.aoSearchCols);b.saved_aoColumns=[];for(d=0;d<c.abVisCols.length;d++)b.saved_aoColumns[d]={},b.saved_aoColumns[d].bVisible=c.abVisCols[d];C(a,"aoStateLoaded","stateLoaded",[a,c])}}}}function Ra(a){for(var b=
|
||||
aa.location.pathname.split("/"),a=a+"_"+b[b.length-1].replace(/[\/:]/g,"").toLowerCase()+"=",b=k.cookie.split(";"),c=0;c<b.length;c++){for(var d=b[c];" "==d.charAt(0);)d=d.substring(1,d.length);if(0===d.indexOf(a))return decodeURIComponent(d.substring(a.length,d.length))}return null}function u(a){for(var b=0;b<j.settings.length;b++)if(j.settings[b].nTable===a)return j.settings[b];return null}function S(a){for(var b=[],a=a.aoData,c=0,d=a.length;c<d;c++)null!==a[c].nTr&&b.push(a[c].nTr);return b}function L(a,
|
||||
b){var c=[],d,f,h,e,i,j;f=0;var o=a.aoData.length;b!==l&&(f=b,o=b+1);for(h=f;h<o;h++)if(j=a.aoData[h],null!==j.nTr){f=[];for(e=0,i=j.nTr.childNodes.length;e<i;e++)d=j.nTr.childNodes[e].nodeName.toLowerCase(),("td"==d||"th"==d)&&f.push(j.nTr.childNodes[e]);d=0;for(e=0,i=a.aoColumns.length;e<i;e++)a.aoColumns[e].bVisible?c.push(f[e-d]):(c.push(j._anHidden[e]),d++)}return c}function F(a,b,c){a=null===a?"DataTables warning: "+c:"DataTables warning (table id = '"+a.sTableId+"'): "+c;if(0===b)if("alert"==
|
||||
j.ext.sErrMode)alert(a);else throw a;else console!==l&&console.log&&console.log(a)}function n(a,b,c,d){d===l&&(d=c);b[c]!==l&&(a[d]=b[c])}function Sa(a,b){for(var c in a)a.hasOwnProperty(c)&&b[c]!==l&&("object"===typeof e[c]&&!1===i.isArray(b[c])?i.extend(!0,a[c],b[c]):a[c]=b[c]);return a}function Pa(a,b,c){i(a).bind("click.DT",b,function(b){c(b);a.blur()}).bind("keypress.DT",b,function(a){13===a.which&&c(a)}).bind("selectstart.DT",function(){return!1})}function A(a,b,c,d){c&&a[b].push({fn:c,sName:d})}
|
||||
function C(a,b,c,d){for(var b=a[b],f=[],h=b.length-1;0<=h;h--)f.push(b[h].fn.apply(a.oInstance,d));null!==c&&i(a.oInstance).trigger(c,d);return f}function Ta(a){return function(){var b=[u(this[j.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return j.ext.oApi[a].apply(this,b)}}var Ua=aa.JSON?JSON.stringify:function(a){var b=typeof a;if("object"!==b||null===a)return"string"===b&&(a='"'+a+'"'),a+"";var c,d,f=[],h=i.isArray(a);for(c in a)d=a[c],b=typeof d,"string"===b?d='"'+d+'"':"object"===
|
||||
b&&null!==d&&(d=Ua(d)),f.push((h?"":'"'+c+'":')+d);return(h?"[":"{")+f+(h?"]":"}")};this.$=function(a,b){var c,d,f=[],h=u(this[j.ext.iApiIndex]);b||(b={});b=i.extend({},{filter:"none",order:"current",page:"all"},b);if("current"==b.page)for(c=h._iDisplayStart,d=h.fnDisplayEnd();c<d;c++)f.push(h.aoData[h.aiDisplay[c]].nTr);else if("current"==b.order&&"none"==b.filter)for(c=0,d=h.aiDisplayMaster.length;c<d;c++)f.push(h.aoData[h.aiDisplayMaster[c]].nTr);else if("current"==b.order&&"applied"==b.filter)for(c=
|
||||
0,d=h.aiDisplay.length;c<d;c++)f.push(h.aoData[h.aiDisplay[c]].nTr);else if("original"==b.order&&"none"==b.filter)for(c=0,d=h.aoData.length;c<d;c++)f.push(h.aoData[c].nTr);else if("original"==b.order&&"applied"==b.filter)for(c=0,d=h.aoData.length;c<d;c++)-1!==i.inArray(c,h.aiDisplay)&&f.push(h.aoData[c].nTr);else F(h,1,"Unknown selection options");d=i(f);c=d.filter(a);d=d.find(a);return i([].concat(i.makeArray(c),i.makeArray(d)))};this._=function(a,b){var c=[],d,f,h=this.$(a,b);for(d=0,f=h.length;d<
|
||||
f;d++)c.push(this.fnGetData(h[d]));return c};this.fnAddData=function(a,b){if(0===a.length)return[];var c=[],d,f=u(this[j.ext.iApiIndex]);if("object"===typeof a[0]&&null!==a[0])for(var h=0;h<a.length;h++){d=G(f,a[h]);if(-1==d)return c;c.push(d)}else{d=G(f,a);if(-1==d)return c;c.push(d)}f.aiDisplay=f.aiDisplayMaster.slice();(b===l||b)&&Z(f);return c};this.fnAdjustColumnSizing=function(a){var b=u(this[j.ext.iApiIndex]);r(b);a===l||a?this.fnDraw(!1):(""!==b.oScroll.sX||""!==b.oScroll.sY)&&this.oApi._fnScrollDraw(b)};
|
||||
this.fnClearTable=function(a){var b=u(this[j.ext.iApiIndex]);ea(b);(a===l||a)&&y(b)};this.fnClose=function(a){for(var b=u(this[j.ext.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return(a=b.aoOpenRows[c].nTr.parentNode)&&a.removeChild(b.aoOpenRows[c].nTr),b.aoOpenRows.splice(c,1),0;return 1};this.fnDeleteRow=function(a,b,c){var d=u(this[j.ext.iApiIndex]),f,h,a="object"===typeof a?K(d,a):a,e=d.aoData.splice(a,1);for(f=0,h=d.aoData.length;f<h;f++)if(null!==d.aoData[f].nTr)d.aoData[f].nTr._DT_RowIndex=
|
||||
f;f=i.inArray(a,d.aiDisplay);d.asDataSearch.splice(f,1);fa(d.aiDisplayMaster,a);fa(d.aiDisplay,a);"function"===typeof b&&b.call(this,d,e);if(d._iDisplayStart>=d.aiDisplay.length&&(d._iDisplayStart-=d._iDisplayLength,0>d._iDisplayStart))d._iDisplayStart=0;if(c===l||c)z(d),y(d);return e};this.fnDestroy=function(a){var b=u(this[j.ext.iApiIndex]),c=b.nTableWrapper.parentNode,d=b.nTBody,f,e,a=a===l?!1:!0;b.bDestroying=!0;for(f=0,e=b.aoDestroyCallback.length;f<e;f++)b.aoDestroyCallback[f].fn();for(f=0,
|
||||
e=b.aoColumns.length;f<e;f++)!1===b.aoColumns[f].bVisible&&this.fnSetColumnVis(f,!0);i(b.nTableWrapper).find("*").andSelf().unbind(".DT");i("tbody>tr>td."+b.oClasses.sRowEmpty,b.nTable).parent().remove();b.nTable!=b.nTHead.parentNode&&(i(b.nTable).children("thead").remove(),b.nTable.appendChild(b.nTHead));b.nTFoot&&b.nTable!=b.nTFoot.parentNode&&(i(b.nTable).children("tfoot").remove(),b.nTable.appendChild(b.nTFoot));b.nTable.parentNode.removeChild(b.nTable);i(b.nTableWrapper).remove();b.aaSorting=
|
||||
[];b.aaSortingFixed=[];Q(b);i(S(b)).removeClass(b.asStripeClasses.join(" "));i("th, td",b.nTHead).removeClass([b.oClasses.sSortable,b.oClasses.sSortableAsc,b.oClasses.sSortableDesc,b.oClasses.sSortableNone].join(" "));b.bJUI&&(i("th span."+b.oClasses.sSortIcon+", td span."+b.oClasses.sSortIcon,b.nTHead).remove(),i("th, td",b.nTHead).each(function(){var a=i("div."+b.oClasses.sSortJUIWrapper,this),c=a.contents();i(this).append(c);a.remove()}));!a&&b.nTableReinsertBefore?c.insertBefore(b.nTable,b.nTableReinsertBefore):
|
||||
a||c.appendChild(b.nTable);for(f=0,e=b.aoData.length;f<e;f++)null!==b.aoData[f].nTr&&d.appendChild(b.aoData[f].nTr);if(!0===b.oFeatures.bAutoWidth)b.nTable.style.width=p(b.sDestroyWidth);i(d).children("tr:even").addClass(b.asDestroyStripes[0]);i(d).children("tr:odd").addClass(b.asDestroyStripes[1]);for(f=0,e=j.settings.length;f<e;f++)j.settings[f]==b&&j.settings.splice(f,1);b=null};this.fnDraw=function(a){var b=u(this[j.ext.iApiIndex]);a?(z(b),y(b)):Z(b)};this.fnFilter=function(a,b,c,d,f,e){var g=
|
||||
u(this[j.ext.iApiIndex]);if(g.oFeatures.bFilter){if(c===l||null===c)c=!1;if(d===l||null===d)d=!0;if(f===l||null===f)f=!0;if(e===l||null===e)e=!0;if(b===l||null===b){if(M(g,{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:e},1),f&&g.aanFeatures.f){b=g.aanFeatures.f;c=0;for(d=b.length;c<d;c++)i("input",b[c]).val(a)}}else i.extend(g.aoPreSearchCols[b],{sSearch:a+"",bRegex:c,bSmart:d,bCaseInsensitive:e}),M(g,g.oPreviousSearch,1)}};this.fnGetData=function(a,b){var c=u(this[j.ext.iApiIndex]);if(a!==l){var d=
|
||||
a;if("object"===typeof a){var f=a.nodeName.toLowerCase();"tr"===f?d=K(c,a):"td"===f&&(d=K(c,a.parentNode),b=da(c,d,a))}return b!==l?w(c,d,b,""):c.aoData[d]!==l?c.aoData[d]._aData:null}return X(c)};this.fnGetNodes=function(a){var b=u(this[j.ext.iApiIndex]);return a!==l?b.aoData[a]!==l?b.aoData[a].nTr:null:S(b)};this.fnGetPosition=function(a){var b=u(this[j.ext.iApiIndex]),c=a.nodeName.toUpperCase();if("TR"==c)return K(b,a);return"TD"==c||"TH"==c?(c=K(b,a.parentNode),a=da(b,c,a),[c,t(b,a),a]):null};
|
||||
this.fnIsOpen=function(a){for(var b=u(this[j.ext.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a)return!0;return!1};this.fnOpen=function(a,b,c){var d=u(this[j.ext.iApiIndex]),f=S(d);if(-1!==i.inArray(a,f)){this.fnClose(a);var f=k.createElement("tr"),e=k.createElement("td");f.appendChild(e);e.className=c;e.colSpan=v(d);"string"===typeof b?e.innerHTML=b:i(e).html(b);b=i("tr",d.nTBody);-1!=i.inArray(a,b)&&i(f).insertAfter(a);d.aoOpenRows.push({nTr:f,nParent:a});return f}};this.fnPageChange=
|
||||
function(a,b){var c=u(this[j.ext.iApiIndex]);oa(c,a);z(c);(b===l||b)&&y(c)};this.fnSetColumnVis=function(a,b,c){var d=u(this[j.ext.iApiIndex]),f,e,g=d.aoColumns,i=d.aoData,o,m;if(g[a].bVisible!=b){if(b){for(f=e=0;f<a;f++)g[f].bVisible&&e++;m=e>=v(d);if(!m)for(f=a;f<g.length;f++)if(g[f].bVisible){o=f;break}for(f=0,e=i.length;f<e;f++)null!==i[f].nTr&&(m?i[f].nTr.appendChild(i[f]._anHidden[a]):i[f].nTr.insertBefore(i[f]._anHidden[a],L(d,f)[o]))}else for(f=0,e=i.length;f<e;f++)null!==i[f].nTr&&(o=L(d,
|
||||
f)[a],i[f]._anHidden[a]=o,o.parentNode.removeChild(o));g[a].bVisible=b;U(d,d.aoHeader);d.nTFoot&&U(d,d.aoFooter);for(f=0,e=d.aoOpenRows.length;f<e;f++)d.aoOpenRows[f].nTr.colSpan=v(d);if(c===l||c)r(d),y(d);pa(d)}};this.fnSettings=function(){return u(this[j.ext.iApiIndex])};this.fnSort=function(a){var b=u(this[j.ext.iApiIndex]);b.aaSorting=a;P(b)};this.fnSortListener=function(a,b,c){ga(u(this[j.ext.iApiIndex]),a,b,c)};this.fnUpdate=function(a,b,c,d,f){var e=u(this[j.ext.iApiIndex]),b="object"===typeof b?
|
||||
K(e,b):b;if(e.__fnUpdateDeep===l&&i.isArray(a)&&"object"===typeof a){e.aoData[b]._aData=a.slice();e.__fnUpdateDeep=!0;for(c=0;c<e.aoColumns.length;c++)this.fnUpdate(w(e,b,c),b,c,!1,!1);e.__fnUpdateDeep=l}else if(e.__fnUpdateDeep===l&&null!==a&&"object"===typeof a){e.aoData[b]._aData=i.extend(!0,{},a);e.__fnUpdateDeep=!0;for(c=0;c<e.aoColumns.length;c++)this.fnUpdate(w(e,b,c),b,c,!1,!1);e.__fnUpdateDeep=l}else{J(e,b,c,a);var a=w(e,b,c,"display"),g=e.aoColumns[c];null!==g.fnRender&&(a=R(e,b,c),g.bUseRendered&&
|
||||
J(e,b,c,a));if(null!==e.aoData[b].nTr)L(e,b)[c].innerHTML=a}c=i.inArray(b,e.aiDisplay);e.asDataSearch[c]=la(e,W(e,b,"filter"));(f===l||f)&&r(e);(d===l||d)&&Z(e);return 0};this.fnVersionCheck=j.ext.fnVersionCheck;this.oApi={_fnExternApiFunc:Ta,_fnInitialise:$,_fnInitComplete:Y,_fnLanguageCompat:na,_fnAddColumn:o,_fnColumnOptions:E,_fnAddData:G,_fnCreateTr:ca,_fnGatherData:ta,_fnBuildHead:ua,_fnDrawHead:U,_fnDraw:y,_fnReDraw:Z,_fnAjaxUpdate:va,_fnAjaxParameters:Da,_fnAjaxUpdateDraw:Ea,_fnServerParams:ha,
|
||||
_fnAddOptionsHtml:wa,_fnFeatureHtmlTable:Aa,_fnScrollDraw:Ja,_fnAdjustColumnSizing:r,_fnFeatureHtmlFilter:ya,_fnFilterComplete:M,_fnFilterCustom:Ha,_fnFilterColumn:Ga,_fnFilter:Fa,_fnBuildSearchArray:ia,_fnBuildSearchRow:la,_fnFilterCreateSearch:ja,_fnDataToSearch:ka,_fnSort:P,_fnSortAttachListener:ga,_fnSortingClasses:Q,_fnFeatureHtmlPaginate:Ca,_fnPageChange:oa,_fnFeatureHtmlInfo:Ba,_fnUpdateInfo:Ia,_fnFeatureHtmlLength:xa,_fnFeatureHtmlProcessing:za,_fnProcessingDisplay:H,_fnVisibleToColumnIndex:s,
|
||||
_fnColumnIndexToVisible:t,_fnNodeToDataIndex:K,_fnVisbleColumns:v,_fnCalculateEnd:z,_fnConvertToWidth:Ka,_fnCalculateColumnWidths:ba,_fnScrollingWidthAdjust:Ma,_fnGetWidestNode:La,_fnGetMaxLenString:Na,_fnStringToCss:p,_fnDetectType:B,_fnSettingsFromNode:u,_fnGetDataMaster:X,_fnGetTrNodes:S,_fnGetTdNodes:L,_fnEscapeRegex:ma,_fnDeleteIndex:fa,_fnReOrderIndex:D,_fnColumnOrdering:x,_fnLog:F,_fnClearTable:ea,_fnSaveState:pa,_fnLoadState:Qa,_fnCreateCookie:function(a,b,c,d,e){var h=new Date;h.setTime(h.getTime()+
|
||||
1E3*c);var c=aa.location.pathname.split("/"),a=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase(),g;null!==e?(g="function"===typeof i.parseJSON?i.parseJSON(b):eval("("+b+")"),b=e(a,g,h.toGMTString(),c.join("/")+"/")):b=a+"="+encodeURIComponent(b)+"; expires="+h.toGMTString()+"; path="+c.join("/")+"/";e="";h=9999999999999;if(4096<(null!==Ra(a)?k.cookie.length:b.length+k.cookie.length)+10){for(var a=k.cookie.split(";"),j=0,o=a.length;j<o;j++)if(-1!=a[j].indexOf(d)){var m=a[j].split("=");try{g=eval("("+
|
||||
decodeURIComponent(m[1])+")")}catch(l){continue}if(g.iCreate&&g.iCreate<h)e=m[0],h=g.iCreate}if(""!==e)k.cookie=e+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+c.join("/")+"/"}k.cookie=b},_fnReadCookie:Ra,_fnDetectHeader:T,_fnGetUniqueThs:O,_fnScrollBarWidth:Oa,_fnApplyToChildren:N,_fnMap:n,_fnGetRowData:W,_fnGetCellData:w,_fnSetCellData:J,_fnGetObjectDataFn:V,_fnSetObjectDataFn:sa,_fnApplyColumnDefs:I,_fnBindAction:Pa,_fnExtend:Sa,_fnCallbackReg:A,_fnCallbackFire:C,_fnJsonString:Ua,_fnRender:R,
|
||||
_fnNodeToColumnIndex:da};i.extend(j.ext.oApi,this.oApi);for(var qa in j.ext.oApi)qa&&(this[qa]=Ta(qa));var ra=this;return this.each(function(){var a=0,b,c,d;c=this.getAttribute("id");var f=!1,h=!1;if("table"!=this.nodeName.toLowerCase())F(null,0,"Attempted to initialise DataTables on a node which is not a table: "+this.nodeName);else{for(a=0,b=j.settings.length;a<b;a++){if(j.settings[a].nTable==this){if(e===l||e.bRetrieve)return j.settings[a].oInstance;if(e.bDestroy){j.settings[a].oInstance.fnDestroy();
|
||||
break}else{F(j.settings[a],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, pass no arguments or see the docs for bRetrieve and bDestroy");return}}if(j.settings[a].sTableId==this.id){j.settings.splice(a,1);break}}if(null===c)this.id=c="DataTables_Table_"+j.ext._oExternConfig.iNextUnique++;var g=i.extend(!0,{},j.models.oSettings,{nTable:this,oApi:ra.oApi,oInit:e,sDestroyWidth:i(this).width(),sInstance:c,sTableId:c});j.settings.push(g);g.oInstance=1===ra.length?
|
||||
ra:i(this).dataTable();e||(e={});e.oLanguage&&na(e.oLanguage);e=Sa(i.extend(!0,{},j.defaults),e);n(g.oFeatures,e,"bPaginate");n(g.oFeatures,e,"bLengthChange");n(g.oFeatures,e,"bFilter");n(g.oFeatures,e,"bSort");n(g.oFeatures,e,"bInfo");n(g.oFeatures,e,"bProcessing");n(g.oFeatures,e,"bAutoWidth");n(g.oFeatures,e,"bSortClasses");n(g.oFeatures,e,"bServerSide");n(g.oFeatures,e,"bDeferRender");n(g.oScroll,e,"sScrollX","sX");n(g.oScroll,e,"sScrollXInner","sXInner");n(g.oScroll,e,"sScrollY","sY");n(g.oScroll,
|
||||
e,"bScrollCollapse","bCollapse");n(g.oScroll,e,"bScrollInfinite","bInfinite");n(g.oScroll,e,"iScrollLoadGap","iLoadGap");n(g.oScroll,e,"bScrollAutoCss","bAutoCss");n(g,e,"asStripClasses","asStripeClasses");n(g,e,"asStripeClasses");n(g,e,"fnServerData");n(g,e,"fnFormatNumber");n(g,e,"sServerMethod");n(g,e,"aaSorting");n(g,e,"aaSortingFixed");n(g,e,"aLengthMenu");n(g,e,"sPaginationType");n(g,e,"sAjaxSource");n(g,e,"sAjaxDataProp");n(g,e,"iCookieDuration");n(g,e,"sCookiePrefix");n(g,e,"sDom");n(g,e,
|
||||
"bSortCellsTop");n(g,e,"iTabIndex");n(g,e,"oSearch","oPreviousSearch");n(g,e,"aoSearchCols","aoPreSearchCols");n(g,e,"iDisplayLength","_iDisplayLength");n(g,e,"bJQueryUI","bJUI");n(g,e,"fnCookieCallback");n(g,e,"fnStateLoad");n(g,e,"fnStateSave");n(g.oLanguage,e,"fnInfoCallback");A(g,"aoDrawCallback",e.fnDrawCallback,"user");A(g,"aoServerParams",e.fnServerParams,"user");A(g,"aoStateSaveParams",e.fnStateSaveParams,"user");A(g,"aoStateLoadParams",e.fnStateLoadParams,"user");A(g,"aoStateLoaded",e.fnStateLoaded,
|
||||
"user");A(g,"aoRowCallback",e.fnRowCallback,"user");A(g,"aoRowCreatedCallback",e.fnCreatedRow,"user");A(g,"aoHeaderCallback",e.fnHeaderCallback,"user");A(g,"aoFooterCallback",e.fnFooterCallback,"user");A(g,"aoInitComplete",e.fnInitComplete,"user");A(g,"aoPreDrawCallback",e.fnPreDrawCallback,"user");g.oFeatures.bServerSide&&g.oFeatures.bSort&&g.oFeatures.bSortClasses?A(g,"aoDrawCallback",Q,"server_side_sort_classes"):g.oFeatures.bDeferRender&&A(g,"aoDrawCallback",Q,"defer_sort_classes");if(e.bJQueryUI){if(i.extend(g.oClasses,
|
||||
j.ext.oJUIClasses),e.sDom===j.defaults.sDom&&"lfrtip"===j.defaults.sDom)g.sDom='<"H"lfr>t<"F"ip>'}else i.extend(g.oClasses,j.ext.oStdClasses);i(this).addClass(g.oClasses.sTable);if(""!==g.oScroll.sX||""!==g.oScroll.sY)g.oScroll.iBarWidth=Oa();if(g.iInitDisplayStart===l)g.iInitDisplayStart=e.iDisplayStart,g._iDisplayStart=e.iDisplayStart;if(e.bStateSave)g.oFeatures.bStateSave=!0,Qa(g,e),A(g,"aoDrawCallback",pa,"state_save");if(null!==e.iDeferLoading)g.bDeferLoading=!0,g._iRecordsTotal=e.iDeferLoading,
|
||||
g._iRecordsDisplay=e.iDeferLoading;null!==e.aaData&&(h=!0);""!==e.oLanguage.sUrl?(g.oLanguage.sUrl=e.oLanguage.sUrl,i.getJSON(g.oLanguage.sUrl,null,function(a){na(a);i.extend(!0,g.oLanguage,e.oLanguage,a);$(g)}),f=!0):i.extend(!0,g.oLanguage,e.oLanguage);c=!1;d=i(this).children("tbody").children("tr");for(a=0,b=g.asStripeClasses.length;a<b;a++)if(d.filter(":lt(2)").hasClass(g.asStripeClasses[a])){c=!0;break}if(c)g.asDestroyStripes=["",""],i(d[0]).hasClass(g.oClasses.sStripeOdd)&&(g.asDestroyStripes[0]+=
|
||||
g.oClasses.sStripeOdd+" "),i(d[0]).hasClass(g.oClasses.sStripeEven)&&(g.asDestroyStripes[0]+=g.oClasses.sStripeEven),i(d[1]).hasClass(g.oClasses.sStripeOdd)&&(g.asDestroyStripes[1]+=g.oClasses.sStripeOdd+" "),i(d[1]).hasClass(g.oClasses.sStripeEven)&&(g.asDestroyStripes[1]+=g.oClasses.sStripeEven),d.removeClass(g.asStripeClasses.join(" "));c=[];a=this.getElementsByTagName("thead");0!==a.length&&(T(g.aoHeader,a[0]),c=O(g));if(null===e.aoColumns){d=[];for(a=0,b=c.length;a<b;a++)d.push(null)}else d=
|
||||
e.aoColumns;for(a=0,b=d.length;a<b;a++){if(e.saved_aoColumns!==l&&e.saved_aoColumns.length==b)null===d[a]&&(d[a]={}),d[a].bVisible=e.saved_aoColumns[a].bVisible;o(g,c?c[a]:null)}I(g,e.aoColumnDefs,d,function(a,b){E(g,a,b)});for(a=0,b=g.aaSorting.length;a<b;a++){g.aaSorting[a][0]>=g.aoColumns.length&&(g.aaSorting[a][0]=0);var r=g.aoColumns[g.aaSorting[a][0]];g.aaSorting[a][2]===l&&(g.aaSorting[a][2]=0);e.aaSorting===l&&g.saved_aaSorting===l&&(g.aaSorting[a][1]=r.asSorting[0]);for(c=0,d=r.asSorting.length;c<
|
||||
d;c++)if(g.aaSorting[a][1]==r.asSorting[c]){g.aaSorting[a][2]=c;break}}Q(g);a=i(this).children("thead");0===a.length&&(a=[k.createElement("thead")],this.appendChild(a[0]));g.nTHead=a[0];a=i(this).children("tbody");0===a.length&&(a=[k.createElement("tbody")],this.appendChild(a[0]));g.nTBody=a[0];g.nTBody.setAttribute("role","alert");g.nTBody.setAttribute("aria-live","polite");g.nTBody.setAttribute("aria-relevant","all");a=i(this).children("tfoot");if(0<a.length)g.nTFoot=a[0],T(g.aoFooter,g.nTFoot);
|
||||
if(h)for(a=0;a<e.aaData.length;a++)G(g,e.aaData[a]);else ta(g);g.aiDisplay=g.aiDisplayMaster.slice();g.bInitialised=!0;!1===f&&$(g)}})};j.version="1.9.0";j.settings=[];j.models={};j.models.ext={afnFiltering:[],afnSortData:[],aoFeatures:[],aTypes:[],fnVersionCheck:function(e){for(var i=function(e,i){for(;e.length<i;)e+="0";return e},l=j.ext.sVersion.split("."),e=e.split("."),r="",k="",t=0,v=e.length;t<v;t++)r+=i(l[t],3),k+=i(e[t],3);return parseInt(r,10)>=parseInt(k,10)},iApiIndex:0,ofnSearch:{},oApi:{},
|
||||
oStdClasses:{},oJUIClasses:{},oPagination:{},oSort:{},sVersion:j.version,sErrMode:"alert",_oExternConfig:{iNextUnique:0}};j.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};j.models.oRow={nTr:null,_aData:[],_aSortData:[],_anHidden:[],_sRowStripe:""};j.models.oColumn={aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bUseRendered:null,bVisible:null,_bAutoType:!0,fnCreatedCell:null,fnGetData:null,fnRender:null,fnSetData:null,mDataProp:null,nTh:null,nTf:null,sClass:null,
|
||||
sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};j.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:["odd","even"],bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollAutoCss:!0,bScrollCollapse:!1,
|
||||
bScrollInfinite:!1,bServerSide:!1,bSort:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCookieCallback:null,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(e){if(1E3>e)return e;for(var i=e+"",e=i.split(""),j="",i=i.length,l=0;l<i;l++)0===l%3&&0!==l&&(j=this.oLanguage.sInfoThousands+j),j=e[i-l-1]+j;return j},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:function(e,j,l,k){k.jqXHR=i.ajax({url:e,
|
||||
data:j,success:function(e){i(k.oInstance).trigger("xhr",k);l(e)},dataType:"json",cache:!1,type:k.sServerMethod,error:function(e,i){"parsererror"==i&&alert("DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})},fnServerParams:null,fnStateLoad:function(e){var e=this.oApi._fnReadCookie(e.sCookiePrefix+e.sInstance),j;try{j="function"===typeof i.parseJSON?i.parseJSON(e):eval("("+e+")")}catch(l){j=null}return j},fnStateLoadParams:null,fnStateLoaded:null,
|
||||
fnStateSave:function(e,i){this.oApi._fnCreateCookie(e.sCookiePrefix+e.sInstance,this.oApi._fnJsonString(i),e.iCookieDuration,e.sCookiePrefix,e.fnCookieCallback)},fnStateSaveParams:null,iCookieDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iScrollLoadGap:100,iTabIndex:0,oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",
|
||||
sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sInfoThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sUrl:"",sZeroRecords:"No matching records found"},oSearch:i.extend({},j.models.oSearch),sAjaxDataProp:"aaData",sAjaxSource:null,sCookiePrefix:"SpryMedia_DataTables_",sDom:"lfrtip",sPaginationType:"two_button",sScrollX:"",
|
||||
sScrollXInner:"",sScrollY:"",sServerMethod:"GET"};j.defaults.columns={aDataSort:null,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bUseRendered:!0,bVisible:!0,fnCreatedCell:null,fnRender:null,iDataSort:-1,mDataProp:null,sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};j.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,
|
||||
bSortClasses:null,bStateSave:null},oScroll:{bAutoCss:null,bCollapse:null,bInfinite:null,iBarWidth:0,iLoadGap:null,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],asDataSearch:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:null,asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],
|
||||
aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,sPaginationType:"two_button",iCookieDuration:0,sCookiePrefix:"",fnCookieCallback:null,aoStateSave:[],aoStateLoad:[],oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,
|
||||
aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iDisplayEnd:10,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length},fnRecordsDisplay:function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length},fnDisplayEnd:function(){return this.oFeatures.bServerSide?
|
||||
!1===this.oFeatures.bPaginate||-1==this._iDisplayLength?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd},oInstance:null,sInstance:null,iTabIndex:0};j.ext=i.extend(!0,{},j.models.ext);i.extend(j.ext.oStdClasses,{sTable:"dataTable",sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",
|
||||
sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",
|
||||
sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",
|
||||
sFooterTH:""});i.extend(j.ext.oJUIClasses,j.ext.oStdClasses,{sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",
|
||||
sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPageLast:"last ui-corner-tr ui-corner-br",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",
|
||||
sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead ui-state-default",sScrollFoot:"dataTables_scrollFoot ui-state-default",sFooterTH:"ui-state-default"});i.extend(j.ext.oPagination,
|
||||
{two_button:{fnInit:function(e,j,l){var k=e.oLanguage.oPaginate,s=function(i){e.oApi._fnPageChange(e,i.data.action)&&l(e)},k=!e.bJUI?'<a class="'+e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+'" role="button">'+k.sPrevious+'</a><a class="'+e.oClasses.sPageNextDisabled+'" tabindex="'+e.iTabIndex+'" role="button">'+k.sNext+"</a>":'<a class="'+e.oClasses.sPagePrevDisabled+'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUIPrev+'"></span></a><a class="'+e.oClasses.sPageNextDisabled+
|
||||
'" tabindex="'+e.iTabIndex+'" role="button"><span class="'+e.oClasses.sPageJUINext+'"></span></a>';i(j).append(k);var t=i("a",j),k=t[0],t=t[1];e.oApi._fnBindAction(k,{action:"previous"},s);e.oApi._fnBindAction(t,{action:"next"},s);if(!e.aanFeatures.p)j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_previous",t.id=e.sTableId+"_next",k.setAttribute("aria-controls",e.sTableId),t.setAttribute("aria-controls",e.sTableId)},fnUpdate:function(e){if(e.aanFeatures.p)for(var i=e.oClasses,j=e.aanFeatures.p,l=0,
|
||||
k=j.length;l<k;l++)if(0!==j[l].childNodes.length)j[l].childNodes[0].className=0===e._iDisplayStart?i.sPagePrevDisabled:i.sPagePrevEnabled,j[l].childNodes[1].className=e.fnDisplayEnd()==e.fnRecordsDisplay()?i.sPageNextDisabled:i.sPageNextEnabled}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(e,j,l){var k=e.oLanguage.oPaginate,s=e.oClasses,t=function(i){e.oApi._fnPageChange(e,i.data.action)&&l(e)};i(j).append('<a tabindex="'+e.iTabIndex+'" class="'+s.sPageButton+" "+s.sPageFirst+'">'+k.sFirst+
|
||||
'</a><a tabindex="'+e.iTabIndex+'" class="'+s.sPageButton+" "+s.sPagePrevious+'">'+k.sPrevious+'</a><span></span><a tabindex="'+e.iTabIndex+'" class="'+s.sPageButton+" "+s.sPageNext+'">'+k.sNext+'</a><a tabindex="'+e.iTabIndex+'" class="'+s.sPageButton+" "+s.sPageLast+'">'+k.sLast+"</a>");var v=i("a",j),k=v[0],s=v[1],B=v[2],v=v[3];e.oApi._fnBindAction(k,{action:"first"},t);e.oApi._fnBindAction(s,{action:"previous"},t);e.oApi._fnBindAction(B,{action:"next"},t);e.oApi._fnBindAction(v,{action:"last"},
|
||||
t);if(!e.aanFeatures.p)j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_first",s.id=e.sTableId+"_previous",B.id=e.sTableId+"_next",v.id=e.sTableId+"_last"},fnUpdate:function(e,l){if(e.aanFeatures.p){var k=j.ext.oPagination.iFullNumbersShowPages,r=Math.floor(k/2),s=Math.ceil(e.fnRecordsDisplay()/e._iDisplayLength),t=Math.ceil(e._iDisplayStart/e._iDisplayLength)+1,v="",B,D=e.oClasses,x,I=e.aanFeatures.p,G=function(i){e.oApi._fnBindAction(this,{page:i+B-1},function(i){e.oApi._fnPageChange(e,i.data.page);
|
||||
l(e);i.preventDefault()})};s<k?(B=1,r=s):t<=r?(B=1,r=k):t>=s-r?(B=s-k+1,r=s):(B=t-Math.ceil(k/2)+1,r=B+k-1);for(k=B;k<=r;k++)v+=t!==k?'<a tabindex="'+e.iTabIndex+'" class="'+D.sPageButton+'">'+e.fnFormatNumber(k)+"</a>":'<a tabindex="'+e.iTabIndex+'" class="'+D.sPageButtonActive+'">'+e.fnFormatNumber(k)+"</a>";for(k=0,r=I.length;k<r;k++)0!==I[k].childNodes.length&&(i("span:eq(0)",I[k]).html(v).children("a").each(G),x=I[k].getElementsByTagName("a"),x=[x[0],x[1],x[x.length-2],x[x.length-1]],i(x).removeClass(D.sPageButton+
|
||||
" "+D.sPageButtonActive+" "+D.sPageButtonStaticDisabled),i([x[0],x[1]]).addClass(1==t?D.sPageButtonStaticDisabled:D.sPageButton),i([x[2],x[3]]).addClass(0===s||t===s||-1===e._iDisplayLength?D.sPageButtonStaticDisabled:D.sPageButton))}}}});i.extend(j.ext.oSort,{"string-pre":function(e){"string"!=typeof e&&(e="");return e.toLowerCase()},"string-asc":function(e,i){return e<i?-1:e>i?1:0},"string-desc":function(e,i){return e<i?1:e>i?-1:0},"html-pre":function(e){return e.replace(/<.*?>/g,"").toLowerCase()},
|
||||
"html-asc":function(e,i){return e<i?-1:e>i?1:0},"html-desc":function(e,i){return e<i?1:e>i?-1:0},"date-pre":function(e){e=Date.parse(e);if(isNaN(e)||""===e)e=Date.parse("01/01/1970 00:00:00");return e},"date-asc":function(e,i){return e-i},"date-desc":function(e,i){return i-e},"numeric-pre":function(e){return"-"==e||""===e?0:1*e},"numeric-asc":function(e,i){return e-i},"numeric-desc":function(e,i){return i-e}});i.extend(j.ext.aTypes,[function(e){if("number"===typeof e)return"numeric";if("string"!==
|
||||
typeof e)return null;var i,j=!1;i=e.charAt(0);if(-1=="0123456789-".indexOf(i))return null;for(var k=1;k<e.length;k++){i=e.charAt(k);if(-1=="0123456789.".indexOf(i))return null;if("."==i){if(j)return null;j=!0}}return"numeric"},function(e){var i=Date.parse(e);return null!==i&&!isNaN(i)||"string"===typeof e&&0===e.length?"date":null},function(e){return"string"===typeof e&&-1!=e.indexOf("<")&&-1!=e.indexOf(">")?"html":null}]);i.fn.DataTable=j;i.fn.dataTable=j;i.fn.dataTableSettings=j.settings;i.fn.dataTableExt=
|
||||
j.ext})(jQuery,window,document,void 0);
|
||||
|
|
|
@ -1,94 +0,0 @@
|
|||
var giTotalTestCount = 0;
|
||||
var giActiveModule = 0;
|
||||
var giModuleTests;
|
||||
var giStartTime;
|
||||
var giTest;
|
||||
var gbStop = false;
|
||||
var gtoTest;
|
||||
|
||||
function fnTestStart ( sTestInfo )
|
||||
{
|
||||
gaoTest[ giActiveModule ].iTests++;
|
||||
document.getElementById('test_info').innerHTML +=
|
||||
(giActiveModule+1)+'.'+(giModuleTests+1)+'. '+sTestInfo+'... ';
|
||||
document.getElementById('test_number').innerHTML = giTotalTestCount+1;
|
||||
giModuleTests++;
|
||||
giTotalTestCount++;
|
||||
|
||||
/* Set a timer to catch stalled script */
|
||||
gtoTest = setTimeout( function () {
|
||||
fnMessage( '<span class="error">WARNING - test script stalled. Likely a JS error</span>' );
|
||||
gbStop = true;
|
||||
}, 3000 );
|
||||
}
|
||||
|
||||
function fnTestResult ( bResult )
|
||||
{
|
||||
clearTimeout( gtoTest );
|
||||
if ( bResult )
|
||||
{
|
||||
fnMessage( 'Passed' );
|
||||
}
|
||||
else
|
||||
{
|
||||
fnMessage( '<span class="error">FAILED</span>' );
|
||||
gbStop = true;
|
||||
fnEnd( false );
|
||||
}
|
||||
}
|
||||
|
||||
function fnUnitStart( iTest )
|
||||
{
|
||||
if ( !gbStop )
|
||||
{
|
||||
giModuleTests = 0;
|
||||
window.parent.test_arena.location.href =
|
||||
(iTest==0?"":"../")+'templates/'+gaoTest[iTest].sTemplate+'.php?scripts='+gaoTest[iTest].sTest;
|
||||
giTest = iTest;
|
||||
}
|
||||
}
|
||||
|
||||
function fnStartMessage( sMessage )
|
||||
{
|
||||
fnMessage( '<br><b>'+gaoTest[giTest].sGroup+' - '+sMessage+'</b>' );
|
||||
}
|
||||
|
||||
function fnMessage( sMessage )
|
||||
{
|
||||
var nInfo = document.getElementById('test_info');
|
||||
nInfo.innerHTML += sMessage+'<br>';
|
||||
nInfo.scrollTop = nInfo.scrollHeight;
|
||||
}
|
||||
|
||||
function fnUnitComplete()
|
||||
{
|
||||
if ( giActiveModule < gaoTest.length - 1 )
|
||||
{
|
||||
fnUnitStart( ++giActiveModule );
|
||||
}
|
||||
else
|
||||
{
|
||||
fnEnd( true );
|
||||
}
|
||||
}
|
||||
|
||||
function fnEnd( bSuccess )
|
||||
{
|
||||
var iEndTime = new Date().getTime();
|
||||
var sTime = '<br>This test run took '+parseInt((iEndTime-giStartTime)/1000, 10)+
|
||||
' second(s) to complete.';
|
||||
|
||||
if ( bSuccess )
|
||||
{
|
||||
$('#test_running').html( 'Tests complete. '+giTotalTestCount+' tests were run.'+sTime );
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#test_running').html( 'Unit tests failed at test '+giTotalTestCount+'.'+sTime );
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready( function () {
|
||||
giStartTime = new Date().getTime();
|
||||
fnUnitStart( giActiveModule );
|
||||
} );
|
|
@ -1,100 +0,0 @@
|
|||
<?php
|
||||
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Cache-Control: post-check=0, pre-check=0', false );
|
||||
header( 'Pragma: no-cache' );
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
||||
<title>DataTables unit test controller</title>
|
||||
|
||||
<style type="text/css" media="screen">
|
||||
#controller {
|
||||
font: 12px/1.45em "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0 0 0 0.5em;
|
||||
color: #333;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#test_info {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
font-size: 11px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#controller h1 {
|
||||
color: #4E6CA3;
|
||||
font-size: 18px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript" language="javascript" src="../js/jquery.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
var gaoTest = [
|
||||
<?php
|
||||
function fnReadDir( &$aReturn, $path )
|
||||
{
|
||||
$rDir = opendir( $path );
|
||||
while ( ($file = readdir($rDir)) !== false )
|
||||
{
|
||||
if ( $file == "." || $file == ".." || $file == ".DS_Store" )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if ( is_dir( $path.'/'.$file ) )
|
||||
{
|
||||
fnReadDir( $aReturn, $path.'/'.$file );
|
||||
}
|
||||
else
|
||||
{
|
||||
array_push( $aReturn, $path.'/'.$file );
|
||||
}
|
||||
}
|
||||
closedir($rDir);
|
||||
}
|
||||
|
||||
/* Get the tests dynamically from the 'tests' directory, and their templates */
|
||||
$aFiles = array();
|
||||
fnReadDir( &$aFiles, "tests" );
|
||||
|
||||
for ( $i=0 ; $i<count($aFiles) ; $i++ )
|
||||
{
|
||||
$sTemplate;
|
||||
$fp = fopen( $aFiles[$i], "r" );
|
||||
fscanf( $fp, "// DATA_TEMPLATE: %s", &$sTemplate );
|
||||
fclose( $fp );
|
||||
|
||||
$aPath = split('/', $aFiles[$i]);
|
||||
|
||||
echo '{ '.
|
||||
'"sTemplate": "'.$sTemplate.'", '.
|
||||
'"sTest": "'.$aFiles[$i].'", '.
|
||||
'"sGroup": "'.$aPath[1].'"},'."\n";
|
||||
}
|
||||
|
||||
?>
|
||||
null ];
|
||||
gaoTest.pop(); /* No interest in the null */
|
||||
</script>
|
||||
<script type="text/javascript" language="javascript" src="controller.js"></script>
|
||||
</head>
|
||||
<body id="controller">
|
||||
<h1>DataTables unit testing</h1>
|
||||
<div id="test_running">Running test: <span id="test_number"></span></div>
|
||||
<div id="test_info">
|
||||
<b>Test information:</b><br>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,7 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
|
||||
<html>
|
||||
<frameset rows="20%,80%">
|
||||
<frame name="controller" id="controller" src="controller.php">
|
||||
<frame name="test_arena" id="test_arena">
|
||||
</frameset>
|
||||
</html>
|
|
@ -1,482 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
|
||||
|
||||
<title>DataTables example</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
$(document).ready(function() {
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
var iStart = new Date().getTime();
|
||||
|
||||
//console.profile();
|
||||
//for ( var i=0, iLen=1000 ; i<iLen ; i++ )
|
||||
//{
|
||||
// oSettings._iDisplayLength = 100;
|
||||
// oTable.oApi._fnCalculateEnd( oSettings );
|
||||
// oTable.oApi._fnDraw( oSettings );
|
||||
//
|
||||
// oSettings._iDisplayLength = 10;
|
||||
// oTable.oApi._fnCalculateEnd( oSettings );
|
||||
// oTable.oApi._fnDraw( oSettings );
|
||||
//}
|
||||
//console.profileEnd();
|
||||
|
||||
var iEnd = new Date().getTime();
|
||||
document.getElementById('output').innerHTML = "Test took "+(iEnd-iStart)+"mS";
|
||||
} );
|
||||
</script>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> performance test - draw
|
||||
</div>
|
||||
<div id="output"></div>
|
||||
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="gradeX">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 4.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">4</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.5</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 6</td>
|
||||
<td>Win 98+</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet Explorer 7</td>
|
||||
<td>Win XP SP2+</td>
|
||||
<td class="center">7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>AOL browser (AOL desktop)</td>
|
||||
<td>Win XP</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.5</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 2.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 3.0</td>
|
||||
<td>Win 2k+ / OSX.3+</td>
|
||||
<td class="center">1.9</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.0</td>
|
||||
<td>OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.5</td>
|
||||
<td>OSX.3+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape 7.2</td>
|
||||
<td>Win 95+ / Mac OS 8.6-9.2</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Browser 8</td>
|
||||
<td>Win 98SE+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Navigator 9</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.1</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.2</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.2</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.3</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.4</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.4</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.5</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.6</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.7</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.8</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Seamonkey 1.1</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Epiphany 2.20</td>
|
||||
<td>Gnome</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.2</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">125.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.3</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">312.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 2.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">419.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 3.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">522.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>OmniWeb 5.5</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">420</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>iPod Touch / iPhone</td>
|
||||
<td>iPod</td>
|
||||
<td class="center">420.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>S60</td>
|
||||
<td>S60</td>
|
||||
<td class="center">413</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.0</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.0</td>
|
||||
<td>Win 95+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.2</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.5</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera for Wii</td>
|
||||
<td>Wii</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nokia N800</td>
|
||||
<td>N800</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nintendo DS browser</td>
|
||||
<td>Nintendo DS</td>
|
||||
<td class="center">8.5</td>
|
||||
<td class="center">C/A<sup>1</sup></td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.1</td>
|
||||
<td>KDE 3.1</td>
|
||||
<td class="center">3.1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.3</td>
|
||||
<td>KDE 3.3</td>
|
||||
<td class="center">3.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.5</td>
|
||||
<td>KDE 3.5</td>
|
||||
<td class="center">3.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 4.5</td>
|
||||
<td>Mac OS 8-9</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.1</td>
|
||||
<td>Mac OS 7.6-9</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.2</td>
|
||||
<td>Mac OS 8-X</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.1</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.4</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Dillo 0.8</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Links</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Lynx</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>IE Mobile</td>
|
||||
<td>Windows Mobile 6</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>PSP browser</td>
|
||||
<td>PSP</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeU">
|
||||
<td>Other browsers</td>
|
||||
<td>All others</td>
|
||||
<td>-</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">U</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
|
||||
|
||||
<div id="footer" style="text-align:center;">
|
||||
<span style="font-size:10px;">
|
||||
DataTables © Allan Jardine 2008-2009.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,107 +0,0 @@
|
|||
<?php
|
||||
/* MySQL connection */
|
||||
include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" ); /* ;-) */
|
||||
|
||||
$gaSql['link'] = mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password'] ) or
|
||||
die( 'Could not open connection to server' );
|
||||
|
||||
mysql_select_db( $gaSql['db'], $gaSql['link'] ) or
|
||||
die( 'Could not select database '. $gaSql['db'] );
|
||||
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
|
||||
|
||||
<title>DataTables example</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
$(document).ready(function() {
|
||||
var oTable = $('#example').dataTable();
|
||||
var iStart = new Date().getTime();
|
||||
|
||||
//if ( typeof console != 'undefined' ) {
|
||||
// console.profile();
|
||||
//}
|
||||
//for ( var i=0 ; i<1 ; i++ )
|
||||
//{
|
||||
// var oTable = $('#example').dataTable({"bDestroy": true});
|
||||
//}
|
||||
//if ( typeof console != 'undefined' ) {
|
||||
// console.profileEnd();
|
||||
//}
|
||||
|
||||
oTable.fnSort( [[ 1, 'asc' ]] );
|
||||
oTable.fnSort( [[ 2, 'asc' ]] );
|
||||
oTable.fnSort( [[ 1, 'asc' ]] );
|
||||
oTable.fnSort( [[ 2, 'asc' ]] );
|
||||
|
||||
var iEnd = new Date().getTime();
|
||||
document.getElementById('output').innerHTML = "Test took "+(iEnd-iStart)+" mS";
|
||||
} );
|
||||
</script>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> performance test - draw
|
||||
</div>
|
||||
<div id="output"></div>
|
||||
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>id</th>
|
||||
<th>name</th>
|
||||
<th>phone</th>
|
||||
<th>email</th>
|
||||
<th>city</th>
|
||||
<th>zip</th>
|
||||
<th>state</th>
|
||||
<th>country</th>
|
||||
<th>zip2</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$sQuery = "
|
||||
SELECT *
|
||||
FROM testData
|
||||
LIMIT 2000
|
||||
";
|
||||
$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
|
||||
while ( $aRow = mysql_fetch_array( $rResult ) )
|
||||
{
|
||||
echo '<tr>';
|
||||
echo '<td><a href="1">'.$aRow['id'].'</a></td>';
|
||||
echo '<td>'.$aRow['name'].'</td>';
|
||||
echo '<td>'.$aRow['phone'].'</td>';
|
||||
echo '<td>'.$aRow['email'].'</td>';
|
||||
echo '<td>'.$aRow['city'].'</td>';
|
||||
echo '<td>'.$aRow['zip'].'</td>';
|
||||
echo '<td>'.$aRow['state'].'</td>';
|
||||
echo '<td>'.$aRow['country'].'</td>';
|
||||
echo '<td>'.$aRow['zip2'].'</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
|
||||
<div id="footer" style="text-align:center;">
|
||||
<span style="font-size:10px;">
|
||||
DataTables © Allan Jardine 2008-2009.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,477 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
|
||||
|
||||
<title>DataTables example</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
$(document).ready(function() {
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
var iStart = new Date().getTime();
|
||||
|
||||
//for ( var i=0, iLen=100 ; i<iLen ; i++ )
|
||||
//{
|
||||
console.profile( );
|
||||
oTable.fnPageChange( "next" );
|
||||
oTable.fnPageChange( "previous" );
|
||||
console.profileEnd( );
|
||||
//}
|
||||
|
||||
var iEnd = new Date().getTime();
|
||||
document.getElementById('output').innerHTML = "Test took "+(iEnd-iStart)+"mS";
|
||||
} );
|
||||
</script>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> performance test - draw
|
||||
</div>
|
||||
<div id="output"></div>
|
||||
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="gradeX">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 4.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">4</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.5</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 6</td>
|
||||
<td>Win 98+</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet Explorer 7</td>
|
||||
<td>Win XP SP2+</td>
|
||||
<td class="center">7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>AOL browser (AOL desktop)</td>
|
||||
<td>Win XP</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.5</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 2.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 3.0</td>
|
||||
<td>Win 2k+ / OSX.3+</td>
|
||||
<td class="center">1.9</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.0</td>
|
||||
<td>OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.5</td>
|
||||
<td>OSX.3+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape 7.2</td>
|
||||
<td>Win 95+ / Mac OS 8.6-9.2</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Browser 8</td>
|
||||
<td>Win 98SE+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Navigator 9</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.1</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.2</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.2</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.3</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.4</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.4</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.5</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.6</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.7</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.8</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Seamonkey 1.1</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Epiphany 2.20</td>
|
||||
<td>Gnome</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.2</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">125.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.3</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">312.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 2.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">419.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 3.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">522.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>OmniWeb 5.5</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">420</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>iPod Touch / iPhone</td>
|
||||
<td>iPod</td>
|
||||
<td class="center">420.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>S60</td>
|
||||
<td>S60</td>
|
||||
<td class="center">413</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.0</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.0</td>
|
||||
<td>Win 95+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.2</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.5</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera for Wii</td>
|
||||
<td>Wii</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nokia N800</td>
|
||||
<td>N800</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nintendo DS browser</td>
|
||||
<td>Nintendo DS</td>
|
||||
<td class="center">8.5</td>
|
||||
<td class="center">C/A<sup>1</sup></td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.1</td>
|
||||
<td>KDE 3.1</td>
|
||||
<td class="center">3.1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.3</td>
|
||||
<td>KDE 3.3</td>
|
||||
<td class="center">3.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.5</td>
|
||||
<td>KDE 3.5</td>
|
||||
<td class="center">3.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 4.5</td>
|
||||
<td>Mac OS 8-9</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.1</td>
|
||||
<td>Mac OS 7.6-9</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.2</td>
|
||||
<td>Mac OS 8-X</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.1</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.4</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Dillo 0.8</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Links</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Lynx</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>IE Mobile</td>
|
||||
<td>Windows Mobile 6</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>PSP browser</td>
|
||||
<td>PSP</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeU">
|
||||
<td>Other browsers</td>
|
||||
<td>All others</td>
|
||||
<td>-</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">U</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
|
||||
|
||||
<div id="footer" style="text-align:center;">
|
||||
<span style="font-size:10px;">
|
||||
DataTables © Allan Jardine 2008-2009.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,477 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
|
||||
|
||||
<title>DataTables example</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
$(document).ready(function() {
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
var iStart = new Date().getTime();
|
||||
|
||||
for ( var i=0, iLen=100 ; i<iLen ; i++ )
|
||||
{
|
||||
console.profile( );
|
||||
oTable.fnSort( [[1, 'asc']] );
|
||||
oTable.fnSort( [[0, 'asc']] );
|
||||
console.profileEnd( );
|
||||
}
|
||||
|
||||
var iEnd = new Date().getTime();
|
||||
document.getElementById('output').innerHTML = "Test took "+(iEnd-iStart)+"mS";
|
||||
} );
|
||||
</script>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> performance test - draw
|
||||
</div>
|
||||
<div id="output"></div>
|
||||
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="gradeX">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 4.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">4</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.5</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 6</td>
|
||||
<td>Win 98+</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet Explorer 7</td>
|
||||
<td>Win XP SP2+</td>
|
||||
<td class="center">7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>AOL browser (AOL desktop)</td>
|
||||
<td>Win XP</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.5</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 2.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 3.0</td>
|
||||
<td>Win 2k+ / OSX.3+</td>
|
||||
<td class="center">1.9</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.0</td>
|
||||
<td>OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.5</td>
|
||||
<td>OSX.3+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape 7.2</td>
|
||||
<td>Win 95+ / Mac OS 8.6-9.2</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Browser 8</td>
|
||||
<td>Win 98SE+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Navigator 9</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.1</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.2</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.2</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.3</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.4</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.4</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.5</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.6</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.7</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.8</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Seamonkey 1.1</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Epiphany 2.20</td>
|
||||
<td>Gnome</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.2</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">125.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.3</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">312.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 2.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">419.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 3.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">522.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>OmniWeb 5.5</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">420</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>iPod Touch / iPhone</td>
|
||||
<td>iPod</td>
|
||||
<td class="center">420.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>S60</td>
|
||||
<td>S60</td>
|
||||
<td class="center">413</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.0</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.0</td>
|
||||
<td>Win 95+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.2</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.5</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera for Wii</td>
|
||||
<td>Wii</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nokia N800</td>
|
||||
<td>N800</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nintendo DS browser</td>
|
||||
<td>Nintendo DS</td>
|
||||
<td class="center">8.5</td>
|
||||
<td class="center">C/A<sup>1</sup></td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.1</td>
|
||||
<td>KDE 3.1</td>
|
||||
<td class="center">3.1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.3</td>
|
||||
<td>KDE 3.3</td>
|
||||
<td class="center">3.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.5</td>
|
||||
<td>KDE 3.5</td>
|
||||
<td class="center">3.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 4.5</td>
|
||||
<td>Mac OS 8-9</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.1</td>
|
||||
<td>Mac OS 7.6-9</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.2</td>
|
||||
<td>Mac OS 8-X</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.1</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.4</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Dillo 0.8</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Links</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Lynx</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>IE Mobile</td>
|
||||
<td>Windows Mobile 6</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>PSP browser</td>
|
||||
<td>PSP</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeU">
|
||||
<td>Other browsers</td>
|
||||
<td>All others</td>
|
||||
<td>-</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">U</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
|
||||
|
||||
<div id="footer" style="text-align:center;">
|
||||
<span style="font-size:10px;">
|
||||
DataTables © Allan Jardine 2008-2009.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,469 +0,0 @@
|
|||
<?php
|
||||
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Cache-Control: post-check=0, pre-check=0', false );
|
||||
header( 'Pragma: no-cache' );
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
|
||||
|
||||
<title>DataTables unit testing</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
|
||||
<?php
|
||||
$aScripts = split( ":", $_GET['scripts'] );
|
||||
for ( $i=0 ; $i<count($aScripts) ; $i++ )
|
||||
{
|
||||
echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> unit test template for reading DOM data
|
||||
</div>
|
||||
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
||||
<thead>
|
||||
<tr>
|
||||
<th rowspan="2" class="bl bt">Rendering engine</th>
|
||||
<th colspan="3" class="bl br bt">Browser details</th>
|
||||
<th class="br bt">CSS grade</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="bl">Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th class="br">Engine version</th>
|
||||
<th class="br bt">CSS grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="gradeX">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 4.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">4</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.5</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 6</td>
|
||||
<td>Win 98+</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet Explorer 7</td>
|
||||
<td>Win XP SP2+</td>
|
||||
<td class="center">7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>AOL browser (AOL desktop)</td>
|
||||
<td>Win XP</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.5</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 2.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 3.0</td>
|
||||
<td>Win 2k+ / OSX.3+</td>
|
||||
<td class="center">1.9</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.0</td>
|
||||
<td>OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.5</td>
|
||||
<td>OSX.3+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape 7.2</td>
|
||||
<td>Win 95+ / Mac OS 8.6-9.2</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Browser 8</td>
|
||||
<td>Win 98SE+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Navigator 9</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.1</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.2</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.2</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.3</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.4</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.4</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.5</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.6</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.7</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.8</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Seamonkey 1.1</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Epiphany 2.20</td>
|
||||
<td>Gnome</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.2</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">125.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.3</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">312.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 2.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">419.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 3.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">522.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>OmniWeb 5.5</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">420</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>iPod Touch / iPhone</td>
|
||||
<td>iPod</td>
|
||||
<td class="center">420.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>S60</td>
|
||||
<td>S60</td>
|
||||
<td class="center">413</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.0</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.0</td>
|
||||
<td>Win 95+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.2</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.5</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera for Wii</td>
|
||||
<td>Wii</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nokia N800</td>
|
||||
<td>N800</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nintendo DS browser</td>
|
||||
<td>Nintendo DS</td>
|
||||
<td class="center">8.5</td>
|
||||
<td class="center">C/A<sup>1</sup></td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.1</td>
|
||||
<td>KDE 3.1</td>
|
||||
<td class="center">3.1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.3</td>
|
||||
<td>KDE 3.3</td>
|
||||
<td class="center">3.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.5</td>
|
||||
<td>KDE 3.5</td>
|
||||
<td class="center">3.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 4.5</td>
|
||||
<td>Mac OS 8-9</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.1</td>
|
||||
<td>Mac OS 7.6-9</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.2</td>
|
||||
<td>Mac OS 8-X</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.1</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.4</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Dillo 0.8</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Links</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Lynx</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>IE Mobile</td>
|
||||
<td>Windows Mobile 6</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>PSP browser</td>
|
||||
<td>PSP</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeU">
|
||||
<td>Other browsers</td>
|
||||
<td>All others</td>
|
||||
<td>-</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">U</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,464 +0,0 @@
|
|||
<?php
|
||||
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Cache-Control: post-check=0, pre-check=0', false );
|
||||
header( 'Pragma: no-cache' );
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
|
||||
|
||||
<title>DataTables unit testing</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
|
||||
<?php
|
||||
$aScripts = split( ":", $_GET['scripts'] );
|
||||
for ( $i=0 ; $i<count($aScripts) ; $i++ )
|
||||
{
|
||||
echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> unit test template for reading DOM data
|
||||
</div>
|
||||
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="gradeX">
|
||||
<td>Trident</td>
|
||||
<td>testsearchstring <br>html & entity</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">4</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.5</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 6</td>
|
||||
<td>Win 98+</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet Explorer 7</td>
|
||||
<td>Win XP SP2+</td>
|
||||
<td class="center">7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>AOL browser (AOL desktop)</td>
|
||||
<td>Win XP</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.5</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 2.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 3.0</td>
|
||||
<td>Win 2k+ / OSX.3+</td>
|
||||
<td class="center">1.9</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.0</td>
|
||||
<td>OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.5</td>
|
||||
<td>OSX.3+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape 7.2</td>
|
||||
<td>Win 95+ / Mac OS 8.6-9.2</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Browser 8</td>
|
||||
<td>Win 98SE+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Navigator 9</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.1</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.2</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.2</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.3</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.4</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.4</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.5</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.6</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.7</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.8</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Seamonkey 1.1</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Epiphany 2.20</td>
|
||||
<td>Gnome</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.2</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">125.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.3</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">312.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 2.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">419.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 3.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">522.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>OmniWeb 5.5</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">420</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>iPod Touch / iPhone</td>
|
||||
<td>iPod</td>
|
||||
<td class="center">420.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>S60</td>
|
||||
<td>S60</td>
|
||||
<td class="center">413</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.0</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.0</td>
|
||||
<td>Win 95+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.2</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.5</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera for Wii</td>
|
||||
<td>Wii</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nokia N800</td>
|
||||
<td>N800</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nintendo DS browser</td>
|
||||
<td>Nintendo DS</td>
|
||||
<td class="center">8.5</td>
|
||||
<td class="center">C/A<sup>1</sup></td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.1</td>
|
||||
<td>KDE 3.1</td>
|
||||
<td class="center">3.1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.3</td>
|
||||
<td>KDE 3.3</td>
|
||||
<td class="center">3.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.5</td>
|
||||
<td>KDE 3.5</td>
|
||||
<td class="center">3.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 4.5</td>
|
||||
<td>Mac OS 8-9</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.1</td>
|
||||
<td>Mac OS 7.6-9</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.2</td>
|
||||
<td>Mac OS 8-X</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.1</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.4</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Dillo 0.8</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Links</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Lynx</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>IE Mobile</td>
|
||||
<td>Windows Mobile 6</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>PSP browser</td>
|
||||
<td>PSP</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeU">
|
||||
<td>Other browsers</td>
|
||||
<td>All others</td>
|
||||
<td>-</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">U</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,465 +0,0 @@
|
|||
<?php
|
||||
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Cache-Control: post-check=0, pre-check=0', false );
|
||||
header( 'Pragma: no-cache' );
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
|
||||
|
||||
<title>DataTables unit testing</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
|
||||
<?php
|
||||
$aScripts = split( ":", $_GET['scripts'] );
|
||||
for ( $i=0 ; $i<count($aScripts) ; $i++ )
|
||||
{
|
||||
echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> unit test template for reading DOM data
|
||||
</div>
|
||||
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="gradeX">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 4.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">4</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.5</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 6</td>
|
||||
<td>Win 98+</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet Explorer 7</td>
|
||||
<td>Win XP SP2+</td>
|
||||
<td class="center">7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>AOL browser (AOL desktop)</td>
|
||||
<td>Win XP</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.5</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 2.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 3.0</td>
|
||||
<td>Win 2k+ / OSX.3+</td>
|
||||
<td class="center">1.9</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.0</td>
|
||||
<td>OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.5</td>
|
||||
<td>OSX.3+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape 7.2</td>
|
||||
<td>Win 95+ / Mac OS 8.6-9.2</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Browser 8</td>
|
||||
<td>Win 98SE+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Navigator 9</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.1</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.2</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.2</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.3</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.4</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.4</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.5</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.6</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">1.6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.7</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.8</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Seamonkey 1.1</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Epiphany 2.20</td>
|
||||
<td>Gnome</td>
|
||||
<td class="center">1.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.2</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">125.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 1.3</td>
|
||||
<td>OSX.3</td>
|
||||
<td class="center">312.8</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 2.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">419.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>Safari 3.0</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">522.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>OmniWeb 5.5</td>
|
||||
<td>OSX.4+</td>
|
||||
<td class="center">420</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>iPod Touch / iPhone</td>
|
||||
<td>iPod</td>
|
||||
<td class="center">420.1</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Webkit</td>
|
||||
<td>S60</td>
|
||||
<td>S60</td>
|
||||
<td class="center">413</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 7.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.0</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 8.5</td>
|
||||
<td>Win 95+ / OSX.2+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.0</td>
|
||||
<td>Win 95+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.2</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera 9.5</td>
|
||||
<td>Win 88+ / OSX.3+</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Opera for Wii</td>
|
||||
<td>Wii</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nokia N800</td>
|
||||
<td>N800</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Presto</td>
|
||||
<td>Nintendo DS browser</td>
|
||||
<td>Nintendo DS</td>
|
||||
<td class="center">8.5</td>
|
||||
<td class="center">C/A<sup>1</sup></td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.1</td>
|
||||
<td>KDE 3.1</td>
|
||||
<td class="center">3.1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.3</td>
|
||||
<td>KDE 3.3</td>
|
||||
<td class="center">3.3</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>KHTML</td>
|
||||
<td>Konqureror 3.5</td>
|
||||
<td>KDE 3.5</td>
|
||||
<td class="center">3.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 4.5</td>
|
||||
<td>Mac OS 8-9</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.1</td>
|
||||
<td>Mac OS 7.6-9</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Tasman</td>
|
||||
<td>Internet Explorer 5.2</td>
|
||||
<td>Mac OS 8-X</td>
|
||||
<td class="center">1</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.1</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Misc</td>
|
||||
<td>NetFront 3.4</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Dillo 0.8</td>
|
||||
<td>Embedded devices</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Links</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeX">
|
||||
<td>Misc</td>
|
||||
<td>Lynx</td>
|
||||
<td>Text only</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>IE Mobile</td>
|
||||
<td>Windows Mobile 6</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Misc</td>
|
||||
<td>PSP browser</td>
|
||||
<td>PSP</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeU">
|
||||
<td>Other browsers</td>
|
||||
<td>All others</td>
|
||||
<td>-</td>
|
||||
<td class="center">-</td>
|
||||
<td class="center">U</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,45 +0,0 @@
|
|||
<?php
|
||||
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Cache-Control: post-check=0, pre-check=0', false );
|
||||
header( 'Pragma: no-cache' );
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
|
||||
|
||||
<title>DataTables unit testing</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
$(document).ready( function () {
|
||||
$('#demo').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>' );
|
||||
} );
|
||||
</script>
|
||||
<?php
|
||||
$aScripts = split( ":", $_GET['scripts'] );
|
||||
for ( $i=0 ; $i<count($aScripts) ; $i++ )
|
||||
{
|
||||
echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> dynamic table template
|
||||
</div>
|
||||
|
||||
<h1>Live example</h1>
|
||||
<div id="demo"></div>
|
||||
<div class="spacer"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,55 +0,0 @@
|
|||
<?php
|
||||
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Cache-Control: post-check=0, pre-check=0', false );
|
||||
header( 'Pragma: no-cache' );
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
|
||||
|
||||
<title>DataTables unit testing</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
|
||||
<?php
|
||||
$aScripts = split( ":", $_GET['scripts'] );
|
||||
for ( $i=0 ; $i<count($aScripts) ; $i++ )
|
||||
{
|
||||
echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> empty table template
|
||||
</div>
|
||||
|
||||
<h1>Live example</h1>
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,124 +0,0 @@
|
|||
<?php
|
||||
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Cache-Control: post-check=0, pre-check=0', false );
|
||||
header( 'Pragma: no-cache' );
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
|
||||
|
||||
<title>DataTables unit testing</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
/* Make the data source available for testing */
|
||||
var gaaData = [
|
||||
['Trident','Internet Explorer 4.0','Win 95+','4','X'],
|
||||
['Trident','Internet Explorer 5.0','Win 95+','5','C'],
|
||||
['Trident','Internet Explorer 5.5','Win 95+','5.5','A'],
|
||||
['Trident','Internet Explorer 6','Win 98+','6','A'],
|
||||
['Trident','Internet Explorer 7','Win XP SP2+','7','A'],
|
||||
['Trident','AOL browser (AOL desktop)','Win XP','6','A'],
|
||||
['Gecko','Firefox 1.0','Win 98+ / OSX.2+','1.7','A'],
|
||||
['Gecko','Firefox 1.5','Win 98+ / OSX.2+','1.8','A'],
|
||||
['Gecko','Firefox 2.0','Win 98+ / OSX.2+','1.8','A'],
|
||||
['Gecko','Firefox 3.0','Win 2k+ / OSX.3+','1.9','A'],
|
||||
['Gecko','Camino 1.0','OSX.2+','1.8','A'],
|
||||
['Gecko','Camino 1.5','OSX.3+','1.8','A'],
|
||||
['Gecko','Netscape 7.2','Win 95+ / Mac OS 8.6-9.2','1.7','A'],
|
||||
['Gecko','Netscape Browser 8','Win 98SE+','1.7','A'],
|
||||
['Gecko','Netscape Navigator 9','Win 98+ / OSX.2+','1.8','A'],
|
||||
['Gecko','Mozilla 1.0','Win 95+ / OSX.1+',1,'A'],
|
||||
['Gecko','Mozilla 1.1','Win 95+ / OSX.1+',1.1,'A'],
|
||||
['Gecko','Mozilla 1.2','Win 95+ / OSX.1+',1.2,'A'],
|
||||
['Gecko','Mozilla 1.3','Win 95+ / OSX.1+',1.3,'A'],
|
||||
['Gecko','Mozilla 1.4','Win 95+ / OSX.1+',1.4,'A'],
|
||||
['Gecko','Mozilla 1.5','Win 95+ / OSX.1+',1.5,'A'],
|
||||
['Gecko','Mozilla 1.6','Win 95+ / OSX.1+',1.6,'A'],
|
||||
['Gecko','Mozilla 1.7','Win 98+ / OSX.1+',1.7,'A'],
|
||||
['Gecko','Mozilla 1.8','Win 98+ / OSX.1+',1.8,'A'],
|
||||
['Gecko','Seamonkey 1.1','Win 98+ / OSX.2+','1.8','A'],
|
||||
['Gecko','Epiphany 2.20','Gnome','1.8','A'],
|
||||
['Webkit','Safari 1.2','OSX.3','125.5','A'],
|
||||
['Webkit','Safari 1.3','OSX.3','312.8','A'],
|
||||
['Webkit','Safari 2.0','OSX.4+','419.3','A'],
|
||||
['Webkit','Safari 3.0','OSX.4+','522.1','A'],
|
||||
['Webkit','OmniWeb 5.5','OSX.4+','420','A'],
|
||||
['Webkit','iPod Touch / iPhone','iPod','420.1','A'],
|
||||
['Webkit','S60','S60','413','A'],
|
||||
['Presto','Opera 7.0','Win 95+ / OSX.1+','-','A'],
|
||||
['Presto','Opera 7.5','Win 95+ / OSX.2+','-','A'],
|
||||
['Presto','Opera 8.0','Win 95+ / OSX.2+','-','A'],
|
||||
['Presto','Opera 8.5','Win 95+ / OSX.2+','-','A'],
|
||||
['Presto','Opera 9.0','Win 95+ / OSX.3+','-','A'],
|
||||
['Presto','Opera 9.2','Win 88+ / OSX.3+','-','A'],
|
||||
['Presto','Opera 9.5','Win 88+ / OSX.3+','-','A'],
|
||||
['Presto','Opera for Wii','Wii','-','A'],
|
||||
['Presto','Nokia N800','N800','-','A'],
|
||||
['Presto','Nintendo DS browser','Nintendo DS','8.5','C/A<sup>1</sup>'],
|
||||
['KHTML','Konqureror 3.1','KDE 3.1','3.1','C'],
|
||||
['KHTML','Konqureror 3.3','KDE 3.3','3.3','A'],
|
||||
['KHTML','Konqureror 3.5','KDE 3.5','3.5','A'],
|
||||
['Tasman','Internet Explorer 4.5','Mac OS 8-9','-','X'],
|
||||
['Tasman','Internet Explorer 5.1','Mac OS 7.6-9','1','C'],
|
||||
['Tasman','Internet Explorer 5.2','Mac OS 8-X','1','C'],
|
||||
['Misc','NetFront 3.1','Embedded devices','-','C'],
|
||||
['Misc','NetFront 3.4','Embedded devices','-','A'],
|
||||
['Misc','Dillo 0.8','Embedded devices','-','X'],
|
||||
['Misc','Links','Text only','-','X'],
|
||||
['Misc','Lynx','Text only','-','X'],
|
||||
['Misc','IE Mobile','Windows Mobile 6','-','C'],
|
||||
['Misc','PSP browser','PSP','-','C'],
|
||||
['Other browsers','All others','-','-','U']
|
||||
];
|
||||
</script>
|
||||
<?php
|
||||
$aScripts = split( ":", $_GET['scripts'] );
|
||||
for ( $i=0 ; $i<count($aScripts) ; $i++ )
|
||||
{
|
||||
echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> unit test template for reading DOM data
|
||||
</div>
|
||||
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,227 +0,0 @@
|
|||
<?php
|
||||
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Cache-Control: post-check=0, pre-check=0', false );
|
||||
header( 'Pragma: no-cache' );
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
|
||||
|
||||
<title>DataTables unit testing</title>
|
||||
<style type="text/css" title="currentStyle">
|
||||
@import "../../css/demo_page.css";
|
||||
@import "../../css/demo_table.css";
|
||||
</style>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
|
||||
<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
|
||||
<?php
|
||||
$aScripts = split( ":", $_GET['scripts'] );
|
||||
for ( $i=0 ; $i<count($aScripts) ; $i++ )
|
||||
{
|
||||
echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body id="dt_example">
|
||||
<div id="container">
|
||||
<div class="full_width big">
|
||||
<i>DataTables</i> unit test template for two tables
|
||||
</div>
|
||||
|
||||
<div id="demo">
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="gradeX">
|
||||
<td>Trident</td>
|
||||
<td>testsearchstring <br>html & entity</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">4</td>
|
||||
<td class="center">X</td>
|
||||
</tr>
|
||||
<tr class="gradeC">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.0</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5</td>
|
||||
<td class="center">C</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 5.5</td>
|
||||
<td>Win 95+</td>
|
||||
<td class="center">5.5</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet
|
||||
Explorer 6</td>
|
||||
<td>Win 98+</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>Internet Explorer 7</td>
|
||||
<td>Win XP SP2+</td>
|
||||
<td class="center">7</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Trident</td>
|
||||
<td>AOL browser (AOL desktop)</td>
|
||||
<td>Win XP</td>
|
||||
<td class="center">6</td>
|
||||
<td class="center">A</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
<th>Engine version</th>
|
||||
<th>CSS grade</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
|
||||
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example2">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 1.5</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 2.0</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Firefox 3.0</td>
|
||||
<td>Win 2k+ / OSX.3+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.0</td>
|
||||
<td>OSX.2+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Camino 1.5</td>
|
||||
<td>OSX.3+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape 7.2</td>
|
||||
<td>Win 95+ / Mac OS 8.6-9.2</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Browser 8</td>
|
||||
<td>Win 98SE+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Netscape Navigator 9</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.0</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.1</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.2</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.3</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.4</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.5</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.6</td>
|
||||
<td>Win 95+ / OSX.1+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.7</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Mozilla 1.8</td>
|
||||
<td>Win 98+ / OSX.1+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Seamonkey 1.1</td>
|
||||
<td>Win 98+ / OSX.2+</td>
|
||||
</tr>
|
||||
<tr class="gradeA">
|
||||
<td>Gecko</td>
|
||||
<td>Epiphany 2.20</td>
|
||||
<td>Gnome</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Rendering engine</th>
|
||||
<th>Browser</th>
|
||||
<th>Platform(s)</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,52 +0,0 @@
|
|||
// DATA_TEMPLATE: -complex_header
|
||||
oTest.fnStart( "Complex header" );
|
||||
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on colspan has no effect",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on non-unique TH and first TH has no effect",
|
||||
function () { $('#example thead th:eq(2)').click(); },
|
||||
function () { return $('#example tbody tr td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on non-unique TH and second TH will not sort",
|
||||
function () { $('#example thead th:eq(6)').click(); },
|
||||
function () { return $('#example tbody tr td:eq(4)').html() == "A"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on non-unique TH and second TH will not sort - reserve",
|
||||
function () { $('#example thead th:eq(6)').click(); },
|
||||
function () { return $('#example tbody tr td:eq(4)').html() == "A"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on unique TH will sort",
|
||||
function () { $('#example thead th:eq(5)').click(); },
|
||||
function () { return $('#example tbody tr td:eq(3)').html() == "-"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on unique TH will sort - reserve",
|
||||
function () { $('#example thead th:eq(5)').click(); },
|
||||
function () { return $('#example tbody tr td:eq(3)').html() == "522.1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on unique rowspan TH will sort",
|
||||
function () { $('#example thead th:eq(0)').click(); },
|
||||
function () { return $('#example tbody tr td:eq(0)').html() == "Gecko"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,41 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "iDraw - check that iDraw increments for each draw" );
|
||||
|
||||
|
||||
$(document).ready( function () {
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"After first draw, iDraw is 1",
|
||||
null,
|
||||
function () { return oSettings.iDraw == 1; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"After second draw, iDraw is 2",
|
||||
function () { oTable.fnDraw() },
|
||||
function () { return oSettings.iDraw == 2; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"After sort",
|
||||
function () { oTable.fnSort([[1,'asc']]) },
|
||||
function () { return oSettings.iDraw == 3; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"After filter",
|
||||
function () { oTable.fnFilter('gecko') },
|
||||
function () { return oSettings.iDraw == 4; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"After another filter",
|
||||
function () { oTable.fnFilter('gec') },
|
||||
function () { return oSettings.iDraw == 5; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,17 +0,0 @@
|
|||
// DATA_TEMPLATE: 2512
|
||||
oTest.fnStart( "Check filtering with BR and HTML entity" );
|
||||
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable();
|
||||
|
||||
/* Basic checks */
|
||||
oTest.fnTest(
|
||||
"Check filtering",
|
||||
function () { $('#example').dataTable().fnFilter('testsearchstring'); },
|
||||
function () { return $('#example tbody tr').length == 1; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,15 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "User given with is left when no scrolling" );
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example')[0].style.width = "80%";
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Check user width is left",
|
||||
null,
|
||||
function () { return $('#example').width() == 640; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,29 +0,0 @@
|
|||
// DATA_TEMPLATE: dymanic_table
|
||||
oTest.fnStart( "2530 - Check width's when dealing with empty strings" );
|
||||
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable( {
|
||||
"aaData": [
|
||||
['','Internet Explorer 4.0','Win 95+','4','X'],
|
||||
['','Internet Explorer 5.0','Win 95+','5','C']
|
||||
],
|
||||
"aoColumns": [
|
||||
{ "sTitle": "", "sWidth": "40px" },
|
||||
{ "sTitle": "Browser" },
|
||||
{ "sTitle": "Platform" },
|
||||
{ "sTitle": "Version", "sClass": "center" },
|
||||
{ "sTitle": "Grade", "sClass": "center" }
|
||||
]
|
||||
} );
|
||||
|
||||
/* Basic checks */
|
||||
oTest.fnTest(
|
||||
"Check calculated widths",
|
||||
null,
|
||||
function () { return $('#example tbody tr td:eq(0)').width() < 100; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,36 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "Destroy with hidden columns" );
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable( {
|
||||
"aoColumnDefs": [
|
||||
{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
|
||||
{ "bVisible": false, "aTargets": [ 3 ] }
|
||||
]
|
||||
} );
|
||||
$('#example').dataTable().fnDestroy();
|
||||
|
||||
oTest.fnTest(
|
||||
"Check that the number of columns in table is correct",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 5; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"And with scrolling",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"sScrollY": 200,
|
||||
"aoColumnDefs": [
|
||||
{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
|
||||
{ "bVisible": false, "aTargets": [ 3 ] }
|
||||
]
|
||||
} );
|
||||
$('#example').dataTable().fnDestroy();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 5; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,44 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "2600 - Display rewind when changing length" );
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Info correct on init",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Page 2",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example_info').html() == "Showing 11 to 20 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Page 3",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example_info').html() == "Showing 21 to 30 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Page 4",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example_info').html() == "Showing 31 to 40 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Page 5",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example_info').html() == "Showing 41 to 50 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Rewind",
|
||||
function () { $('#example_length select').val('100'); $('#example_length select').change(); },
|
||||
function () { return $('#example_info').html() == "Showing 1 to 57 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,54 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "2608 - State saving escaping filters" );
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable( {
|
||||
"bStateSave": true
|
||||
} );
|
||||
|
||||
oTest.fnTest(
|
||||
"Set the filter",
|
||||
function () {
|
||||
$('#example_filter input').val( '\\s*CVM\\s*$' );
|
||||
$('#example_filter input').keyup();
|
||||
},
|
||||
function () { return $('#example_filter input').val() == '\\s*CVM\\s*$'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Destroy the table and remake it - checking the filter was saved",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bStateSave": true,
|
||||
"bDestroy": true
|
||||
} );
|
||||
},
|
||||
function () { return $('#example_filter input').val() == '\\s*CVM\\s*$'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Do it again without state saving and make sure filter is empty",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true
|
||||
} );
|
||||
},
|
||||
function () { return $('#example_filter input').val() == ''; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Clean up",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bStateSave": true,
|
||||
"bDestroy": true
|
||||
} );
|
||||
$('#example_filter input').val( '' );
|
||||
$('#example_filter input').keyup();
|
||||
},
|
||||
function () { return $('#example_filter input').val() == ''; }
|
||||
);
|
||||
|
||||
oTest.fnCookieDestroy( $('#example').dataTable() );
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,40 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "2635 - Hiding column and state saving" );
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable( {
|
||||
"bStateSave": true
|
||||
} );
|
||||
|
||||
oTest.fnTest(
|
||||
"Set the hidden column",
|
||||
function () {
|
||||
$('#example').dataTable().fnSetColumnVis( 2, false );
|
||||
},
|
||||
function () { return $('#example thead th').length == 4; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Destroy the table and remake it - checking one column was removed",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bStateSave": true,
|
||||
"bDestroy": true
|
||||
} );
|
||||
},
|
||||
function () { return $('#example thead th').length == 4; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Do it again without state saving and make sure we are back to 5 columns",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true
|
||||
} );
|
||||
},
|
||||
function () { return $('#example thead th').length == 5; }
|
||||
);
|
||||
|
||||
oTest.fnCookieDestroy( $('#example').dataTable() );
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,199 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "2746 - Stable sorting" );
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Initial sort",
|
||||
null,
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Gecko' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'Firefox 1.0' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Firefox 1.5' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'Firefox 2.0';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Reserve initial sort",
|
||||
function () {
|
||||
$('#example thead th:eq(0)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Webkit' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Webkit' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'Safari 1.2' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Safari 1.3' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'Safari 2.0';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Reserve to go back to initial sort sort",
|
||||
function () {
|
||||
$('#example thead th:eq(0)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Gecko' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'Firefox 1.0' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Firefox 1.5' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'Firefox 2.0';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Reserve initial sort again",
|
||||
function () {
|
||||
$('#example thead th:eq(0)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Webkit' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Webkit' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'Safari 1.2' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Safari 1.3' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'Safari 2.0';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"And once more back to the initial sort",
|
||||
function () {
|
||||
$('#example thead th:eq(0)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Gecko' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'Firefox 1.0' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Firefox 1.5' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'Firefox 2.0';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sort on second column",
|
||||
function () {
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Other browsers' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Trident' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'All others' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'AOL browser (AOL desktop)' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'Camino 1.0';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Reserve sort on second column",
|
||||
function () {
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Webkit' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'Seamonkey 1.1' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Safari 3.0' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'Safari 2.0';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"And back to asc sorting on second column",
|
||||
function () {
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Other browsers' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Trident' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'All others' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'AOL browser (AOL desktop)' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'Camino 1.0';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sort on third column, having now sorted on second",
|
||||
function () {
|
||||
$('#example thead th:eq(2)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Other browsers' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Misc' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'All others' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Dillo 0.8' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'NetFront 3.1';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Reserve sort on third column",
|
||||
function () {
|
||||
$('#example thead th:eq(2)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Misc' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Trident' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'IE Mobile' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Internet Explorer 7' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'AOL browser (AOL desktop)';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Return sorting on third column to asc",
|
||||
function () {
|
||||
$('#example thead th:eq(2)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Other browsers' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Misc' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'All others' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Dillo 0.8' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'NetFront 3.1';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sort on first column having sorted on second then third columns",
|
||||
function () {
|
||||
$('#example thead th:eq(0)').click();
|
||||
},
|
||||
function () {
|
||||
var ret =
|
||||
$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
|
||||
$('#example tbody tr:eq(1) td:eq(0)').html() == 'Gecko' &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').html() == 'Epiphany 2.20' &&
|
||||
$('#example tbody tr:eq(1) td:eq(1)').html() == 'Camino 1.0' &&
|
||||
$('#example tbody tr:eq(2) td:eq(1)').html() == 'Camino 1.5';
|
||||
return ret;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,14 +0,0 @@
|
|||
// DATA_TEMPLATE: two_tables
|
||||
oTest.fnStart( "Initialise two tables" );
|
||||
|
||||
$(document).ready( function () {
|
||||
$('table.display').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Check that initialisation was okay",
|
||||
null,
|
||||
function () { return true; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,19 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "2840 - Restore table width on fnDestory" );
|
||||
|
||||
$(document).ready( function () {
|
||||
document.cookie = "";
|
||||
$('#example').dataTable( {
|
||||
"sScrollX": "100%",
|
||||
"sScrollXInner": "110%"
|
||||
} );
|
||||
$('#example').dataTable().fnDestroy();
|
||||
|
||||
oTest.fnTest(
|
||||
"Width after destroy",
|
||||
null,
|
||||
function () { return $('#example').width() == "800"; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,39 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "2914 - State saving with an empty array" );
|
||||
|
||||
$(document).ready( function () {
|
||||
document.cookie = "";
|
||||
$('#example').dataTable( {
|
||||
"bStateSave": true,
|
||||
"aaSorting": []
|
||||
} );
|
||||
|
||||
oTest.fnTest(
|
||||
"No sort",
|
||||
null,
|
||||
function () { return $('#example tbody td:eq(3)').html() == "4"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Next page",
|
||||
function () {
|
||||
$('#example').dataTable().fnPageChange( 'next' );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Destroy the table and remake it - checking we are still on the next page",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bStateSave": true,
|
||||
"aaSorting": [],
|
||||
"bDestroy": true
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnCookieDestroy( $('#example').dataTable() );
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,437 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "Sanity checks for DataTables with DOM data" );
|
||||
|
||||
oTest.fnTest(
|
||||
"jQuery.dataTable function",
|
||||
null,
|
||||
function () { return typeof jQuery().dataTable == "function"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"jQuery.dataTableSettings storage array",
|
||||
null,
|
||||
function () { return typeof jQuery().dataTableSettings == "object"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"jQuery.dataTableExt plugin object",
|
||||
null,
|
||||
function () { return typeof jQuery().dataTableExt == "object"; }
|
||||
);
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable();
|
||||
|
||||
/* Basic checks */
|
||||
oTest.fnTest(
|
||||
"Length changing div exists",
|
||||
null,
|
||||
function () { return document.getElementById('example_length') != null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filtering div exists",
|
||||
null,
|
||||
function () { return document.getElementById('example_filter') != null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information div exists",
|
||||
null,
|
||||
function () { return document.getElementById('example_info') != null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Pagination div exists",
|
||||
null,
|
||||
function () { return document.getElementById('example_paginate') != null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing div is off by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"10 rows shown on the first page",
|
||||
null,
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Initial sort occured",
|
||||
null,
|
||||
function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
|
||||
);
|
||||
|
||||
/* Need to use the WaitTest for sorting due to the setTimeout datatables uses */
|
||||
oTest.fnTest(
|
||||
"Sorting (first click) on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting (second click) on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting (third click) on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting (first click) on numeric column",
|
||||
function () { $('#example thead th:eq(3)').click(); },
|
||||
function () { return $('#example tbody td:eq(3)').html() == "-"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting (second click) on numeric column",
|
||||
function () { $('#example thead th:eq(3)').click(); },
|
||||
function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting multi-column (first click)",
|
||||
function () {
|
||||
$('#example thead th:eq(0)').click();
|
||||
oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
|
||||
function () { var b =
|
||||
$('#example tbody td:eq(0)').html() == "Gecko" &&
|
||||
$('#example tbody td:eq(1)').html() == "Camino 1.0"; return b; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting multi-column - sorting second column only",
|
||||
function () {
|
||||
$('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
/* Basic paging */
|
||||
oTest.fnTest(
|
||||
"Paging to second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "IE Mobile"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Paging to first page",
|
||||
function () { $('#example_previous').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Attempting to page back beyond the first page",
|
||||
function () { $('#example_previous').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
/* Changing length */
|
||||
oTest.fnTest(
|
||||
"Changing table length to 25 records",
|
||||
function () { $("select[name=example_length]").val('25').change(); },
|
||||
function () { return $('#example tbody tr').length == 25; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Changing table length to 50 records",
|
||||
function () { $("select[name=example_length]").val('50').change(); },
|
||||
function () { return $('#example tbody tr').length == 50; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Changing table length to 100 records",
|
||||
function () { $("select[name=example_length]").val('100').change(); },
|
||||
function () { return $('#example tbody tr').length == 57; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Changing table length to 10 records",
|
||||
function () { $("select[name=example_length]").val('10').change(); },
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
/*
|
||||
* Information element
|
||||
*/
|
||||
oTest.fnTest(
|
||||
"Information on zero config",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information on second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 11 to 20 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information on third page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 21 to 30 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information on last page",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information back on first page",
|
||||
function () {
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with 25 records",
|
||||
function () { $("select[name=example_length]").val('25').change(); },
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 25 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with 25 records - second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 26 to 50 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with 100 records - first page",
|
||||
function () {
|
||||
$('#example_previous').click();
|
||||
$("select[name=example_length]").val('100').change();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 57 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information back to 10 records",
|
||||
function () {
|
||||
$('#example_previous').click();
|
||||
$("select[name=example_length]").val('10').change();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with filter 'Win'",
|
||||
function () { $('#example_filter input').val("Win").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with filter 'Win' second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with filter 'Win' last page",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 31 to 31 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with filter 'Win' back to first page",
|
||||
function () {
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with filter 'Win' second page - second time",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with filter increased to 'Win 98'",
|
||||
function () { $('#example_filter input').val("Win 98").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with filter decreased to 'Win'",
|
||||
function () { $('#example_filter input').val("Win").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with filter 'Win' second page - third time",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information with filter removed",
|
||||
function () { $('#example_filter input').val("").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* Filtering
|
||||
*/
|
||||
oTest.fnTest(
|
||||
"Filter 'W' - rows",
|
||||
function () {
|
||||
/* Reset the table such that the old sorting doesn't mess things up */
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable();
|
||||
$('#example_filter input').val("W").keyup(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'W' - info",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 42 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'Wi'",
|
||||
function () { $('#example_filter input').val("Wi").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 32 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'Win'",
|
||||
function () { $('#example_filter input').val("Win").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'Win' - sorting column 1",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "AOL browser (AOL desktop)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'Win' - sorting column 1 info",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'Win' - sorting column 1 reverse",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'Win XP' - maintaing reverse sorting col 1",
|
||||
function () { $('#example_filter input').val("Win XP").keyup(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'Win XP' - sorting col 3",
|
||||
function () { $('#example thead th:eq(3)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "4"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'Win XP' - sorting col 3 - reversed",
|
||||
function () { $('#example thead th:eq(3)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "7"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'Win' - sorting col 3 - reversed info",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 6 of 6 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'nothinghere'",
|
||||
function () { $('#example_filter input').val("nothinghere").keyup(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() ==
|
||||
"No matching records found"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter 'nothinghere' - info",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter back to blank and 1st column sorting",
|
||||
function () {
|
||||
$('#example_filter input').val("").keyup();
|
||||
$('#example thead th:eq(0)').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Prefixing a filter entry",
|
||||
function () {
|
||||
$('#example_filter input').val("Win").keyup();
|
||||
$('#example_filter input').val("GeckoWin").keyup();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Prefixing a filter entry with space",
|
||||
function () {
|
||||
$('#example_filter input').val("Gecko Win").keyup();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 17 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,183 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aaSorting" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Default sorting is single column",
|
||||
null,
|
||||
function () {
|
||||
return oSettings.aaSorting.length == 1 && typeof oSettings.aaSorting[0] == 'object';
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Default sorting is first column asc",
|
||||
null,
|
||||
function () {
|
||||
return oSettings.aaSorting[0].length == 3 && oSettings.aaSorting[0][0] == 0 &&
|
||||
oSettings.aaSorting[0][1] == 'asc';
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting is applied",
|
||||
null,
|
||||
function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Custom sorting on single string column asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Custom sorting on single string column desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['1','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Custom sorting on single int column asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "-"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Custom sorting on single int column desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['1','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column sorting (2 column) - string asc / string asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['0','asc'], ['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column sorting (2 column) - string asc / string desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['0','asc'], ['1','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column sorting (2 column) - string desc / string asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['0','desc'], ['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "iPod Touch / iPhone"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column sorting (2 column) - string desc / string desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['0','desc'], ['1','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Safari 3.0"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column sorting (2 column) - string asc / int asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['0','asc'], ['3','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column sorting (2 column) - string asc / int desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['0','asc'], ['3','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "1.9"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column sorting (2 column) - string desc / int asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['0','desc'], ['3','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "125.5"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column sorting (2 column) - string desc / int desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['0','desc'], ['3','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column sorting (3 column) - string asc / int asc / string asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSorting": [['0','asc'], ['3','asc'], ['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(7) td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,60 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aaSortingFixed" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"No fixed sorting by default",
|
||||
null,
|
||||
function () {
|
||||
return oSettings.aaSortingFixed == null;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Fixed sorting on first column (string/asc) with user sorting on second column (string/asc)",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSortingFixed": [['0','asc']]
|
||||
} );
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Fixed sorting on first column (string/asc) with user sorting on second column (string/desc)",
|
||||
function () {
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/asc)",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aaSortingFixed": [['3','asc']]
|
||||
} );
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/desc)",
|
||||
function () {
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "PSP browser"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,67 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.bSeachable" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Columns are searchable by default",
|
||||
function () { oTable.fnFilter("Camino"); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html().match(/Camino/); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Disabling sorting on a column removes it from the global filter",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "bSearchable": false },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
oTable.fnFilter("Camino");
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Disabled on one column has no effect on other columns",
|
||||
function () { oTable.fnFilter("Webkit"); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Webkit"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Disable filtering on multiple columns",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
{ "bSearchable": false },
|
||||
{ "bSearchable": false },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
oTable.fnFilter("Webkit");
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filter on second disabled column",
|
||||
function () { oTable.fnFilter("Camino"); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,105 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.bSortable" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"All columns are sortable by default",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Can disable sorting from one column",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "bSortable": false },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Disabled column has no sorting class",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Other columns can still sort",
|
||||
function () {
|
||||
$('#example thead th:eq(4)').click();
|
||||
$('#example thead th:eq(4)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Disable sorting on multiple columns - no sorting classes",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "bSortable": false },
|
||||
null,
|
||||
{ "bSortable": false },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var bReturn =
|
||||
$('#example thead th:eq(1)').hasClass("sorting") ||
|
||||
$('#example thead th:eq(3)').hasClass("sorting")
|
||||
return bReturn == false;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on disabled column 1 has no effect",
|
||||
function () {
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on disabled column 2 has no effect",
|
||||
function () {
|
||||
$('#example thead th:eq(3)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Second sort on disabled column 2 has no effect",
|
||||
function () {
|
||||
$('#example thead th:eq(3)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Even with multiple disabled sorting columns other columns can still sort",
|
||||
function () {
|
||||
$('#example thead th:eq(4)').click();
|
||||
$('#example thead th:eq(4)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,145 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.bUseRendered" );
|
||||
|
||||
/* bUseRendered is used to alter sorting data, if false then the original data is used for
|
||||
* sorting rather than the rendered data
|
||||
*/
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var mTmp = 0;
|
||||
|
||||
var oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
if ( mTmp == 0 ) {
|
||||
mTmp++;
|
||||
return "aaa";
|
||||
} else
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Default for bUseRendered is true - rendered data is used for sorting",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"When bUseRendered is false, original data is used for sorting",
|
||||
function () {
|
||||
mTmp = 0;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{
|
||||
"bUseRendered": false,
|
||||
"fnRender": function (a) {
|
||||
if ( mTmp == 0 ) {
|
||||
mTmp++;
|
||||
return "aaa";
|
||||
} else {
|
||||
return a.aData[a.iDataColumn];
|
||||
}
|
||||
}
|
||||
},
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"bUseRendered set to false on one columns and true (default) on two others",
|
||||
function () {
|
||||
mTmp = 0;
|
||||
var mTmp2 = 0;
|
||||
var mTmp3 = 0;
|
||||
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
{
|
||||
"fnRender": function (a) {
|
||||
if ( mTmp == 0 ) {
|
||||
mTmp++;
|
||||
return "aaa1";
|
||||
} else {
|
||||
return a.aData[a.iDataColumn];
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"bUseRendered": false,
|
||||
"fnRender": function (a) {
|
||||
if ( mTmp2 == 0 ) {
|
||||
mTmp2++;
|
||||
return "aaa2";
|
||||
} else {
|
||||
return a.aData[a.iDataColumn];
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"fnRender": function (a) {
|
||||
if ( mTmp3 == 0 ) {
|
||||
mTmp3++;
|
||||
return "zzz3";
|
||||
} else {
|
||||
return a.aData[a.iDataColumn];
|
||||
}
|
||||
}
|
||||
},
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column rendering - 2nd column sorting",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column rendering - 3rd column sorting",
|
||||
function () {
|
||||
$('#example thead th:eq(2)').click();
|
||||
$('#example thead th:eq(2)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column rendering - 4th column sorting",
|
||||
function () { $('#example thead th:eq(3)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multi-column rendering - 5th column sorting",
|
||||
function () { $('#example thead th:eq(4)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,132 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.bVisible" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"All columns are visible by default",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 5; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Can hide one column and it removes td column from DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "bVisible": false },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 4; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Can hide one column and it removes thead th column from DOM",
|
||||
null,
|
||||
function () { return $('#example thead tr:eq(0) th').length == 4; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Can hide one column and it removes tfoot th column from DOM",
|
||||
null,
|
||||
function () { return $('#example tfoot tr:eq(0) th').length == 4; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"The correct thead column has been hidden",
|
||||
null,
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "Platform(s)" &&
|
||||
jqNodes[2].innerHTML == "Engine version" &&
|
||||
jqNodes[3].innerHTML == "CSS grade";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"The correct tbody column has been hidden",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } );
|
||||
},
|
||||
function () {
|
||||
var jqNodes = $('#example tbody tr:eq(0) td');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Gecko" &&
|
||||
jqNodes[1].innerHTML == "Gnome" &&
|
||||
jqNodes[2].innerHTML == "1.8" &&
|
||||
jqNodes[3].innerHTML == "A";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Can hide multiple columns and it removes td column from DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "bVisible": false },
|
||||
{ "bVisible": false },
|
||||
null,
|
||||
{ "bVisible": false }
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 2; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multiple hide - removes thead th column from DOM",
|
||||
null,
|
||||
function () { return $('#example thead tr:eq(0) th').length == 2; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multiple hide - removes tfoot th column from DOM",
|
||||
null,
|
||||
function () { return $('#example tfoot tr:eq(0) th').length == 2; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multiple hide - the correct thead columns have been hidden",
|
||||
null,
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "Engine version"
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Multiple hide - the correct tbody columns have been hidden",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } );
|
||||
},
|
||||
function () {
|
||||
var jqNodes = $('#example tbody tr:eq(0) td');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Gecko" &&
|
||||
jqNodes[1].innerHTML == "1"
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,175 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.fnRender" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var mTmp = 0;
|
||||
var oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
mTmp++;
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Single column - fnRender is called once for each row",
|
||||
null,
|
||||
function () { return mTmp == 57; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Confirm that fnRender passes one argument (an object) with three parameters",
|
||||
function () {
|
||||
mTmp = true;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
if ( arguments.length != 1 || typeof a.iDataRow=='undefined' ||
|
||||
typeof a.iDataColumn=='undefined' || typeof a.aData=='undefined' )
|
||||
{
|
||||
mTmp = false;
|
||||
}
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return mTmp; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRender iDataColumn is row number",
|
||||
function () {
|
||||
var iCount = 0;
|
||||
mTmp = true;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
if ( iCount != a.iDataRow )
|
||||
{
|
||||
mTmp = false;
|
||||
}
|
||||
iCount++;
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return mTmp; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRender iDataColumn is the column",
|
||||
function () {
|
||||
mTmp = true;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
if ( a.iDataColumn != 1 )
|
||||
{
|
||||
mTmp = false;
|
||||
}
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return mTmp; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRender aData is data array of correct size",
|
||||
function () {
|
||||
mTmp = true;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
if ( a.aData.length != 5 )
|
||||
{
|
||||
mTmp = false;
|
||||
}
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return mTmp; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Passed back data is put into the DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
return 'unittest';
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'unittest'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Passed back data is put into the DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
return 'unittest1';
|
||||
} },
|
||||
{ "fnRender": function (a) {
|
||||
return 'unittest2';
|
||||
} },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var bReturn =
|
||||
$('#example tbody tr:eq(0) td:eq(2)').html() == 'unittest1' &&
|
||||
$('#example tbody tr:eq(0) td:eq(3)').html() == 'unittest2';
|
||||
return bReturn; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,88 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.iDataSort" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Should know that sorting already works by default from other tests, so we can jump
|
||||
* right in here
|
||||
*/
|
||||
var oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "iDataSort": 4 },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on first column is uneffected",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on second column is the order of the fifth",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Reserve sorting on second column uses fifth column as well",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting on 5th column retains it's own sorting",
|
||||
function () { $('#example thead th:eq(4)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Use 2nd col for sorting 5th col and via-versa - no effect on first col sorting",
|
||||
function () {
|
||||
mTmp = 0;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "iDataSort": 4 },
|
||||
null,
|
||||
null,
|
||||
{ "iDataSort": 1 }
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"2nd col sorting uses fifth col",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"2nd col sorting uses fifth col - reversed",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"5th col sorting uses 2nd col",
|
||||
function () { $('#example thead th:eq(4)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"5th col sorting uses 2nd col - reversed",
|
||||
function () { $('#example thead th:eq(4)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'Seamonkey 1.1'; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,111 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.sClass" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"By default the test class hasn't been applied to the column (sanity!)",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(2)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Add a class to a single column - first row",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
null,
|
||||
{ "sClass": 'unittest' },
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(1) td:eq(2)').hasClass('unittest'); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Add a class to a single column - third row",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(3) td:eq(2)').hasClass('unittest'); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Add a class to a single column - last row",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(9) td:eq(2)').hasClass('unittest'); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Add a class to a single column - has not applied to other columns - 1st",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Add a class to a single column - has not applied to other columns - 5th",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(3) td:eq(4)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Add a class to a single column - seventh row - second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example tbody tr:eq(6) td:eq(2)').hasClass('unittest'); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Add a class to a single column - has not applied to header",
|
||||
null,
|
||||
function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Add a class to a single column - has not applied to footer",
|
||||
null,
|
||||
function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Class defined for multiple columns - first row",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
{ "sClass": 'unittest2' },
|
||||
null,
|
||||
null,
|
||||
{ "sClass": 'unittest1' },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var bReturn =
|
||||
$('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest2') &&
|
||||
$('#example tbody tr:eq(8) td:eq(3)').hasClass('unittest1');
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Class defined for multiple columns - has not applied to other columns - 5th 1",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').hasClass('unittest1') == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Class defined for multiple columns - has not applied to other columns - 5th 2",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(6) td:eq(4)').hasClass('unittest2') == false; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,27 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.sName" );
|
||||
|
||||
/* This has no effect at all in DOM methods - so we just check that it has applied the name */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
{ "sName": 'unit test' },
|
||||
null
|
||||
]
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Names are stored in the columns object",
|
||||
null,
|
||||
function () { return oSettings.aoColumns[3].sName =="unit test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,78 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.sTitle" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Column names are read from the DOM by default",
|
||||
null,
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "Browser" &&
|
||||
jqNodes[2].innerHTML == "Platform(s)" &&
|
||||
jqNodes[3].innerHTML == "Engine version" &&
|
||||
jqNodes[4].innerHTML == "CSS grade";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Can set a single column title - and others are read from DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "sTitle": 'unit test' },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "unit test" &&
|
||||
jqNodes[2].innerHTML == "Platform(s)" &&
|
||||
jqNodes[3].innerHTML == "Engine version" &&
|
||||
jqNodes[4].innerHTML == "CSS grade";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Can set multiple column titles",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "sTitle": 'unit test 1' },
|
||||
null,
|
||||
null,
|
||||
{ "sTitle": 'unit test 2' }
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "unit test 1" &&
|
||||
jqNodes[2].innerHTML == "Platform(s)" &&
|
||||
jqNodes[3].innerHTML == "Engine version" &&
|
||||
jqNodes[4].innerHTML == "unit test 2";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,84 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoColumns.sWidth" );
|
||||
|
||||
/* NOTE - we need to disable the auto width for the majority of these test in order to preform
|
||||
* these tests as the auto width will convert the width to a px value. We can do 'non-exact' tests
|
||||
* with auto width enabled however to ensure it scales columns as required
|
||||
*/
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bAutoWidth": false,
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "sWidth": '40%' },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"With auto width disabled the width for one column is appled",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)')[0].style.width == "40%"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"With auto width disabled the width for one column is appled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bAutoWidth": false,
|
||||
"aoColumns": [
|
||||
null,
|
||||
null,
|
||||
{ "sWidth": '20%' },
|
||||
{ "sWidth": '30%' },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var bReturn =
|
||||
$('#example thead th:eq(2)')[0].style.width == "20%" &&
|
||||
$('#example thead th:eq(3)')[0].style.width == "30%";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"With auto width, it will make the smallest column the largest with percentage width given",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoColumns": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
{ "sWidth": '40%' },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var anThs = $('#example thead th');
|
||||
var a0 = anThs[0].offsetWidth;
|
||||
var a1 = anThs[1].offsetWidth;
|
||||
var a2 = anThs[2].offsetWidth;
|
||||
var a3 = anThs[3].offsetWidth;
|
||||
var a4 = anThs[4].offsetWidth;
|
||||
|
||||
if ( a3>a0 && a3>a1 && a3>a2 && a3>a4 )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,112 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "aoSearchCols" );
|
||||
|
||||
/* We could be here forever testing this one, so we test a limited subset on a couple of colums */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Default should be to have a empty colums array",
|
||||
null,
|
||||
function () {
|
||||
var bReturn =
|
||||
oSettings.aoPreSearchCols[0].sSearch == 0 && !oSettings.aoPreSearchCols[0].bRegex &&
|
||||
oSettings.aoPreSearchCols[1].sSearch == 0 && !oSettings.aoPreSearchCols[1].bRegex &&
|
||||
oSettings.aoPreSearchCols[2].sSearch == 0 && !oSettings.aoPreSearchCols[2].bRegex &&
|
||||
oSettings.aoPreSearchCols[3].sSearch == 0 && !oSettings.aoPreSearchCols[3].bRegex &&
|
||||
oSettings.aoPreSearchCols[4].sSearch == 0 && !oSettings.aoPreSearchCols[4].bRegex;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Search on a single column - no regex statement given",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoSearchCols": [
|
||||
null,
|
||||
{ "sSearch": "Mozilla" },
|
||||
null,
|
||||
{ "sSearch": "1" },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example_info').html() == "Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Search on two columns - no regex statement given",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoSearchCols": [
|
||||
null,
|
||||
{ "sSearch": "Mozilla" },
|
||||
null,
|
||||
{ "sSearch": "1.5" },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1.5"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Search on single column - escape regex false",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoSearchCols": [
|
||||
{ "sSearch": ".*ML", "bEscapeRegex": false },
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example_info').html() == "Showing 1 to 3 of 3 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Search on two columns - escape regex false on first, true on second",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoSearchCols": [
|
||||
{ "sSearch": ".*ML", "bEscapeRegex": false },
|
||||
{ "sSearch": "3.3", "bEscapeRegex": true },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Konqureror 3.3"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Search on two columns (no records) - escape regex false on first, true on second",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"aoSearchCols": [
|
||||
{ "sSearch": ".*ML", "bEscapeRegex": false },
|
||||
{ "sSearch": "Allan", "bEscapeRegex": true },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,106 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "asStripClasses" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Default row striping is applied",
|
||||
null,
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('odd') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('even') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('odd') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('even');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Row striping does not effect current classes",
|
||||
null,
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('gradeA') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('gradeA') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('gradeA') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('gradeA');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Row striping on the second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('odd') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('even') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('odd') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('even');
|
||||
}
|
||||
);
|
||||
|
||||
/* No striping */
|
||||
oTest.fnTest(
|
||||
"No row striping",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"asStripClasses": []
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)')[0].className == "gradeA" &&
|
||||
$('#example tbody tr:eq(1)')[0].className == "gradeA" &&
|
||||
$('#example tbody tr:eq(2)')[0].className == "gradeA" &&
|
||||
$('#example tbody tr:eq(3)')[0].className == "gradeA";
|
||||
}
|
||||
);
|
||||
|
||||
/* Custom striping */
|
||||
oTest.fnTest(
|
||||
"Custom striping [2]",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"asStripClasses": [ 'test1', 'test2' ]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('test1') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('test2') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('test1') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('test2');
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
/* long array of striping */
|
||||
oTest.fnTest(
|
||||
"Custom striping [4]",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"asStripClasses": [ 'test1', 'test2', 'test3', 'test4' ]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('test1') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('test2') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('test3') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('test4');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Custom striping is restarted on second page [2]",
|
||||
function () { $('#example_next').click(); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('test1') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('test2') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('test3') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('test4');
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,138 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bAutoWidth" );
|
||||
|
||||
/* It's actually a little tricky to test this. We can't test absolute numbers because
|
||||
* different browsers and different platforms will render the width of the columns slightly
|
||||
* differently. However, we certainly can test the principle of what should happen (column
|
||||
* width doesn't change over pages)
|
||||
*/
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Auto width is enabled by default",
|
||||
null,
|
||||
function () { return oSettings.oFeatures.bAutoWidth; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"First column has a width assigned to it",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(0)').attr('style').match(/width/i); }
|
||||
);
|
||||
|
||||
/*
|
||||
This would seem like a better test - but there appear to be difficulties with tables
|
||||
which are bigger (calculated) than there is actually room for. I suspect this is actually
|
||||
a bug in datatables
|
||||
oTest.fnTest(
|
||||
"Check column widths on first page match second page",
|
||||
null,
|
||||
function () {
|
||||
var anThs = $('#example thead th');
|
||||
var a0 = anThs[0].offsetWidth;
|
||||
var a1 = anThs[1].offsetWidth;
|
||||
var a2 = anThs[2].offsetWidth;
|
||||
var a3 = anThs[3].offsetWidth;
|
||||
var a4 = anThs[4].offsetWidth;
|
||||
$('#example_next').click();
|
||||
var b0 = anThs[0].offsetWidth;
|
||||
var b1 = anThs[1].offsetWidth;
|
||||
var b2 = anThs[2].offsetWidth;
|
||||
var b3 = anThs[3].offsetWidth;
|
||||
var b4 = anThs[4].offsetWidth;
|
||||
console.log( a0, b0, a1, b1, a2, b2, a3, b3 );
|
||||
if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Check column widths on second page match thid page",
|
||||
null,
|
||||
function () {
|
||||
var anThs = $('#example thead th');
|
||||
var a0 = anThs[0].offsetWidth;
|
||||
var a1 = anThs[1].offsetWidth;
|
||||
var a2 = anThs[2].offsetWidth;
|
||||
var a3 = anThs[3].offsetWidth;
|
||||
var a4 = anThs[4].offsetWidth;
|
||||
$('#example_next').click();
|
||||
var b0 = anThs[0].offsetWidth;
|
||||
var b1 = anThs[1].offsetWidth;
|
||||
var b2 = anThs[2].offsetWidth;
|
||||
var b3 = anThs[3].offsetWidth;
|
||||
var b4 = anThs[4].offsetWidth;
|
||||
if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
);
|
||||
*/
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnTest(
|
||||
"Auto width can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bAutoWidth": false
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oFeatures.bAutoWidth == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"First column does not have a width assigned to it",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(0)').attr('style') == null; }
|
||||
);
|
||||
|
||||
/*
|
||||
oTest.fnTest(
|
||||
"Check column widths on first page do not match second page",
|
||||
null,
|
||||
function () {
|
||||
var anThs = $('#example thead th');
|
||||
var a0 = anThs[0].offsetWidth;
|
||||
var a1 = anThs[1].offsetWidth;
|
||||
var a2 = anThs[2].offsetWidth;
|
||||
var a3 = anThs[3].offsetWidth;
|
||||
var a4 = anThs[4].offsetWidth;
|
||||
$('#example_next').click();
|
||||
var b0 = anThs[0].offsetWidth;
|
||||
var b1 = anThs[1].offsetWidth;
|
||||
var b2 = anThs[2].offsetWidth;
|
||||
var b3 = anThs[3].offsetWidth;
|
||||
var b4 = anThs[4].offsetWidth;
|
||||
if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
);
|
||||
*/
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnTest(
|
||||
"Auto width enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bAutoWidth": true
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oFeatures.bAutoWidth; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,40 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bFilter" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Filtering div exists by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_filter') != null; }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnTest(
|
||||
"Fltering can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bFilter": false
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_filter') == null; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnTest(
|
||||
"Filtering enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bFilter": true
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_filter') != null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,130 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bInfiniteScroll" );
|
||||
|
||||
|
||||
$(document).ready( function () {
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bScrollInfinite": true,
|
||||
"sScrollY": "200px"
|
||||
} );
|
||||
|
||||
oTest.fnTest(
|
||||
"10 rows by default",
|
||||
null,
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Scroll on 20px adds 10 rows",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(20); },
|
||||
function () { return $('#example tbody tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info after 20px scroll",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 20 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes after 20px scroll",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Scroll on 10px more results in the same number of rows",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(30); },
|
||||
function () { return $('#example tbody tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info after 10 more px scroll",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 20 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Scroll to 240px adds another 10 rows",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(240); },
|
||||
function () { return $('#example tbody tr').length == 30; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info after 240px scroll",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 30 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes after 240px scroll",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 30; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Filtering will drop back to 10 rows",
|
||||
function () {
|
||||
$('div.dataTables_scrollBody').scrollTop(0);
|
||||
oTable.fnFilter('gec')
|
||||
},
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info after filtering",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 10 of 20 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes after filtering",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Scroll after filtering adds 10",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(20); },
|
||||
function () { return $('#example tbody tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes after filtering",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting will drop back to 10 rows",
|
||||
function () { oTable.fnSort([[1,'asc']]) },
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Scroll after sorting adds 10",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(20); },
|
||||
function () { return $('#example tbody tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes after scrolling",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 20; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,40 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bInfo" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Info div exists by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_info') != null; }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnTest(
|
||||
"Info can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bInfo": false
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info') == null; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnTest(
|
||||
"Info enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bInfo": true
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info') != null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,40 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bJQueryUI" );
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable( {
|
||||
"bJQueryUI": true
|
||||
} );
|
||||
|
||||
oTest.fnTest(
|
||||
"Header elements are fully wrapped by DIVs",
|
||||
null,
|
||||
function () {
|
||||
var test = true;
|
||||
$('#example thead th').each( function () {
|
||||
if ( this.childNodes > 1 ) {
|
||||
test = false;
|
||||
}
|
||||
} );
|
||||
return test;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"One div for each header element",
|
||||
null,
|
||||
function () {
|
||||
return $('#example thead th div').length == 5;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"One span for each header element, nested as child of div",
|
||||
null,
|
||||
function () {
|
||||
return $('#example thead th div>span').length == 5;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,71 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bLengthChange" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Length div exists by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_length') != null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Four default options",
|
||||
null,
|
||||
function () { return $("select[name=example_length] option").length == 4; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Default options",
|
||||
null,
|
||||
function () {
|
||||
var opts = $("select[name='example_length'] option");
|
||||
return opts[0].getAttribute('value') == 10 && opts[1].getAttribute('value') == 25 &&
|
||||
opts[2].getAttribute('value') == 50 && opts[3].getAttribute('value') == 100;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info takes length into account",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnTest(
|
||||
"Change length can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bLengthChange": false
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_length') == null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information takes length disabled into account",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnTest(
|
||||
"Length change enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bLengthChange": true
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_length') != null; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,55 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bPaginate" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Pagiantion div exists by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_paginate') != null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information div takes paging into account",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnTest(
|
||||
"Pagiantion can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bPaginate": false
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_paginate') == null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Information div takes paging disabled into account",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 57 of 57 entries"; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnTest(
|
||||
"Pagiantion enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bPaginate": true
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_paginate') != null; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,99 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bProcessing" );
|
||||
|
||||
/* It's actually a bit hard to set this one due to the fact that it will only be shown
|
||||
* when DataTables is doing some kind of processing. The server-side processing is a bit
|
||||
* better to test this than here - so we just the interal functions to enable it and check
|
||||
* that it is available
|
||||
*/
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing is off by default",
|
||||
null,
|
||||
function () { return oSettings.oFeatures.bProcessing == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing div is not in the DOM",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing div cannot be shown",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing div cannot be hidden",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnTest(
|
||||
"Processing can be enabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bProcessing": true
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oFeatures.bProcessing == true; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing div is in the DOM",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing'); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing div is hidden by default",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing div can be shown",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing').style.visibility = "visible"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing div can be hidden",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
|
||||
function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnTest(
|
||||
"Processing disabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bProcessing": false
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oFeatures.bProcessing == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing div is not in the DOM",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,18 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bServerSide" );
|
||||
|
||||
/* Not interested in server-side processing here other than to check that it is off */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Server side is off by default",
|
||||
null,
|
||||
function () { return oSettings.oFeatures.bServerSide == false; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,101 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bSort" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting is on by default",
|
||||
null,
|
||||
function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting Asc by default class applied",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(0)').hasClass("sorting_asc"); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Click on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting class removed from first column",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(0)').hasClass("sorting_asc") != true; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting asc class applied to second column",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)').hasClass("sorting_asc"); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Reverse on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting acs class removed from second column",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") != true; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting desc class applied to second column",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)').hasClass("sorting_desc"); }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnTest(
|
||||
"Pagiantion can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bSort": false
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "4"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Disabled classes applied",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(0)').hasClass('sorting_disabled'); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Click on second column has no effect",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(3)').html() == "4"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Reverse on second column has no effect",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(3)').html() == "4"; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnTest(
|
||||
"Sorting enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bSort": true
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,128 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "bSortClasses" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting classes are applied by default",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting classes are applied to all required cells",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting classes are not applied to non-sorting columns",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting multi-column - add column 1",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting multi-column - add column 2",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
|
||||
$('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting multi-column - add column 3",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
|
||||
},
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
|
||||
$('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
|
||||
$('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Remove sorting classes on single column sort",
|
||||
function () {
|
||||
$('#example thead th:eq(4)').click();
|
||||
},
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting class 1 was added",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
|
||||
);
|
||||
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnTest(
|
||||
"Sorting classes can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bSortClasses": false
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting classes disabled - add column 1 - no effect",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Sorting classes disabled - add column 2 - no effect",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnTest(
|
||||
"Sorting classes enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bSortClasses": true
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,97 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "Cookie callback" );
|
||||
|
||||
|
||||
$(document).ready( function () {
|
||||
var mPass;
|
||||
/* Note that in order to be fully effective here for saving state, there would need to be a
|
||||
* stringify function to serialise the data array
|
||||
*/
|
||||
|
||||
oTest.fnTest(
|
||||
"null by default",
|
||||
function () {
|
||||
$('#example').dataTable();
|
||||
},
|
||||
function () { return $('#example').dataTable().fnSettings().fnCookieCallback == null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Number of arguments",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"bStateSave": true,
|
||||
"fnCookieCallback": function (sName, oData, sExpires, sPath) {
|
||||
mPass = arguments.length;
|
||||
return sName + "=; expires=" + sExpires +"; path=" + sPath;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 4; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Name",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"bStateSave": true,
|
||||
"fnCookieCallback": function (sName, oData, sExpires, sPath) {
|
||||
mPass = sName=="SpryMedia_DataTables_example_dom_data.php";
|
||||
return sName + "=; expires=" + sExpires +"; path=" + sPath;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Data",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"bStateSave": true,
|
||||
"fnCookieCallback": function (sName, oData, sExpires, sPath) {
|
||||
mPass = typeof oData.iStart != 'undefined';
|
||||
return sName + "=; expires=" + sExpires +"; path=" + sPath;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Expires",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"bStateSave": true,
|
||||
"fnCookieCallback": function (sName, oData, sExpires, sPath) {
|
||||
mPass = typeof sExpires == 'string';
|
||||
return sName + "=; expires=" + sExpires +"; path=" + sPath;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Path",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"bStateSave": true,
|
||||
"fnCookieCallback": function (sName, oData, sExpires, sPath) {
|
||||
mPass = sPath.match(/media\/unit_testing\/templates/);
|
||||
return sName + "=; expires=" + sExpires +"; path=" + sPath;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnCookieDestroy( $('#example').dataTable() );
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,30 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "fnDeleteRow" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Check that the default data is sane",
|
||||
null,
|
||||
function () { return oSettings.asDataSearch.join(' ').match(/4.0/g).length == 3; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Remove the first data row, and check that hte search data has been updated",
|
||||
function () { oTable.fnDeleteRow( 0 ); },
|
||||
function () { return oSettings.asDataSearch.join(' ').match(/4.0/g).length == 2; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Check that the info element has been updated",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 10 of 56 entries"; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,80 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "fnDrawCallback" );
|
||||
|
||||
/* Fairly boring function compared to the others! */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
var mPass;
|
||||
|
||||
oTest.fnTest(
|
||||
"Default should be null",
|
||||
null,
|
||||
function () { return oSettings.fnDrawCallback == null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"One argument passed",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = -1;
|
||||
$('#example').dataTable( {
|
||||
"fnDrawCallback": function ( ) {
|
||||
mPass = arguments.length;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"That one argument is the settings object",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
oTable = $('#example').dataTable( {
|
||||
"fnDrawCallback": function ( oSettings ) {
|
||||
mPass = oSettings;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return oTable.fnSettings() == mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback called once on first draw",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"fnDrawCallback": function ( ) {
|
||||
mPass++;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback called once on each draw there after as well",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return mPass == 4; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,227 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "fnFooterCallback" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
var mPass;
|
||||
|
||||
oTest.fnTest(
|
||||
"Default should be null",
|
||||
null,
|
||||
function () { return oSettings.fnFooterCallback == null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Five arguments passed",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = -1;
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( ) {
|
||||
mPass = arguments.length;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 5; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback called once per draw",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
mPass++;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback called on paging (i.e. another draw)",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return mPass == 2; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback allows us to alter row information",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
nFoot.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tfoot th:eq(0)').html() == "Displaying 10 records"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Data array has length matching original data",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( aasData.length != 57 )
|
||||
{
|
||||
mPass = false;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Data array's column lengths match original data",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
for ( var i=0, iLen=aasData.length ; i<iLen ; i++ )
|
||||
{
|
||||
if ( aasData[i].length != 5 )
|
||||
{
|
||||
mPass = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"iStart correct on first page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iStart != 0 )
|
||||
{
|
||||
mPass = false;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"iStart correct on second page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iStart == 10 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"iEnd correct on first page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iEnd != 10 )
|
||||
{
|
||||
mPass = false;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"iEnd correct on second page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iEnd == 20 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"aiDisplay length is full data when not filtered",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
$('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( aiDisplay.length == 57 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"aiDisplay length is 9 when filtering on 'Mozilla'",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
oTable = $('#example').dataTable( {
|
||||
"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( aiDisplay.length == 9 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
oTable.fnFilter( "Mozilla" );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,227 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "fnHeaderCallback" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
var mPass;
|
||||
|
||||
oTest.fnTest(
|
||||
"Default should be null",
|
||||
null,
|
||||
function () { return oSettings.fnHeaderCallback == null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Five arguments passed",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = -1;
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( ) {
|
||||
mPass = arguments.length;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 5; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback called once per draw",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
mPass++;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback called on paging (i.e. another draw)",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return mPass == 2; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback allows us to alter row information",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example thead th:eq(0)').html() == "Displaying 10 records"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Data array has length matching original data",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( aasData.length != 57 )
|
||||
{
|
||||
mPass = false;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Data array's column lengths match original data",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
for ( var i=0, iLen=aasData.length ; i<iLen ; i++ )
|
||||
{
|
||||
if ( aasData[i].length != 5 )
|
||||
{
|
||||
mPass = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"iStart correct on first page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iStart != 0 )
|
||||
{
|
||||
mPass = false;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"iStart correct on second page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iStart == 10 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"iEnd correct on first page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iEnd != 10 )
|
||||
{
|
||||
mPass = false;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"iEnd correct on second page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iEnd == 20 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"aiDisplay length is full data when not filtered",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
$('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( aiDisplay.length == 57 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"aiDisplay length is 9 when filtering on 'Mozilla'",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
oTable = $('#example').dataTable( {
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( aiDisplay.length == 9 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
oTable.fnFilter( "Mozilla" );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,115 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "fnInfoCallback checks" );
|
||||
|
||||
$(document).ready( function () {
|
||||
var mPass;
|
||||
|
||||
$('#example').dataTable();
|
||||
|
||||
/* Basic checks */
|
||||
oTest.fnTest(
|
||||
"null by default",
|
||||
null,
|
||||
function () { return $('#example').dataTable().fnSettings().oLanguage.fnInfoCallback == null; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Agrument length",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
|
||||
mPass = arguments.length;
|
||||
return sPre;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 6; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Settings first",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
|
||||
mPass = (oS == $('#example').dataTable().fnSettings()) ? true : false;
|
||||
return sPre;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Start arg",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
|
||||
return iStart;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example_info').html() == "1"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"End arg",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
|
||||
return iEnd;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example_info').html() == "10"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Max arg",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
|
||||
return iMax;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example_info').html() == "57"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Max arg - filter",
|
||||
function () {
|
||||
$('#example').dataTable().fnFilter("1.0");
|
||||
},
|
||||
function () { return $('#example_info').html() == "57"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Total arg",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bDestroy": true,
|
||||
"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
|
||||
return iTotal;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example_info').html() == "57"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Total arg - filter",
|
||||
function () {
|
||||
$('#example').dataTable().fnFilter("1.0");
|
||||
},
|
||||
function () { return $('#example_info').html() == "3"; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,94 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "fnInitComplete" );
|
||||
|
||||
/* Fairly boring function compared to the others! */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
var mPass;
|
||||
|
||||
oTest.fnTest(
|
||||
"Default should be null",
|
||||
null,
|
||||
function () { return oSettings.fnInitComplete == null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"One argument passed (for DOM!)",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = -1;
|
||||
$('#example').dataTable( {
|
||||
"fnInitComplete": function ( ) {
|
||||
mPass = arguments.length;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"That one argument is the settings object",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
oTable = $('#example').dataTable( {
|
||||
"fnInitComplete": function ( oSettings ) {
|
||||
mPass = oSettings;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return oTable.fnSettings() == mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"fnInitComplete called once on first draw",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"fnInitComplete": function ( ) {
|
||||
mPass++;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"fnInitComplete never called there after",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"10 rows in the table on complete",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"fnInitComplete": function ( ) {
|
||||
mPass = $('#example tbody tr').length;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 10; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,105 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "fnRowCallback" );
|
||||
|
||||
/* Note - fnRowCallback MUST return the first arguments (modified or not) */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
var mPass;
|
||||
|
||||
oTest.fnTest(
|
||||
"Default should be null",
|
||||
null,
|
||||
function () { return oSettings.fnRowCallback == null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Four arguments passed",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = -1;
|
||||
$('#example').dataTable( {
|
||||
"fnRowCallback": function ( nTr ) {
|
||||
mPass = arguments.length;
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 4; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback called once for each drawn row",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
|
||||
mPass++;
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 10; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"fnRowCallback allows us to alter row information",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
|
||||
$(nTr).addClass('unit_test');
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(1)').hasClass('unit_test'); }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Data array has length matching columns",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
|
||||
if ( asData.length != 5 )
|
||||
mPass = false;
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Data array has length matching columns",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
var iCount = 0;
|
||||
$('#example').dataTable( {
|
||||
"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
|
||||
if ( iCount != iDrawIndex )
|
||||
mPass = false;
|
||||
iCount++;
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,76 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "iDisplayLength" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable();
|
||||
|
||||
oTest.fnTest(
|
||||
"Default length is ten",
|
||||
null,
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Select menu shows 10",
|
||||
null,
|
||||
function () { return $('#example_length select').val() == 10; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Set initial length to 25",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"iDisplayLength": 25
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr').length == 25; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Select menu shows 25",
|
||||
null,
|
||||
function () { return $('#example_length select').val() == 25; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Set initial length to 100",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"iDisplayLength": 100
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr').length == 57; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Select menu shows 25",
|
||||
null,
|
||||
function () { return $('#example_length select').val() == 100; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Set initial length to 23 (unknown select menu length)",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"iDisplayLength": 23
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr').length == 23; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Select menu shows 10 (since 23 is unknow)",
|
||||
null,
|
||||
function () { return $('#example_length select').val() == 10; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,80 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "oLanguage.oPaginate" );
|
||||
|
||||
/* Note that the paging language information only has relevence in full numbers */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( { "sPaginationType": "full_numbers" } );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"oLanguage.oPaginate defaults",
|
||||
null,
|
||||
function () {
|
||||
var bReturn =
|
||||
oSettings.oLanguage.oPaginate.sFirst == "First" &&
|
||||
oSettings.oLanguage.oPaginate.sPrevious == "Previous" &&
|
||||
oSettings.oLanguage.oPaginate.sNext == "Next" &&
|
||||
oSettings.oLanguage.oPaginate.sLast == "Last";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"oLanguage.oPaginate defaults are in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var bReturn =
|
||||
$('#example_paginate .first').html() == "First" &&
|
||||
$('#example_paginate .previous').html() == "Previous" &&
|
||||
$('#example_paginate .next').html() == "Next" &&
|
||||
$('#example_paginate .last').html() == "Last";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"oLanguage.oPaginate can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"sPaginationType": "full_numbers",
|
||||
"oLanguage": {
|
||||
"oPaginate": {
|
||||
"sFirst": "unit1",
|
||||
"sPrevious": "test2",
|
||||
"sNext": "unit3",
|
||||
"sLast": "test4"
|
||||
}
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () {
|
||||
var bReturn =
|
||||
oSettings.oLanguage.oPaginate.sFirst == "unit1" &&
|
||||
oSettings.oLanguage.oPaginate.sPrevious == "test2" &&
|
||||
oSettings.oLanguage.oPaginate.sNext == "unit3" &&
|
||||
oSettings.oLanguage.oPaginate.sLast == "test4";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"oLanguage.oPaginate definitions are in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var bReturn =
|
||||
$('#example_paginate .first').html() == "unit1" &&
|
||||
$('#example_paginate .previous').html() == "test2" &&
|
||||
$('#example_paginate .next').html() == "unit3" &&
|
||||
$('#example_paginate .last').html() == "test4";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,109 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "oLanguage.sInfo" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language is 'Showing _START_ to _END_ of _TOTAL_ entries' by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sInfo == "Showing _START_ to _END_ of _TOTAL_ entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language default is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language can be defined - without any macros",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfo": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sInfo == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language definition is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language can be defined - with macro _START_ only",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _START_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 1 test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language can be defined - with macro _END_ only",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _END_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 10 test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language can be defined - with macro _TOTAL_ only",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _END_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 57 test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language can be defined - with macros _START_ and _END_",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _START_ _END_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 1 10 test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language can be defined - with macros _START_, _END_ and _TOTAL_",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _START_ _END_ _TOTAL_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 1 10 57 test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,75 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "oLanguage.sInfoEmpty" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Info empty language is 'Showing 0 to 0 of 0 entries' by default",
|
||||
function () { oTable.fnFilter("nothinghere"); },
|
||||
function () { return oSettings.oLanguage.sInfoEmpty == "Showing 0 to 0 of 0 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info empty language default is in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var bReturn = document.getElementById('example_info').innerHTML.replace(
|
||||
' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
|
||||
"Showing 0 to 0 of 0 entries";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Info empty language can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfoEmpty": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
oTable.fnFilter("nothinghere");
|
||||
},
|
||||
function () { return oSettings.oLanguage.sInfoEmpty == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info empty language default is in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var bReturn = document.getElementById('example_info').innerHTML.replace(
|
||||
' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
|
||||
"unit test";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Macro's not replaced",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfoEmpty": "unit _START_ _END_ _TOTAL_ test"
|
||||
}
|
||||
} );
|
||||
oTable.fnFilter("nothinghere");
|
||||
},
|
||||
function () {
|
||||
var bReturn = document.getElementById('example_info').innerHTML.replace(
|
||||
' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
|
||||
"unit _START_ _END_ _TOTAL_ test";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,73 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "oLanguage.sInfoPostFix" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Info post fix language is '' (blank) by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sInfoPostFix == ""; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Width no post fix, the basic info shows",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Info post fix language can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfoPostFix": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sInfoPostFix == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info empty language default is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Macros have no effect in the post fix",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfoPostFix": "unit _START_ _END_ _TOTAL_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit _START_ _END_ _TOTAL_ test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Post fix is applied after fintering info",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sInfoPostFix": "unit test"
|
||||
}
|
||||
} );
|
||||
oTable.fnFilter("nothinghere");
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 0 to 0 of 0 entries unit (filtered from 57 total entries) test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,101 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "oLanguage.sLengthMenu" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable();
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Menu language is 'Show _MENU_ entries' by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sLengthMenu == "Show _MENU_ entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"_MENU_ macro is replaced by select menu in DOM",
|
||||
null,
|
||||
function () { return $('select', oSettings.aanFeatures.l[0]).length == 1 }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Default is put into DOM",
|
||||
null,
|
||||
function () {
|
||||
var anChildren = oSettings.aanFeatures.l[0].childNodes;
|
||||
var bReturn =
|
||||
anChildren[0].nodeValue == "Show " &&
|
||||
anChildren[2].nodeValue == " entries";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Menu length language can be defined - no _MENU_ macro",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sLengthMenu": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sLengthMenu == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Menu length language definition is in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var anChildren = oSettings.aanFeatures.l[0].childNodes;
|
||||
return anChildren[0].nodeValue == "unit test";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Menu length language can be defined - with _MENU_ macro",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sLengthMenu": "unit _MENU_ test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () {
|
||||
var anChildren = oSettings.aanFeatures.l[0].childNodes;
|
||||
var bReturn =
|
||||
anChildren[0].nodeValue == "unit " &&
|
||||
anChildren[2].nodeValue == " test";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Only the _MENU_ macro",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"oLanguage": {
|
||||
"sLengthMenu": "_MENU_"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () {
|
||||
var anChildren = oSettings.aanFeatures.l[0].childNodes;
|
||||
var bReturn =
|
||||
anChildren.length == 1 &&
|
||||
$('select', oSettings.aanFeatures.l[0]).length == 1;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -1,47 +0,0 @@
|
|||
// DATA_TEMPLATE: dom_data
|
||||
oTest.fnStart( "oLanguage.sProcessing" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bProcessing": true
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing language is 'Processing...' by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sProcessing == "Processing..."; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing language default is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_processing').innerHTML = "Processing..."; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing language can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bProcessing": true,
|
||||
"oLanguage": {
|
||||
"sProcessing": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sProcessing == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing language definition is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_processing').innerHTML = "unit test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|