Compare commits

...

6 Commits

Author SHA1 Message Date
David Miller
c1fc29bfe4 sb admin 2 version update in bower 2015-04-21 01:02:54 -04:00
David Miller
b6e856a925 update bower version and dependencies 2015-04-21 01:01:39 -04:00
David Miller
00b5ca81c3 Merge pull request #43 from marcelod/gh-pages
add icons bootstrap in view page
2015-02-21 01:13:24 -05:00
Marcelo Diniz
c98dee92a4 add icons bootstrap in view page 2015-02-10 15:07:09 -02:00
David Miller
1eb473786c Merge pull request #42 from marcelod/gh-pages
link folder datatables correct
2015-02-09 20:55:10 -05:00
Marcelo Diniz
22402586d2 link folder datatables correct 2015-02-09 18:29:43 -02:00
93 changed files with 1728 additions and 835 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "startbootstrap-sb-admin-2", "name": "startbootstrap-sb-admin-2",
"version": "1.0.4", "version": "1.0.7",
"homepage": "http://startbootstrap.com/template-overviews/sb-admin-2/", "homepage": "http://startbootstrap.com/template-overviews/sb-admin-2/",
"authors": [ "authors": [
"David Miller" "David Miller"

View File

@@ -1,7 +1,7 @@
{ {
"name": "bootstrap", "name": "bootstrap",
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
"version": "3.3.2", "version": "3.3.4",
"keywords": [ "keywords": [
"css", "css",
"js", "js",
@@ -20,7 +20,8 @@
"dist/fonts/glyphicons-halflings-regular.eot", "dist/fonts/glyphicons-halflings-regular.eot",
"dist/fonts/glyphicons-halflings-regular.svg", "dist/fonts/glyphicons-halflings-regular.svg",
"dist/fonts/glyphicons-halflings-regular.ttf", "dist/fonts/glyphicons-halflings-regular.ttf",
"dist/fonts/glyphicons-halflings-regular.woff" "dist/fonts/glyphicons-halflings-regular.woff",
"dist/fonts/glyphicons-halflings-regular.woff2"
], ],
"ignore": [ "ignore": [
"/.*", "/.*",
@@ -35,11 +36,11 @@
"dependencies": { "dependencies": {
"jquery": ">= 1.9.1" "jquery": ">= 1.9.1"
}, },
"_release": "3.3.2", "_release": "3.3.4",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v3.3.2", "tag": "v3.3.4",
"commit": "bcf7dd38b5ab180256e2e4fb5da0369551b3f082" "commit": "a10eb60bc0b07b747fa0c4ebd8821eb7307bd07f"
}, },
"_source": "git://github.com/twbs/bootstrap.git", "_source": "git://github.com/twbs/bootstrap.git",
"_target": "~3.3.1", "_target": "~3.3.1",

View File

@@ -191,7 +191,7 @@ module.exports = function (grunt) {
src: 'dist/css/<%= pkg.name %>-theme.css' src: 'dist/css/<%= pkg.name %>-theme.css'
}, },
docs: { docs: {
src: 'docs/assets/css/src/docs.css' src: ['docs/assets/css/anchor.css', 'docs/assets/css/src/docs.css']
}, },
examples: { examples: {
expand: true, expand: true,
@@ -223,6 +223,8 @@ module.exports = function (grunt) {
cssmin: { cssmin: {
options: { options: {
// TODO: disable `zeroUnits` optimization once clean-css 3.2 is released
// and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
compatibility: 'ie8', compatibility: 'ie8',
keepSpecialComments: '*', keepSpecialComments: '*',
advanced: false advanced: false
@@ -237,8 +239,10 @@ module.exports = function (grunt) {
}, },
docs: { docs: {
src: [ src: [
'docs/assets/css/src/docs.css', 'docs/assets/css/src/pygments-manni.css',
'docs/assets/css/src/pygments-manni.css' 'docs/assets/css/src/anchor.css',
'docs/assets/css/src/docs.css'
], ],
dest: 'docs/assets/css/docs.min.css' dest: 'docs/assets/css/docs.min.css'
} }
@@ -278,12 +282,17 @@ module.exports = function (grunt) {
copy: { copy: {
fonts: { fonts: {
expand: true,
src: 'fonts/*', src: 'fonts/*',
dest: 'dist/' dest: 'dist/'
}, },
docs: { docs: {
src: 'dist/*/*', expand: true,
dest: 'docs/' cwd: 'dist/',
src: [
'**/*'
],
dest: 'docs/dist/'
} }
}, },
@@ -323,22 +332,15 @@ module.exports = function (grunt) {
} }
}, },
validation: { htmllint: {
options: { options: {
charset: 'utf-8', ignore: [
doctype: 'HTML5', 'Attribute "autocomplete" not allowed on element "button" at this point.',
failHard: true, 'Attribute "autocomplete" not allowed on element "input" at this point.',
reset: true, 'Element "img" is missing required attribute "src".'
relaxerror: [
'Element img is missing required attribute src.',
'Attribute autocomplete not allowed on element input at this point.',
'Attribute autocomplete not allowed on element button at this point.',
'Bad value separator for attribute role on element li.'
] ]
}, },
files: { src: '_gh_pages/**/*.html'
src: '_gh_pages/**/*.html'
}
}, },
watch: { watch: {
@@ -374,7 +376,7 @@ module.exports = function (grunt) {
throttled: 10, throttled: 10,
maxRetries: 3, maxRetries: 3,
maxPollRetries: 4, maxPollRetries: 4,
urls: ['http://127.0.0.1:3000/js/tests/index.html'], urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'],
browsers: grunt.file.readYAML('grunt/sauce_browsers.yml') browsers: grunt.file.readYAML('grunt/sauce_browsers.yml')
} }
} }
@@ -413,7 +415,7 @@ module.exports = function (grunt) {
require('time-grunt')(grunt); require('time-grunt')(grunt);
// Docs HTML validation task // Docs HTML validation task
grunt.registerTask('validate-html', ['jekyll:docs', 'validation']); grunt.registerTask('validate-html', ['jekyll:docs', 'htmllint']);
var runSubset = function (subset) { var runSubset = function (subset) {
return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset; return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset;

View File

@@ -22,12 +22,13 @@ To get started, check out <http://getbootstrap.com>!
## Quick start ## Quick start
Four quick start options are available: Five quick start options are available:
- [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.2.zip). - [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.4.zip).
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`. - Clone the repo: `git clone https://github.com/twbs/bootstrap.git`.
- Install with [Bower](http://bower.io): `bower install bootstrap`. - Install with [Bower](http://bower.io): `bower install bootstrap`.
- Install with [npm](https://www.npmjs.org): `npm install bootstrap`. - Install with [npm](https://www.npmjs.com): `npm install bootstrap`.
- Install with [Meteor](https://www.meteor.com/): `meteor add twbs:bootstrap`.
Read the [Getting started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more. Read the [Getting started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more.
@@ -90,7 +91,7 @@ Documentation for v2.3.2 has been made available for the time being at <http://g
Please read through our [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development. Please read through our [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development.
Moreover, if your pull request contains JavaScript patches or features, you must include relevant unit tests. All HTML and CSS should conform to the [Code Guide](https://github.com/mdo/code-guide), maintained by [Mark Otto](https://github.com/mdo). Moreover, if your pull request contains JavaScript patches or features, you must include [relevant unit tests](https://github.com/twbs/bootstrap/tree/master/js/tests). All HTML and CSS should conform to the [Code Guide](https://github.com/mdo/code-guide), maintained by [Mark Otto](https://github.com/mdo).
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <http://editorconfig.org>. Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <http://editorconfig.org>.
@@ -100,10 +101,11 @@ Editor preferences are available in the [editor config](https://github.com/twbs/
Keep track of development and community news. Keep track of development and community news.
- Follow [@twbootstrap on Twitter](https://twitter.com/twbootstrap). - Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
- Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com). - Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com).
- Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel. - Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
- Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](http://stackoverflow.com/questions/tagged/twitter-bootstrap-3)). - Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](http://stackoverflow.com/questions/tagged/twitter-bootstrap-3)).
- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.

View File

@@ -1,7 +1,7 @@
{ {
"name": "bootstrap", "name": "bootstrap",
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
"version": "3.3.2", "version": "3.3.4",
"keywords": [ "keywords": [
"css", "css",
"js", "js",
@@ -20,7 +20,8 @@
"dist/fonts/glyphicons-halflings-regular.eot", "dist/fonts/glyphicons-halflings-regular.eot",
"dist/fonts/glyphicons-halflings-regular.svg", "dist/fonts/glyphicons-halflings-regular.svg",
"dist/fonts/glyphicons-halflings-regular.ttf", "dist/fonts/glyphicons-halflings-regular.ttf",
"dist/fonts/glyphicons-halflings-regular.woff" "dist/fonts/glyphicons-halflings-regular.woff",
"dist/fonts/glyphicons-halflings-regular.woff2"
], ],
"ignore": [ "ignore": [
"/.*", "/.*",

View File

@@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v3.3.2 (http://getbootstrap.com) * Bootstrap v3.3.4 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v3.3.2 (http://getbootstrap.com) * Bootstrap v3.3.4 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@@ -958,12 +958,24 @@ th {
.glyphicon-bitcoin:before { .glyphicon-bitcoin:before {
content: "\e227"; content: "\e227";
} }
.glyphicon-btc:before {
content: "\e227";
}
.glyphicon-xbt:before {
content: "\e227";
}
.glyphicon-yen:before { .glyphicon-yen:before {
content: "\00a5"; content: "\00a5";
} }
.glyphicon-jpy:before {
content: "\00a5";
}
.glyphicon-ruble:before { .glyphicon-ruble:before {
content: "\20bd"; content: "\20bd";
} }
.glyphicon-rub:before {
content: "\20bd";
}
.glyphicon-scale:before { .glyphicon-scale:before {
content: "\e230"; content: "\e230";
} }
@@ -1161,6 +1173,9 @@ hr {
overflow: visible; overflow: visible;
clip: auto; clip: auto;
} }
[role="button"] {
cursor: pointer;
}
h1, h1,
h2, h2,
h3, h3,
@@ -2564,10 +2579,13 @@ output {
.form-control[disabled], .form-control[disabled],
.form-control[readonly], .form-control[readonly],
fieldset[disabled] .form-control { fieldset[disabled] .form-control {
cursor: not-allowed;
background-color: #eee; background-color: #eee;
opacity: 1; opacity: 1;
} }
.form-control[disabled],
fieldset[disabled] .form-control {
cursor: not-allowed;
}
textarea.form-control { textarea.form-control {
height: auto; height: auto;
} }
@@ -2634,6 +2652,7 @@ input[type="search"] {
} }
.radio-inline, .radio-inline,
.checkbox-inline { .checkbox-inline {
position: relative;
display: inline-block; display: inline-block;
padding-left: 20px; padding-left: 20px;
margin-bottom: 0; margin-bottom: 0;
@@ -2667,6 +2686,7 @@ fieldset[disabled] .checkbox label {
cursor: not-allowed; cursor: not-allowed;
} }
.form-control-static { .form-control-static {
min-height: 34px;
padding-top: 7px; padding-top: 7px;
padding-bottom: 7px; padding-bottom: 7px;
margin-bottom: 0; margin-bottom: 0;
@@ -2708,6 +2728,7 @@ select[multiple].form-group-sm .form-control {
} }
.form-group-sm .form-control-static { .form-group-sm .form-control-static {
height: 30px; height: 30px;
min-height: 32px;
padding: 5px 10px; padding: 5px 10px;
font-size: 12px; font-size: 12px;
line-height: 1.5; line-height: 1.5;
@@ -2744,6 +2765,7 @@ select[multiple].form-group-lg .form-control {
} }
.form-group-lg .form-control-static { .form-group-lg .form-control-static {
height: 46px; height: 46px;
min-height: 38px;
padding: 10px 16px; padding: 10px 16px;
font-size: 18px; font-size: 18px;
line-height: 1.3333333; line-height: 1.3333333;
@@ -3365,11 +3387,9 @@ input[type="button"].btn-block {
} }
.collapse { .collapse {
display: none; display: none;
visibility: hidden;
} }
.collapse.in { .collapse.in {
display: block; display: block;
visibility: visible;
} }
tr.collapse.in { tr.collapse.in {
display: table-row; display: table-row;
@@ -3397,7 +3417,7 @@ tbody.collapse.in {
height: 0; height: 0;
margin-left: 2px; margin-left: 2px;
vertical-align: middle; vertical-align: middle;
border-top: 4px solid; border-top: 4px dashed;
border-right: 4px solid transparent; border-right: 4px solid transparent;
border-left: 4px solid transparent; border-left: 4px solid transparent;
} }
@@ -4037,11 +4057,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
} }
.tab-content > .tab-pane { .tab-content > .tab-pane {
display: none; display: none;
visibility: hidden;
} }
.tab-content > .active { .tab-content > .active {
display: block; display: block;
visibility: visible;
} }
.nav-tabs .dropdown-menu { .nav-tabs .dropdown-menu {
margin-top: -1px; margin-top: -1px;
@@ -4088,7 +4106,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
height: auto !important; height: auto !important;
padding-bottom: 0; padding-bottom: 0;
overflow: visible !important; overflow: visible !important;
visibility: visible !important;
} }
.navbar-collapse.in { .navbar-collapse.in {
overflow-y: visible; overflow-y: visible;
@@ -4813,7 +4830,8 @@ a.label:focus {
position: relative; position: relative;
top: -1px; top: -1px;
} }
.btn-xs .badge { .btn-xs .badge,
.btn-group-xs > .btn .badge {
top: 0; top: 0;
padding: 1px 5px; padding: 1px 5px;
} }
@@ -5645,10 +5663,10 @@ a.list-group-item-danger.active:focus {
height: 100%; height: 100%;
border: 0; border: 0;
} }
.embed-responsive.embed-responsive-16by9 { .embed-responsive-16by9 {
padding-bottom: 56.25%; padding-bottom: 56.25%;
} }
.embed-responsive.embed-responsive-4by3 { .embed-responsive-4by3 {
padding-bottom: 75%; padding-bottom: 75%;
} }
.well { .well {
@@ -5707,7 +5725,7 @@ button.close {
right: 0; right: 0;
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: 1040; z-index: 1050;
display: none; display: none;
overflow: hidden; overflow: hidden;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
@@ -5750,10 +5768,12 @@ button.close {
box-shadow: 0 3px 9px rgba(0, 0, 0, .5); box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
} }
.modal-backdrop { .modal-backdrop {
position: absolute; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
bottom: 0;
left: 0; left: 0;
z-index: 1040;
background-color: #000; background-color: #000;
} }
.modal-backdrop.fade { .modal-backdrop.fade {
@@ -5828,7 +5848,6 @@ button.close {
font-size: 12px; font-size: 12px;
font-weight: normal; font-weight: normal;
line-height: 1.4; line-height: 1.4;
visibility: visible;
filter: alpha(opacity=0); filter: alpha(opacity=0);
opacity: 0; opacity: 0;
} }
@@ -6348,7 +6367,6 @@ button.close {
} }
.hidden { .hidden {
display: none !important; display: none !important;
visibility: hidden !important;
} }
.affix { .affix {
position: fixed; position: fixed;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v3.3.2 (http://getbootstrap.com) * Bootstrap v3.3.4 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@@ -17,7 +17,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: transition.js v3.3.2 * Bootstrap: transition.js v3.3.4
* http://getbootstrap.com/javascript/#transitions * http://getbootstrap.com/javascript/#transitions
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -77,7 +77,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: alert.js v3.3.2 * Bootstrap: alert.js v3.3.4
* http://getbootstrap.com/javascript/#alerts * http://getbootstrap.com/javascript/#alerts
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -96,7 +96,7 @@ if (typeof jQuery === 'undefined') {
$(el).on('click', dismiss, this.close) $(el).on('click', dismiss, this.close)
} }
Alert.VERSION = '3.3.2' Alert.VERSION = '3.3.4'
Alert.TRANSITION_DURATION = 150 Alert.TRANSITION_DURATION = 150
@@ -172,7 +172,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: button.js v3.3.2 * Bootstrap: button.js v3.3.4
* http://getbootstrap.com/javascript/#buttons * http://getbootstrap.com/javascript/#buttons
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -192,7 +192,7 @@ if (typeof jQuery === 'undefined') {
this.isLoading = false this.isLoading = false
} }
Button.VERSION = '3.3.2' Button.VERSION = '3.3.4'
Button.DEFAULTS = { Button.DEFAULTS = {
loadingText: 'loading...' loadingText: 'loading...'
@@ -289,7 +289,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: carousel.js v3.3.2 * Bootstrap: carousel.js v3.3.4
* http://getbootstrap.com/javascript/#carousel * http://getbootstrap.com/javascript/#carousel
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -307,10 +307,10 @@ if (typeof jQuery === 'undefined') {
this.$element = $(element) this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators') this.$indicators = this.$element.find('.carousel-indicators')
this.options = options this.options = options
this.paused = this.paused = null
this.sliding = this.sliding = null
this.interval = this.interval = null
this.$active = this.$active = null
this.$items = null this.$items = null
this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
@@ -320,7 +320,7 @@ if (typeof jQuery === 'undefined') {
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
} }
Carousel.VERSION = '3.3.2' Carousel.VERSION = '3.3.4'
Carousel.TRANSITION_DURATION = 600 Carousel.TRANSITION_DURATION = 600
@@ -527,7 +527,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: collapse.js v3.3.2 * Bootstrap: collapse.js v3.3.4
* http://getbootstrap.com/javascript/#collapse * http://getbootstrap.com/javascript/#collapse
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -544,7 +544,8 @@ if (typeof jQuery === 'undefined') {
var Collapse = function (element, options) { var Collapse = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.options = $.extend({}, Collapse.DEFAULTS, options) this.options = $.extend({}, Collapse.DEFAULTS, options)
this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]') this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
'[data-toggle="collapse"][data-target="#' + element.id + '"]')
this.transitioning = null this.transitioning = null
if (this.options.parent) { if (this.options.parent) {
@@ -556,13 +557,12 @@ if (typeof jQuery === 'undefined') {
if (this.options.toggle) this.toggle() if (this.options.toggle) this.toggle()
} }
Collapse.VERSION = '3.3.2' Collapse.VERSION = '3.3.4'
Collapse.TRANSITION_DURATION = 350 Collapse.TRANSITION_DURATION = 350
Collapse.DEFAULTS = { Collapse.DEFAULTS = {
toggle: true, toggle: true
trigger: '[data-toggle="collapse"]'
} }
Collapse.prototype.dimension = function () { Collapse.prototype.dimension = function () {
@@ -700,7 +700,7 @@ if (typeof jQuery === 'undefined') {
var data = $this.data('bs.collapse') var data = $this.data('bs.collapse')
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data && options.toggle && option == 'show') options.toggle = false if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
@@ -731,7 +731,7 @@ if (typeof jQuery === 'undefined') {
var $target = getTargetFromTrigger($this) var $target = getTargetFromTrigger($this)
var data = $target.data('bs.collapse') var data = $target.data('bs.collapse')
var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this }) var option = data ? 'toggle' : $this.data()
Plugin.call($target, option) Plugin.call($target, option)
}) })
@@ -739,7 +739,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: dropdown.js v3.3.2 * Bootstrap: dropdown.js v3.3.4
* http://getbootstrap.com/javascript/#dropdowns * http://getbootstrap.com/javascript/#dropdowns
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -759,7 +759,7 @@ if (typeof jQuery === 'undefined') {
$(element).on('click.bs.dropdown', this.toggle) $(element).on('click.bs.dropdown', this.toggle)
} }
Dropdown.VERSION = '3.3.2' Dropdown.VERSION = '3.3.4'
Dropdown.prototype.toggle = function (e) { Dropdown.prototype.toggle = function (e) {
var $this = $(this) var $this = $(this)
@@ -812,7 +812,7 @@ if (typeof jQuery === 'undefined') {
return $this.trigger('click') return $this.trigger('click')
} }
var desc = ' li:not(.divider):visible a' var desc = ' li:not(.disabled):visible a'
var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc) var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
if (!$items.length) return if (!$items.length) return
@@ -901,7 +901,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: modal.js v3.3.2 * Bootstrap: modal.js v3.3.4
* http://getbootstrap.com/javascript/#modals * http://getbootstrap.com/javascript/#modals
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -916,12 +916,15 @@ if (typeof jQuery === 'undefined') {
// ====================== // ======================
var Modal = function (element, options) { var Modal = function (element, options) {
this.options = options this.options = options
this.$body = $(document.body) this.$body = $(document.body)
this.$element = $(element) this.$element = $(element)
this.$backdrop = this.$dialog = this.$element.find('.modal-dialog')
this.isShown = null this.$backdrop = null
this.scrollbarWidth = 0 this.isShown = null
this.originalBodyPad = null
this.scrollbarWidth = 0
this.ignoreBackdropClick = false
if (this.options.remote) { if (this.options.remote) {
this.$element this.$element
@@ -932,7 +935,7 @@ if (typeof jQuery === 'undefined') {
} }
} }
Modal.VERSION = '3.3.2' Modal.VERSION = '3.3.4'
Modal.TRANSITION_DURATION = 300 Modal.TRANSITION_DURATION = 300
Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.BACKDROP_TRANSITION_DURATION = 150
@@ -966,6 +969,12 @@ if (typeof jQuery === 'undefined') {
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
this.$dialog.on('mousedown.dismiss.bs.modal', function () {
that.$element.one('mouseup.dismiss.bs.modal', function (e) {
if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
})
})
this.backdrop(function () { this.backdrop(function () {
var transition = $.support.transition && that.$element.hasClass('fade') var transition = $.support.transition && that.$element.hasClass('fade')
@@ -977,7 +986,6 @@ if (typeof jQuery === 'undefined') {
.show() .show()
.scrollTop(0) .scrollTop(0)
if (that.options.backdrop) that.adjustBackdrop()
that.adjustDialog() that.adjustDialog()
if (transition) { if (transition) {
@@ -993,7 +1001,7 @@ if (typeof jQuery === 'undefined') {
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
transition ? transition ?
that.$element.find('.modal-dialog') // wait for modal to slide in that.$dialog // wait for modal to slide in
.one('bsTransitionEnd', function () { .one('bsTransitionEnd', function () {
that.$element.trigger('focus').trigger(e) that.$element.trigger('focus').trigger(e)
}) })
@@ -1022,6 +1030,9 @@ if (typeof jQuery === 'undefined') {
.removeClass('in') .removeClass('in')
.attr('aria-hidden', true) .attr('aria-hidden', true)
.off('click.dismiss.bs.modal') .off('click.dismiss.bs.modal')
.off('mouseup.dismiss.bs.modal')
this.$dialog.off('mousedown.dismiss.bs.modal')
$.support.transition && this.$element.hasClass('fade') ? $.support.transition && this.$element.hasClass('fade') ?
this.$element this.$element
@@ -1082,13 +1093,18 @@ if (typeof jQuery === 'undefined') {
var doAnimate = $.support.transition && animate var doAnimate = $.support.transition && animate
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.prependTo(this.$element) .appendTo(this.$body)
.on('click.dismiss.bs.modal', $.proxy(function (e) {
if (e.target !== e.currentTarget) return this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
this.options.backdrop == 'static' if (this.ignoreBackdropClick) {
? this.$element[0].focus.call(this.$element[0]) this.ignoreBackdropClick = false
: this.hide.call(this) return
}, this)) }
if (e.target !== e.currentTarget) return
this.options.backdrop == 'static'
? this.$element[0].focus()
: this.hide()
}, this))
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
@@ -1123,16 +1139,9 @@ if (typeof jQuery === 'undefined') {
// these following methods are used to handle overflowing modals // these following methods are used to handle overflowing modals
Modal.prototype.handleUpdate = function () { Modal.prototype.handleUpdate = function () {
if (this.options.backdrop) this.adjustBackdrop()
this.adjustDialog() this.adjustDialog()
} }
Modal.prototype.adjustBackdrop = function () {
this.$backdrop
.css('height', 0)
.css('height', this.$element[0].scrollHeight)
}
Modal.prototype.adjustDialog = function () { Modal.prototype.adjustDialog = function () {
var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
@@ -1150,17 +1159,23 @@ if (typeof jQuery === 'undefined') {
} }
Modal.prototype.checkScrollbar = function () { Modal.prototype.checkScrollbar = function () {
this.bodyIsOverflowing = document.body.scrollHeight > document.documentElement.clientHeight var fullWindowWidth = window.innerWidth
if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
var documentElementRect = document.documentElement.getBoundingClientRect()
fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
}
this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
this.scrollbarWidth = this.measureScrollbar() this.scrollbarWidth = this.measureScrollbar()
} }
Modal.prototype.setScrollbar = function () { Modal.prototype.setScrollbar = function () {
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
this.originalBodyPad = document.body.style.paddingRight || ''
if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
} }
Modal.prototype.resetScrollbar = function () { Modal.prototype.resetScrollbar = function () {
this.$body.css('padding-right', '') this.$body.css('padding-right', this.originalBodyPad)
} }
Modal.prototype.measureScrollbar = function () { // thx walsh Modal.prototype.measureScrollbar = function () { // thx walsh
@@ -1226,7 +1241,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: tooltip.js v3.3.2 * Bootstrap: tooltip.js v3.3.4
* http://getbootstrap.com/javascript/#tooltip * http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* ======================================================================== * ========================================================================
@@ -1242,17 +1257,17 @@ if (typeof jQuery === 'undefined') {
// =============================== // ===============================
var Tooltip = function (element, options) { var Tooltip = function (element, options) {
this.type = this.type = null
this.options = this.options = null
this.enabled = this.enabled = null
this.timeout = this.timeout = null
this.hoverState = this.hoverState = null
this.$element = null this.$element = null
this.init('tooltip', element, options) this.init('tooltip', element, options)
} }
Tooltip.VERSION = '3.3.2' Tooltip.VERSION = '3.3.4'
Tooltip.TRANSITION_DURATION = 150 Tooltip.TRANSITION_DURATION = 150
@@ -1279,6 +1294,10 @@ if (typeof jQuery === 'undefined') {
this.options = this.getOptions(options) this.options = this.getOptions(options)
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport) this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
}
var triggers = this.options.trigger.split(' ') var triggers = this.options.trigger.split(' ')
for (var i = triggers.length; i--;) { for (var i = triggers.length; i--;) {
@@ -1499,10 +1518,10 @@ if (typeof jQuery === 'undefined') {
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
} }
Tooltip.prototype.replaceArrow = function (delta, dimension, isHorizontal) { Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
this.arrow() this.arrow()
.css(isHorizontal ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
.css(isHorizontal ? 'top' : 'left', '') .css(isVertical ? 'top' : 'left', '')
} }
Tooltip.prototype.setContent = function () { Tooltip.prototype.setContent = function () {
@@ -1515,7 +1534,7 @@ if (typeof jQuery === 'undefined') {
Tooltip.prototype.hide = function (callback) { Tooltip.prototype.hide = function (callback) {
var that = this var that = this
var $tip = this.tip() var $tip = $(this.$tip)
var e = $.Event('hide.bs.' + this.type) var e = $.Event('hide.bs.' + this.type)
function complete() { function complete() {
@@ -1532,7 +1551,7 @@ if (typeof jQuery === 'undefined') {
$tip.removeClass('in') $tip.removeClass('in')
$.support.transition && this.$tip.hasClass('fade') ? $.support.transition && $tip.hasClass('fade') ?
$tip $tip
.one('bsTransitionEnd', complete) .one('bsTransitionEnd', complete)
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
@@ -1676,7 +1695,7 @@ if (typeof jQuery === 'undefined') {
var data = $this.data('bs.tooltip') var data = $this.data('bs.tooltip')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
if (!data && option == 'destroy') return if (!data && /destroy|hide/.test(option)) return
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
@@ -1699,7 +1718,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: popover.js v3.3.2 * Bootstrap: popover.js v3.3.4
* http://getbootstrap.com/javascript/#popovers * http://getbootstrap.com/javascript/#popovers
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -1719,7 +1738,7 @@ if (typeof jQuery === 'undefined') {
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
Popover.VERSION = '3.3.2' Popover.VERSION = '3.3.4'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right', placement: 'right',
@@ -1775,11 +1794,6 @@ if (typeof jQuery === 'undefined') {
return (this.$arrow = this.$arrow || this.tip().find('.arrow')) return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
} }
Popover.prototype.tip = function () {
if (!this.$tip) this.$tip = $(this.options.template)
return this.$tip
}
// POPOVER PLUGIN DEFINITION // POPOVER PLUGIN DEFINITION
// ========================= // =========================
@@ -1790,7 +1804,7 @@ if (typeof jQuery === 'undefined') {
var data = $this.data('bs.popover') var data = $this.data('bs.popover')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
if (!data && option == 'destroy') return if (!data && /destroy|hide/.test(option)) return
if (!data) $this.data('bs.popover', (data = new Popover(this, options))) if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
@@ -1813,7 +1827,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: scrollspy.js v3.3.2 * Bootstrap: scrollspy.js v3.3.4
* http://getbootstrap.com/javascript/#scrollspy * http://getbootstrap.com/javascript/#scrollspy
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -1828,10 +1842,8 @@ if (typeof jQuery === 'undefined') {
// ========================== // ==========================
function ScrollSpy(element, options) { function ScrollSpy(element, options) {
var process = $.proxy(this.process, this) this.$body = $(document.body)
this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
this.$body = $('body')
this.$scrollElement = $(element).is('body') ? $(window) : $(element)
this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
this.selector = (this.options.target || '') + ' .nav li > a' this.selector = (this.options.target || '') + ' .nav li > a'
this.offsets = [] this.offsets = []
@@ -1839,12 +1851,12 @@ if (typeof jQuery === 'undefined') {
this.activeTarget = null this.activeTarget = null
this.scrollHeight = 0 this.scrollHeight = 0
this.$scrollElement.on('scroll.bs.scrollspy', process) this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
this.refresh() this.refresh()
this.process() this.process()
} }
ScrollSpy.VERSION = '3.3.2' ScrollSpy.VERSION = '3.3.4'
ScrollSpy.DEFAULTS = { ScrollSpy.DEFAULTS = {
offset: 10 offset: 10
@@ -1855,20 +1867,19 @@ if (typeof jQuery === 'undefined') {
} }
ScrollSpy.prototype.refresh = function () { ScrollSpy.prototype.refresh = function () {
var offsetMethod = 'offset' var that = this
var offsetBase = 0 var offsetMethod = 'offset'
var offsetBase = 0
this.offsets = []
this.targets = []
this.scrollHeight = this.getScrollHeight()
if (!$.isWindow(this.$scrollElement[0])) { if (!$.isWindow(this.$scrollElement[0])) {
offsetMethod = 'position' offsetMethod = 'position'
offsetBase = this.$scrollElement.scrollTop() offsetBase = this.$scrollElement.scrollTop()
} }
this.offsets = []
this.targets = []
this.scrollHeight = this.getScrollHeight()
var self = this
this.$body this.$body
.find(this.selector) .find(this.selector)
.map(function () { .map(function () {
@@ -1883,8 +1894,8 @@ if (typeof jQuery === 'undefined') {
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
self.offsets.push(this[0]) that.offsets.push(this[0])
self.targets.push(this[1]) that.targets.push(this[1])
}) })
} }
@@ -1913,7 +1924,7 @@ if (typeof jQuery === 'undefined') {
for (i = offsets.length; i--;) { for (i = offsets.length; i--;) {
activeTarget != targets[i] activeTarget != targets[i]
&& scrollTop >= offsets[i] && scrollTop >= offsets[i]
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1]) && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
&& this.activate(targets[i]) && this.activate(targets[i])
} }
} }
@@ -1924,8 +1935,8 @@ if (typeof jQuery === 'undefined') {
this.clear() this.clear()
var selector = this.selector + var selector = this.selector +
'[data-target="' + target + '"],' + '[data-target="' + target + '"],' +
this.selector + '[href="' + target + '"]' this.selector + '[href="' + target + '"]'
var active = $(selector) var active = $(selector)
.parents('li') .parents('li')
@@ -1989,7 +2000,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: tab.js v3.3.2 * Bootstrap: tab.js v3.3.4
* http://getbootstrap.com/javascript/#tabs * http://getbootstrap.com/javascript/#tabs
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -2007,7 +2018,7 @@ if (typeof jQuery === 'undefined') {
this.element = $(element) this.element = $(element)
} }
Tab.VERSION = '3.3.2' Tab.VERSION = '3.3.4'
Tab.TRANSITION_DURATION = 150 Tab.TRANSITION_DURATION = 150
@@ -2078,7 +2089,7 @@ if (typeof jQuery === 'undefined') {
element.removeClass('fade') element.removeClass('fade')
} }
if (element.parent('.dropdown-menu')) { if (element.parent('.dropdown-menu').length) {
element element
.closest('li.dropdown') .closest('li.dropdown')
.addClass('active') .addClass('active')
@@ -2143,7 +2154,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: affix.js v3.3.2 * Bootstrap: affix.js v3.3.4
* http://getbootstrap.com/javascript/#affix * http://getbootstrap.com/javascript/#affix
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -2165,14 +2176,14 @@ if (typeof jQuery === 'undefined') {
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
this.$element = $(element) this.$element = $(element)
this.affixed = this.affixed = null
this.unpin = this.unpin = null
this.pinnedOffset = null this.pinnedOffset = null
this.checkPosition() this.checkPosition()
} }
Affix.VERSION = '3.3.2' Affix.VERSION = '3.3.4'
Affix.RESET = 'affix affix-top affix-bottom' Affix.RESET = 'affix affix-top affix-bottom'
@@ -2222,7 +2233,7 @@ if (typeof jQuery === 'undefined') {
var offset = this.options.offset var offset = this.options.offset
var offsetTop = offset.top var offsetTop = offset.top
var offsetBottom = offset.bottom var offsetBottom = offset.bottom
var scrollHeight = $('body').height() var scrollHeight = $(document.body).height()
if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offset != 'object') offsetBottom = offsetTop = offset
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)

File diff suppressed because one or more lines are too long

View File

@@ -6,10 +6,10 @@
*/ */
'use strict'; 'use strict';
var Remarkable = require('remarkable'); var Markdown = require('markdown-it');
function markdown2html(markdownString) { function markdown2html(markdownString) {
var md = new Remarkable(); var md = new Markdown();
// the slice removes the <p>...</p> wrapper output by Markdown processor // the slice removes the <p>...</p> wrapper output by Markdown processor
return md.render(markdownString.trim()).slice(3, -5); return md.render(markdownString.trim()).slice(3, -5);

View File

@@ -13,6 +13,7 @@
"docsJs": [ "docsJs": [
"../assets/js/vendor/holder.js", "../assets/js/vendor/holder.js",
"../assets/js/vendor/ZeroClipboard.min.js", "../assets/js/vendor/ZeroClipboard.min.js",
"../assets/js/vendor/anchor.js",
"../assets/js/src/application.js" "../assets/js/src/application.js"
] ]
}, },

View File

@@ -56,7 +56,7 @@
{ {
browserName: "iphone", browserName: "iphone",
platform: "OS X 10.9", platform: "OS X 10.10",
version: "8.1" version: "8.1"
}, },

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: affix.js v3.3.2 * Bootstrap: affix.js v3.3.4
* http://getbootstrap.com/javascript/#affix * http://getbootstrap.com/javascript/#affix
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -21,14 +21,14 @@
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
this.$element = $(element) this.$element = $(element)
this.affixed = this.affixed = null
this.unpin = this.unpin = null
this.pinnedOffset = null this.pinnedOffset = null
this.checkPosition() this.checkPosition()
} }
Affix.VERSION = '3.3.2' Affix.VERSION = '3.3.4'
Affix.RESET = 'affix affix-top affix-bottom' Affix.RESET = 'affix affix-top affix-bottom'
@@ -78,7 +78,7 @@
var offset = this.options.offset var offset = this.options.offset
var offsetTop = offset.top var offsetTop = offset.top
var offsetBottom = offset.bottom var offsetBottom = offset.bottom
var scrollHeight = $('body').height() var scrollHeight = $(document.body).height()
if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offset != 'object') offsetBottom = offsetTop = offset
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: alert.js v3.3.2 * Bootstrap: alert.js v3.3.4
* http://getbootstrap.com/javascript/#alerts * http://getbootstrap.com/javascript/#alerts
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -18,7 +18,7 @@
$(el).on('click', dismiss, this.close) $(el).on('click', dismiss, this.close)
} }
Alert.VERSION = '3.3.2' Alert.VERSION = '3.3.4'
Alert.TRANSITION_DURATION = 150 Alert.TRANSITION_DURATION = 150

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: button.js v3.3.2 * Bootstrap: button.js v3.3.4
* http://getbootstrap.com/javascript/#buttons * http://getbootstrap.com/javascript/#buttons
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -19,7 +19,7 @@
this.isLoading = false this.isLoading = false
} }
Button.VERSION = '3.3.2' Button.VERSION = '3.3.4'
Button.DEFAULTS = { Button.DEFAULTS = {
loadingText: 'loading...' loadingText: 'loading...'

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: carousel.js v3.3.2 * Bootstrap: carousel.js v3.3.4
* http://getbootstrap.com/javascript/#carousel * http://getbootstrap.com/javascript/#carousel
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -17,10 +17,10 @@
this.$element = $(element) this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators') this.$indicators = this.$element.find('.carousel-indicators')
this.options = options this.options = options
this.paused = this.paused = null
this.sliding = this.sliding = null
this.interval = this.interval = null
this.$active = this.$active = null
this.$items = null this.$items = null
this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
@@ -30,7 +30,7 @@
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
} }
Carousel.VERSION = '3.3.2' Carousel.VERSION = '3.3.4'
Carousel.TRANSITION_DURATION = 600 Carousel.TRANSITION_DURATION = 600

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: collapse.js v3.3.2 * Bootstrap: collapse.js v3.3.4
* http://getbootstrap.com/javascript/#collapse * http://getbootstrap.com/javascript/#collapse
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -16,7 +16,8 @@
var Collapse = function (element, options) { var Collapse = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.options = $.extend({}, Collapse.DEFAULTS, options) this.options = $.extend({}, Collapse.DEFAULTS, options)
this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]') this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
'[data-toggle="collapse"][data-target="#' + element.id + '"]')
this.transitioning = null this.transitioning = null
if (this.options.parent) { if (this.options.parent) {
@@ -28,13 +29,12 @@
if (this.options.toggle) this.toggle() if (this.options.toggle) this.toggle()
} }
Collapse.VERSION = '3.3.2' Collapse.VERSION = '3.3.4'
Collapse.TRANSITION_DURATION = 350 Collapse.TRANSITION_DURATION = 350
Collapse.DEFAULTS = { Collapse.DEFAULTS = {
toggle: true, toggle: true
trigger: '[data-toggle="collapse"]'
} }
Collapse.prototype.dimension = function () { Collapse.prototype.dimension = function () {
@@ -172,7 +172,7 @@
var data = $this.data('bs.collapse') var data = $this.data('bs.collapse')
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data && options.toggle && option == 'show') options.toggle = false if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
@@ -203,7 +203,7 @@
var $target = getTargetFromTrigger($this) var $target = getTargetFromTrigger($this)
var data = $target.data('bs.collapse') var data = $target.data('bs.collapse')
var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this }) var option = data ? 'toggle' : $this.data()
Plugin.call($target, option) Plugin.call($target, option)
}) })

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: dropdown.js v3.3.2 * Bootstrap: dropdown.js v3.3.4
* http://getbootstrap.com/javascript/#dropdowns * http://getbootstrap.com/javascript/#dropdowns
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -19,7 +19,7 @@
$(element).on('click.bs.dropdown', this.toggle) $(element).on('click.bs.dropdown', this.toggle)
} }
Dropdown.VERSION = '3.3.2' Dropdown.VERSION = '3.3.4'
Dropdown.prototype.toggle = function (e) { Dropdown.prototype.toggle = function (e) {
var $this = $(this) var $this = $(this)
@@ -72,7 +72,7 @@
return $this.trigger('click') return $this.trigger('click')
} }
var desc = ' li:not(.divider):visible a' var desc = ' li:not(.disabled):visible a'
var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc) var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
if (!$items.length) return if (!$items.length) return

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: modal.js v3.3.2 * Bootstrap: modal.js v3.3.4
* http://getbootstrap.com/javascript/#modals * http://getbootstrap.com/javascript/#modals
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -14,12 +14,15 @@
// ====================== // ======================
var Modal = function (element, options) { var Modal = function (element, options) {
this.options = options this.options = options
this.$body = $(document.body) this.$body = $(document.body)
this.$element = $(element) this.$element = $(element)
this.$backdrop = this.$dialog = this.$element.find('.modal-dialog')
this.isShown = null this.$backdrop = null
this.scrollbarWidth = 0 this.isShown = null
this.originalBodyPad = null
this.scrollbarWidth = 0
this.ignoreBackdropClick = false
if (this.options.remote) { if (this.options.remote) {
this.$element this.$element
@@ -30,7 +33,7 @@
} }
} }
Modal.VERSION = '3.3.2' Modal.VERSION = '3.3.4'
Modal.TRANSITION_DURATION = 300 Modal.TRANSITION_DURATION = 300
Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.BACKDROP_TRANSITION_DURATION = 150
@@ -64,6 +67,12 @@
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
this.$dialog.on('mousedown.dismiss.bs.modal', function () {
that.$element.one('mouseup.dismiss.bs.modal', function (e) {
if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
})
})
this.backdrop(function () { this.backdrop(function () {
var transition = $.support.transition && that.$element.hasClass('fade') var transition = $.support.transition && that.$element.hasClass('fade')
@@ -75,7 +84,6 @@
.show() .show()
.scrollTop(0) .scrollTop(0)
if (that.options.backdrop) that.adjustBackdrop()
that.adjustDialog() that.adjustDialog()
if (transition) { if (transition) {
@@ -91,7 +99,7 @@
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
transition ? transition ?
that.$element.find('.modal-dialog') // wait for modal to slide in that.$dialog // wait for modal to slide in
.one('bsTransitionEnd', function () { .one('bsTransitionEnd', function () {
that.$element.trigger('focus').trigger(e) that.$element.trigger('focus').trigger(e)
}) })
@@ -120,6 +128,9 @@
.removeClass('in') .removeClass('in')
.attr('aria-hidden', true) .attr('aria-hidden', true)
.off('click.dismiss.bs.modal') .off('click.dismiss.bs.modal')
.off('mouseup.dismiss.bs.modal')
this.$dialog.off('mousedown.dismiss.bs.modal')
$.support.transition && this.$element.hasClass('fade') ? $.support.transition && this.$element.hasClass('fade') ?
this.$element this.$element
@@ -180,13 +191,18 @@
var doAnimate = $.support.transition && animate var doAnimate = $.support.transition && animate
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.prependTo(this.$element) .appendTo(this.$body)
.on('click.dismiss.bs.modal', $.proxy(function (e) {
if (e.target !== e.currentTarget) return this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
this.options.backdrop == 'static' if (this.ignoreBackdropClick) {
? this.$element[0].focus.call(this.$element[0]) this.ignoreBackdropClick = false
: this.hide.call(this) return
}, this)) }
if (e.target !== e.currentTarget) return
this.options.backdrop == 'static'
? this.$element[0].focus()
: this.hide()
}, this))
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
@@ -221,16 +237,9 @@
// these following methods are used to handle overflowing modals // these following methods are used to handle overflowing modals
Modal.prototype.handleUpdate = function () { Modal.prototype.handleUpdate = function () {
if (this.options.backdrop) this.adjustBackdrop()
this.adjustDialog() this.adjustDialog()
} }
Modal.prototype.adjustBackdrop = function () {
this.$backdrop
.css('height', 0)
.css('height', this.$element[0].scrollHeight)
}
Modal.prototype.adjustDialog = function () { Modal.prototype.adjustDialog = function () {
var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
@@ -248,17 +257,23 @@
} }
Modal.prototype.checkScrollbar = function () { Modal.prototype.checkScrollbar = function () {
this.bodyIsOverflowing = document.body.scrollHeight > document.documentElement.clientHeight var fullWindowWidth = window.innerWidth
if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
var documentElementRect = document.documentElement.getBoundingClientRect()
fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
}
this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
this.scrollbarWidth = this.measureScrollbar() this.scrollbarWidth = this.measureScrollbar()
} }
Modal.prototype.setScrollbar = function () { Modal.prototype.setScrollbar = function () {
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
this.originalBodyPad = document.body.style.paddingRight || ''
if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
} }
Modal.prototype.resetScrollbar = function () { Modal.prototype.resetScrollbar = function () {
this.$body.css('padding-right', '') this.$body.css('padding-right', this.originalBodyPad)
} }
Modal.prototype.measureScrollbar = function () { // thx walsh Modal.prototype.measureScrollbar = function () { // thx walsh

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: popover.js v3.3.2 * Bootstrap: popover.js v3.3.4
* http://getbootstrap.com/javascript/#popovers * http://getbootstrap.com/javascript/#popovers
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -19,7 +19,7 @@
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
Popover.VERSION = '3.3.2' Popover.VERSION = '3.3.4'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right', placement: 'right',
@@ -75,11 +75,6 @@
return (this.$arrow = this.$arrow || this.tip().find('.arrow')) return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
} }
Popover.prototype.tip = function () {
if (!this.$tip) this.$tip = $(this.options.template)
return this.$tip
}
// POPOVER PLUGIN DEFINITION // POPOVER PLUGIN DEFINITION
// ========================= // =========================
@@ -90,7 +85,7 @@
var data = $this.data('bs.popover') var data = $this.data('bs.popover')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
if (!data && option == 'destroy') return if (!data && /destroy|hide/.test(option)) return
if (!data) $this.data('bs.popover', (data = new Popover(this, options))) if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: scrollspy.js v3.3.2 * Bootstrap: scrollspy.js v3.3.4
* http://getbootstrap.com/javascript/#scrollspy * http://getbootstrap.com/javascript/#scrollspy
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -14,10 +14,8 @@
// ========================== // ==========================
function ScrollSpy(element, options) { function ScrollSpy(element, options) {
var process = $.proxy(this.process, this) this.$body = $(document.body)
this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
this.$body = $('body')
this.$scrollElement = $(element).is('body') ? $(window) : $(element)
this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
this.selector = (this.options.target || '') + ' .nav li > a' this.selector = (this.options.target || '') + ' .nav li > a'
this.offsets = [] this.offsets = []
@@ -25,12 +23,12 @@
this.activeTarget = null this.activeTarget = null
this.scrollHeight = 0 this.scrollHeight = 0
this.$scrollElement.on('scroll.bs.scrollspy', process) this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
this.refresh() this.refresh()
this.process() this.process()
} }
ScrollSpy.VERSION = '3.3.2' ScrollSpy.VERSION = '3.3.4'
ScrollSpy.DEFAULTS = { ScrollSpy.DEFAULTS = {
offset: 10 offset: 10
@@ -41,20 +39,19 @@
} }
ScrollSpy.prototype.refresh = function () { ScrollSpy.prototype.refresh = function () {
var offsetMethod = 'offset' var that = this
var offsetBase = 0 var offsetMethod = 'offset'
var offsetBase = 0
this.offsets = []
this.targets = []
this.scrollHeight = this.getScrollHeight()
if (!$.isWindow(this.$scrollElement[0])) { if (!$.isWindow(this.$scrollElement[0])) {
offsetMethod = 'position' offsetMethod = 'position'
offsetBase = this.$scrollElement.scrollTop() offsetBase = this.$scrollElement.scrollTop()
} }
this.offsets = []
this.targets = []
this.scrollHeight = this.getScrollHeight()
var self = this
this.$body this.$body
.find(this.selector) .find(this.selector)
.map(function () { .map(function () {
@@ -69,8 +66,8 @@
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
self.offsets.push(this[0]) that.offsets.push(this[0])
self.targets.push(this[1]) that.targets.push(this[1])
}) })
} }
@@ -99,7 +96,7 @@
for (i = offsets.length; i--;) { for (i = offsets.length; i--;) {
activeTarget != targets[i] activeTarget != targets[i]
&& scrollTop >= offsets[i] && scrollTop >= offsets[i]
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1]) && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
&& this.activate(targets[i]) && this.activate(targets[i])
} }
} }
@@ -110,8 +107,8 @@
this.clear() this.clear()
var selector = this.selector + var selector = this.selector +
'[data-target="' + target + '"],' + '[data-target="' + target + '"],' +
this.selector + '[href="' + target + '"]' this.selector + '[href="' + target + '"]'
var active = $(selector) var active = $(selector)
.parents('li') .parents('li')

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: tab.js v3.3.2 * Bootstrap: tab.js v3.3.4
* http://getbootstrap.com/javascript/#tabs * http://getbootstrap.com/javascript/#tabs
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
@@ -17,7 +17,7 @@
this.element = $(element) this.element = $(element)
} }
Tab.VERSION = '3.3.2' Tab.VERSION = '3.3.4'
Tab.TRANSITION_DURATION = 150 Tab.TRANSITION_DURATION = 150
@@ -88,7 +88,7 @@
element.removeClass('fade') element.removeClass('fade')
} }
if (element.parent('.dropdown-menu')) { if (element.parent('.dropdown-menu').length) {
element element
.closest('li.dropdown') .closest('li.dropdown')
.addClass('active') .addClass('active')

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: tooltip.js v3.3.2 * Bootstrap: tooltip.js v3.3.4
* http://getbootstrap.com/javascript/#tooltip * http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* ======================================================================== * ========================================================================
@@ -15,17 +15,17 @@
// =============================== // ===============================
var Tooltip = function (element, options) { var Tooltip = function (element, options) {
this.type = this.type = null
this.options = this.options = null
this.enabled = this.enabled = null
this.timeout = this.timeout = null
this.hoverState = this.hoverState = null
this.$element = null this.$element = null
this.init('tooltip', element, options) this.init('tooltip', element, options)
} }
Tooltip.VERSION = '3.3.2' Tooltip.VERSION = '3.3.4'
Tooltip.TRANSITION_DURATION = 150 Tooltip.TRANSITION_DURATION = 150
@@ -52,6 +52,10 @@
this.options = this.getOptions(options) this.options = this.getOptions(options)
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport) this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
}
var triggers = this.options.trigger.split(' ') var triggers = this.options.trigger.split(' ')
for (var i = triggers.length; i--;) { for (var i = triggers.length; i--;) {
@@ -272,10 +276,10 @@
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
} }
Tooltip.prototype.replaceArrow = function (delta, dimension, isHorizontal) { Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
this.arrow() this.arrow()
.css(isHorizontal ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
.css(isHorizontal ? 'top' : 'left', '') .css(isVertical ? 'top' : 'left', '')
} }
Tooltip.prototype.setContent = function () { Tooltip.prototype.setContent = function () {
@@ -288,7 +292,7 @@
Tooltip.prototype.hide = function (callback) { Tooltip.prototype.hide = function (callback) {
var that = this var that = this
var $tip = this.tip() var $tip = $(this.$tip)
var e = $.Event('hide.bs.' + this.type) var e = $.Event('hide.bs.' + this.type)
function complete() { function complete() {
@@ -305,7 +309,7 @@
$tip.removeClass('in') $tip.removeClass('in')
$.support.transition && this.$tip.hasClass('fade') ? $.support.transition && $tip.hasClass('fade') ?
$tip $tip
.one('bsTransitionEnd', complete) .one('bsTransitionEnd', complete)
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
@@ -449,7 +453,7 @@
var data = $this.data('bs.tooltip') var data = $this.data('bs.tooltip')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
if (!data && option == 'destroy') return if (!data && /destroy|hide/.test(option)) return
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })

View File

@@ -1,5 +1,5 @@
/* ======================================================================== /* ========================================================================
* Bootstrap: transition.js v3.3.2 * Bootstrap: transition.js v3.3.4
* http://getbootstrap.com/javascript/#transitions * http://getbootstrap.com/javascript/#transitions
* ======================================================================== * ========================================================================
* Copyright 2011-2015 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.

View File

@@ -29,7 +29,8 @@
top: -1px; top: -1px;
} }
.btn-xs & { .btn-xs &,
.btn-group-xs > .btn & {
top: 0; top: 0;
padding: 1px 5px; padding: 1px 5px;
} }

View File

@@ -17,9 +17,8 @@
.collapse { .collapse {
display: none; display: none;
visibility: hidden;
&.in { display: block; visibility: visible; } &.in { display: block; }
tr&.in { display: table-row; } tr&.in { display: table-row; }
tbody&.in { display: table-row-group; } tbody&.in { display: table-row-group; }
} }

View File

@@ -10,7 +10,7 @@
height: 0; height: 0;
margin-left: 2px; margin-left: 2px;
vertical-align: middle; vertical-align: middle;
border-top: @caret-width-base solid; border-top: @caret-width-base dashed;
border-right: @caret-width-base solid transparent; border-right: @caret-width-base solid transparent;
border-left: @caret-width-base solid transparent; border-left: @caret-width-base solid transparent;
} }

View File

@@ -141,11 +141,15 @@ output {
&[disabled], &[disabled],
&[readonly], &[readonly],
fieldset[disabled] & { fieldset[disabled] & {
cursor: @cursor-disabled;
background-color: @input-bg-disabled; background-color: @input-bg-disabled;
opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655 opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
} }
&[disabled],
fieldset[disabled] & {
cursor: @cursor-disabled;
}
// Reset height for `textarea`s // Reset height for `textarea`s
textarea& { textarea& {
height: auto; height: auto;
@@ -198,7 +202,7 @@ input[type="search"] {
// horizontal forms, use the predefined grid classes. // horizontal forms, use the predefined grid classes.
.form-group { .form-group {
margin-bottom: 15px; margin-bottom: @form-group-margin-bottom;
} }
@@ -238,6 +242,7 @@ input[type="search"] {
// Radios and checkboxes on same line // Radios and checkboxes on same line
.radio-inline, .radio-inline,
.checkbox-inline { .checkbox-inline {
position: relative;
display: inline-block; display: inline-block;
padding-left: 20px; padding-left: 20px;
margin-bottom: 0; margin-bottom: 0;
@@ -294,6 +299,7 @@ input[type="checkbox"] {
padding-bottom: (@padding-base-vertical + 1); padding-bottom: (@padding-base-vertical + 1);
// Remove default margin from `p` // Remove default margin from `p`
margin-bottom: 0; margin-bottom: 0;
min-height: (@line-height-computed + @font-size-base);
&.input-lg, &.input-lg,
&.input-sm { &.input-sm {
@@ -323,6 +329,7 @@ input[type="checkbox"] {
padding: @padding-small-vertical @padding-small-horizontal; padding: @padding-small-vertical @padding-small-horizontal;
font-size: @font-size-small; font-size: @font-size-small;
line-height: @line-height-small; line-height: @line-height-small;
min-height: (@line-height-computed + @font-size-small);
} }
} }
@@ -338,6 +345,7 @@ input[type="checkbox"] {
padding: @padding-large-vertical @padding-large-horizontal; padding: @padding-large-vertical @padding-large-horizontal;
font-size: @font-size-large; font-size: @font-size-large;
line-height: @line-height-large; line-height: @line-height-large;
min-height: (@line-height-computed + @font-size-large);
} }
} }

View File

@@ -266,8 +266,12 @@
.glyphicon-piggy-bank { &:before { content: "\e225"; } } .glyphicon-piggy-bank { &:before { content: "\e225"; } }
.glyphicon-scissors { &:before { content: "\e226"; } } .glyphicon-scissors { &:before { content: "\e226"; } }
.glyphicon-bitcoin { &:before { content: "\e227"; } } .glyphicon-bitcoin { &:before { content: "\e227"; } }
.glyphicon-btc { &:before { content: "\e227"; } }
.glyphicon-xbt { &:before { content: "\e227"; } }
.glyphicon-yen { &:before { content: "\00a5"; } } .glyphicon-yen { &:before { content: "\00a5"; } }
.glyphicon-jpy { &:before { content: "\00a5"; } }
.glyphicon-ruble { &:before { content: "\20bd"; } } .glyphicon-ruble { &:before { content: "\20bd"; } }
.glyphicon-rub { &:before { content: "\20bd"; } }
.glyphicon-scale { &:before { content: "\e230"; } } .glyphicon-scale { &:before { content: "\e230"; } }
.glyphicon-ice-lolly { &:before { content: "\e231"; } } .glyphicon-ice-lolly { &:before { content: "\e231"; } }
.glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } } .glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } }

View File

@@ -62,10 +62,12 @@
// Modal background // Modal background
.modal-backdrop { .modal-backdrop {
position: absolute; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
bottom: 0;
left: 0; left: 0;
z-index: @zindex-modal-background;
background-color: @modal-backdrop-bg; background-color: @modal-backdrop-bg;
// Fade for backdrop // Fade for backdrop
&.fade { .opacity(0); } &.fade { .opacity(0); }

View File

@@ -67,7 +67,6 @@
&.collapse { &.collapse {
display: block !important; display: block !important;
visibility: visible !important;
height: auto !important; height: auto !important;
padding-bottom: 0; // Override default setting padding-bottom: 0; // Override default setting
overflow: visible !important; overflow: visible !important;

View File

@@ -223,11 +223,9 @@
.tab-content { .tab-content {
> .tab-pane { > .tab-pane {
display: none; display: none;
visibility: hidden;
} }
> .active { > .active {
display: block; display: block;
visibility: visible;
} }
} }

View File

@@ -22,14 +22,14 @@
width: 100%; width: 100%;
border: 0; border: 0;
} }
}
// Modifier class for 16:9 aspect ratio
&.embed-responsive-16by9 { // Modifier class for 16:9 aspect ratio
padding-bottom: 56.25%; .embed-responsive-16by9 {
} padding-bottom: 56.25%;
}
// Modifier class for 4:3 aspect ratio
&.embed-responsive-4by3 { // Modifier class for 4:3 aspect ratio
padding-bottom: 75%; .embed-responsive-4by3 {
} padding-bottom: 75%;
} }

View File

@@ -148,3 +148,15 @@ hr {
clip: auto; clip: auto;
} }
} }
// iOS "clickable elements" fix for role="button"
//
// Fixes "clickability" issue (and more generally, the firing of events such as focus as well)
// for traditionally non-focusable elements with role="button"
// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
// Upstream patch for normalize.css submitted: https://github.com/necolas/normalize.css/pull/379 - remove this fix once that is merged
[role="button"] {
cursor: pointer;
}

View File

@@ -8,7 +8,6 @@
position: absolute; position: absolute;
z-index: @zindex-tooltip; z-index: @zindex-tooltip;
display: block; display: block;
visibility: visible;
// Reset font and text properties given new insertion method // Reset font and text properties given new insertion method
font-family: @font-family-base; font-family: @font-family-base;
font-size: @font-size-small; font-size: @font-size-small;

View File

@@ -238,7 +238,7 @@ abbr[data-original-title] {
} }
.initialism { .initialism {
font-size: 90%; font-size: 90%;
text-transform: uppercase; .text-uppercase();
} }
// Blockquotes // Blockquotes

View File

@@ -44,7 +44,6 @@
.hidden { .hidden {
display: none !important; display: none !important;
visibility: hidden !important;
} }

View File

@@ -207,6 +207,9 @@
//** Small `.form-control` height //** Small `.form-control` height
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2); @input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
//** `.form-group` margin
@form-group-margin-bottom: 15px;
@legend-color: @gray-dark; @legend-color: @gray-dark;
@legend-border-color: #e5e5e5; @legend-border-color: #e5e5e5;
@@ -266,7 +269,8 @@
@zindex-popover: 1060; @zindex-popover: 1060;
@zindex-tooltip: 1070; @zindex-tooltip: 1070;
@zindex-navbar-fixed: 1030; @zindex-navbar-fixed: 1030;
@zindex-modal: 1040; @zindex-modal-background: 1040;
@zindex-modal: 1050;
//== Media queries breakpoints //== Media queries breakpoints

22
bower_components/bootstrap/package.js vendored Normal file
View File

@@ -0,0 +1,22 @@
// package metadata file for Meteor.js
Package.describe({
name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap
summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
version: '3.3.4',
git: 'https://github.com/twbs/bootstrap.git'
});
Package.onUse(function (api) {
api.versionsFrom('METEOR@1.0');
api.use('jquery', 'client');
api.addFiles([
'dist/fonts/glyphicons-halflings-regular.eot',
'dist/fonts/glyphicons-halflings-regular.svg',
'dist/fonts/glyphicons-halflings-regular.ttf',
'dist/fonts/glyphicons-halflings-regular.woff',
'dist/fonts/glyphicons-halflings-regular.woff2',
'dist/css/bootstrap.css',
'dist/js/bootstrap.js',
], 'client');
});

View File

@@ -1,7 +1,7 @@
{ {
"name": "bootstrap", "name": "bootstrap",
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
"version": "3.3.2", "version": "3.3.4",
"keywords": [ "keywords": [
"css", "css",
"less", "less",
@@ -32,38 +32,48 @@
}, },
"devDependencies": { "devDependencies": {
"btoa": "~1.1.2", "btoa": "~1.1.2",
"glob": "~4.3.5", "glob": "~5.0.3",
"grunt": "~0.4.5", "grunt": "~0.4.5",
"grunt-autoprefixer": "~2.1.0", "grunt-autoprefixer": "~2.2.0",
"grunt-banner": "~0.3.1", "grunt-banner": "~0.3.1",
"grunt-contrib-clean": "~0.6.0", "grunt-contrib-clean": "~0.6.0",
"grunt-contrib-compress": "~0.13.0", "grunt-contrib-compress": "~0.13.0",
"grunt-contrib-concat": "~0.5.0", "grunt-contrib-concat": "~0.5.1",
"grunt-contrib-connect": "~0.9.0", "grunt-contrib-connect": "~0.9.0",
"grunt-contrib-copy": "~0.7.0", "grunt-contrib-copy": "~0.8.0",
"grunt-contrib-csslint": "~0.3.1", "grunt-contrib-csslint": "~0.4.0",
"grunt-contrib-cssmin": "~0.11.0", "grunt-contrib-cssmin": "~0.12.2",
"grunt-contrib-jade": "~0.14.0", "grunt-contrib-jade": "~0.14.1",
"grunt-contrib-jshint": "~0.10.0", "grunt-contrib-jshint": "~0.11.0",
"grunt-contrib-less": "~1.0.0", "grunt-contrib-less": "~1.0.0",
"grunt-contrib-qunit": "~0.5.2", "grunt-contrib-qunit": "~0.5.2",
"grunt-contrib-uglify": "~0.7.0", "grunt-contrib-uglify": "~0.8.0",
"grunt-contrib-watch": "~0.6.1", "grunt-contrib-watch": "~0.6.1",
"grunt-csscomb": "~3.0.0", "grunt-csscomb": "~3.0.0",
"grunt-exec": "~0.4.6", "grunt-exec": "~0.4.6",
"grunt-html-validation": "~0.1.18", "grunt-html": "~4.0.1",
"grunt-jekyll": "~0.4.2", "grunt-jekyll": "~0.4.2",
"grunt-jscs": "~1.2.0", "grunt-jscs": "~1.5.0",
"grunt-saucelabs": "~8.4.1", "grunt-saucelabs": "~8.6.0",
"grunt-sed": "~0.1.1", "grunt-sed": "~0.1.1",
"load-grunt-tasks": "~2.0.0", "load-grunt-tasks": "~3.1.0",
"npm-shrinkwrap": "^200.0.0", "markdown-it": "^4.0.1",
"remarkable": "~1.6.0", "npm-shrinkwrap": "^200.1.0",
"time-grunt": "~1.0.0" "time-grunt": "^1.1.0"
}, },
"engines": { "engines": {
"node": "~0.10.1" "node": ">=0.10.1"
}, },
"files": [
"dist",
"fonts",
"grunt/*.js",
"grunt/*.json",
"js/*.js",
"less/**/*.less",
"Gruntfile.js",
"LICENSE"
],
"jspm": { "jspm": {
"main": "js/bootstrap", "main": "js/bootstrap",
"directories": { "directories": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "datatables-responsive", "name": "datatables-responsive",
"version": "1.0.3", "version": "1.0.5",
"main": [ "main": [
"js/dataTables.responsive.js", "js/dataTables.responsive.js",
"css/dataTables.responsive.css" "css/dataTables.responsive.css"
@@ -10,14 +10,13 @@
"datatables": ">=1.10.1" "datatables": ">=1.10.1"
}, },
"homepage": "https://github.com/DataTables/Responsive", "homepage": "https://github.com/DataTables/Responsive",
"_release": "1.0.3", "_release": "1.0.5",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.0.3", "tag": "1.0.5",
"commit": "21e780fff0ebf78ca67f714d8ec07ca4f20a104b" "commit": "2c66f3b8b2dd04b83443c2695f8845285876e8e1"
}, },
"_source": "git://github.com/DataTables/Responsive.git", "_source": "git://github.com/DataTables/Responsive.git",
"_target": "~1.0.3", "_target": "~1.0.3",
"_originalSource": "datatables-responsive", "_originalSource": "datatables-responsive"
"_direct": true
} }

View File

@@ -0,0 +1,20 @@
Copyright (c) 2014-2015 SpryMedia Limited
http://datatables.net
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@@ -1,6 +1,6 @@
{ {
"name": "datatables-responsive", "name": "datatables-responsive",
"version": "1.0.2", "version": "1.0.5",
"main": [ "main": [
"js/dataTables.responsive.js", "js/dataTables.responsive.js",
"css/dataTables.responsive.css" "css/dataTables.responsive.css"

View File

@@ -1,11 +1,11 @@
table.dataTable.dtr-inline.collapsed tbody td:first-child, table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
table.dataTable.dtr-inline.collapsed tbody th:first-child { table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
position: relative; position: relative;
padding-left: 30px; padding-left: 30px;
cursor: pointer; cursor: pointer;
} }
table.dataTable.dtr-inline.collapsed tbody td:first-child:before, table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed tbody th:first-child:before { table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
top: 8px; top: 8px;
left: 4px; left: 4px;
height: 16px; height: 16px;
@@ -22,25 +22,38 @@ table.dataTable.dtr-inline.collapsed tbody th:first-child:before {
content: '+'; content: '+';
background-color: #31b131; background-color: #31b131;
} }
table.dataTable.dtr-inline.collapsed tbody td:first-child.dataTables_empty:before, table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child.dataTables_empty:before,
table.dataTable.dtr-inline.collapsed tbody th:first-child.dataTables_empty:before { table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child.dataTables_empty:before {
display: none; display: none;
} }
table.dataTable.dtr-inline.collapsed tbody tr.parent td:first-child:before, table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
table.dataTable.dtr-inline.collapsed tbody tr.parent th:first-child:before { table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
content: '-'; content: '-';
background-color: #d33333; background-color: #d33333;
} }
table.dataTable.dtr-inline.collapsed tbody tr.child td:before { table.dataTable.dtr-inline.collapsed > tbody > tr.child td:before {
display: none; display: none;
} }
table.dataTable.dtr-column tbody td.control, table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child,
table.dataTable.dtr-column tbody th.control { table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child {
padding-left: 27px;
}
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before {
top: 5px;
left: 4px;
height: 14px;
width: 14px;
border-radius: 14px;
line-height: 12px;
}
table.dataTable.dtr-column > tbody > tr > td.control,
table.dataTable.dtr-column > tbody > tr > th.control {
position: relative; position: relative;
cursor: pointer; cursor: pointer;
} }
table.dataTable.dtr-column tbody td.control:before, table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column tbody th.control:before { table.dataTable.dtr-column > tbody > tr > th.control:before {
top: 50%; top: 50%;
left: 50%; left: 50%;
height: 16px; height: 16px;
@@ -59,35 +72,34 @@ table.dataTable.dtr-column tbody th.control:before {
content: '+'; content: '+';
background-color: #31b131; background-color: #31b131;
} }
table.dataTable.dtr-column tbody tr.parent td.control:before, table.dataTable.dtr-column > tbody > tr.parent td.control:before,
table.dataTable.dtr-column tbody tr.parent th.control:before { table.dataTable.dtr-column > tbody > tr.parent th.control:before {
content: '-'; content: '-';
background-color: #d33333; background-color: #d33333;
} }
table.dataTable tr.child { table.dataTable > tbody > tr.child {
padding: 0.5em 1em; padding: 0.5em 1em;
} }
table.dataTable tr.child:hover { table.dataTable > tbody > tr.child:hover {
background: transparent !important; background: transparent !important;
} }
table.dataTable tr.child ul { table.dataTable > tbody > tr.child ul {
display: inline-block; display: inline-block;
list-style-type: none; list-style-type: none;
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
table.dataTable tr.child ul li { table.dataTable > tbody > tr.child ul li {
border-bottom: 1px solid #efefef; border-bottom: 1px solid #efefef;
padding: 0.5em 0; padding: 0.5em 0;
white-space: nowrap;
} }
table.dataTable tr.child ul li:first-child { table.dataTable > tbody > tr.child ul li:first-child {
padding-top: 0; padding-top: 0;
} }
table.dataTable tr.child ul li:last-child { table.dataTable > tbody > tr.child ul li:last-child {
border-bottom: none; border-bottom: none;
} }
table.dataTable tr.child span.dtr-title { table.dataTable > tbody > tr.child span.dtr-title {
display: inline-block; display: inline-block;
min-width: 75px; min-width: 75px;
font-weight: bold; font-weight: bold;

View File

@@ -30,9 +30,9 @@
// //
table.dataTable { table.dataTable {
// Styling for the `inline` type // Styling for the `inline` type
&.dtr-inline.collapsed tbody { &.dtr-inline.collapsed > tbody {
td:first-child, > tr > td:first-child,
th:first-child { > tr > th:first-child {
position: relative; position: relative;
padding-left: 30px; padding-left: 30px;
cursor: pointer; cursor: pointer;
@@ -51,23 +51,40 @@ table.dataTable {
} }
} }
tr.parent { > tr.parent {
td:first-child:before, > td:first-child:before,
th:first-child:before { > th:first-child:before {
@include control-close; @include control-close;
} }
} }
tr.child td:before { > tr.child td:before {
display: none; display: none;
} }
} }
// DataTables' `compact` styling
&.dtr-inline.collapsed.compact > tbody {
> tr > td:first-child,
> tr > th:first-child {
padding-left: 27px;
&:before {
top: 5px;
left: 4px;
height: 14px;
width: 14px;
border-radius: 14px;
line-height: 12px;
}
}
}
// Styling for the `column` type // Styling for the `column` type
&.dtr-column tbody { &.dtr-column > tbody {
td.control, > tr > td.control,
th.control { > tr > th.control {
position: relative; position: relative;
cursor: pointer; cursor: pointer;
@@ -83,7 +100,7 @@ table.dataTable {
} }
} }
tr.parent { > tr.parent {
td.control:before, td.control:before,
th.control:before { th.control:before {
@include control-close; @include control-close;
@@ -93,7 +110,7 @@ table.dataTable {
// Child row styling // Child row styling
tr.child { > tbody > tr.child {
padding: 0.5em 1em; padding: 0.5em 1em;
&:hover { &:hover {
@@ -109,7 +126,6 @@ table.dataTable {
li { li {
border-bottom: 1px solid #efefef; border-bottom: 1px solid #efefef;
padding: 0.5em 0; padding: 0.5em 0;
white-space: nowrap;
&:first-child { &:first-child {
padding-top: 0; padding-top: 0;

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
<dt-api group="responsive">
<name>responsive.rebuild()</name>
<summary>Recalculate the column breakpoints based on the class information of the column header cells</summary>
<since>1.0.4</since>
<type type="function">
<signature>responsive.rebuild()</signature>
<description>Recalculate the column breakpoints based on the class information of the column header cells</description>
<returns type="DataTables.Api">DataTables API instance</returns>
</type>
<description>
It can be useful to be able to control the column breakpoint information that Responsive responds to after a DataTable has been initialised. For example you may wish to provide user control over which columns are visible. This can be done using code that will add or remove the class `never` ([the other classes](http://datatables.net/extensions/responsive/classes) can also be used) and then calling this method.
You will also likely wish to immediately call `r-api responsive.recalc()` to have Responsive update the display for the change in classes. Having this as a separate call allows multiple changes to be drawn at the same time to help improve performance.
</description>
<example title="Hide a column completely by adding a class name and rebuilding"><![CDATA[
var table = $('#example').DataTable();
$( table.column( 2 ).header() ).addClass( 'never' );
table.responsive.rebuild();
table.responsive.recalc();
]]></example>
</dt-api>

View File

@@ -7,7 +7,7 @@
<type type="function"> <type type="function">
<signature>responsive.recalc()</signature> <signature>responsive.recalc()</signature>
<description>Recalculate the widths used by responsive after a change in the display</description> <description>Recalculate the widths used by responsive after a change in the display</description>
<returns type="DataTables.Api">DataTables API instance with the cached data for each selected cell in the result set</returns> <returns type="DataTables.Api">DataTables API instance</returns>
</type> </type>
<description> <description>

View File

@@ -38,7 +38,7 @@
Note that if you define your own array of breakpoints, ordering of the breakpoints is not important. Responsive will automatically sort the array into its required internal order before using it. Note that if you define your own array of breakpoints, ordering of the breakpoints is not important. Responsive will automatically sort the array into its required internal order before using it.
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/init). This property should be set in the DataTables initialisation object. Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
</description> </description>
<example title="Set custom breakpoints in the DataTables initialisation"><![CDATA[ <example title="Set custom breakpoints in the DataTables initialisation"><![CDATA[

View File

@@ -29,7 +29,7 @@
This function is executed for every child row in a table, and is run whenever the column visibility of the table changes. This function is executed for every child row in a table, and is run whenever the column visibility of the table changes.
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/init). This property should be set in the DataTables initialisation object. Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
</description> </description>
<example title="Custom renderer which displays the data that has been hidden in an HTML table"><![CDATA[ <example title="Custom renderer which displays the data that has been hidden in an HTML table"><![CDATA[

View File

@@ -27,7 +27,7 @@
If the `inline` option is used for `r-init responsive.details.type` this option has no effect. If the `inline` option is used for `r-init responsive.details.type` this option has no effect.
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/init). This property should be set in the DataTables initialisation object. Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
</description> </description>
<example title="Use the `column` control type and target the right most column"><![CDATA[ <example title="Use the `column` control type and target the right most column"><![CDATA[

View File

@@ -23,7 +23,7 @@
The `inline` style is useful if you already have a table that you quickly want to add Responsive to without changing its structure, while the `column` type can be useful if you don't want the first column's layout to be modified by the padding required to make space for the inline display. The `inline` style is useful if you already have a table that you quickly want to add Responsive to without changing its structure, while the `column` type can be useful if you don't want the first column's layout to be modified by the padding required to make space for the inline display.
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/init). This property should be set in the DataTables initialisation object. Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
</description> </description>
<example title="Use the `column` control type"><![CDATA[ <example title="Use the `column` control type"><![CDATA[

View File

@@ -25,7 +25,7 @@
This options provides the ability to configure how the details rows are handled by Responsive. In its simplest form as a boolean value, the details row display can be enabled or disabled, while as an object you have the ability to control how the rows are displayed and the control to show / hide the child rows. This options provides the ability to configure how the details rows are handled by Responsive. In its simplest form as a boolean value, the details row display can be enabled or disabled, while as an object you have the ability to control how the rows are displayed and the control to show / hide the child rows.
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/init). This property should be set in the DataTables initialisation object. Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
</description> </description>
<example title="Disable the details row display"><![CDATA[ <example title="Disable the details row display"><![CDATA[

View File

@@ -25,7 +25,7 @@
<description> <description>
This option provides the ability to enable and configure Responsive for DataTables. In its simplest form as the boolean `true` it will enable Responsive with the default configuration options (as defined by `$.fn.dataTable.Responsive.defaults`). It can also be used as an object to provide custom configuration options as described below. This option provides the ability to enable and configure Responsive for DataTables. In its simplest form as the boolean `true` it will enable Responsive with the default configuration options (as defined by `$.fn.dataTable.Responsive.defaults`). It can also be used as an object to provide custom configuration options as described below.
Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/init). This property should be set in the DataTables initialisation object. Please note that as with all other configuration options for Responsive, this option is an extension to the [default set of DataTables options](/reference/option). This property should be set in the DataTables initialisation object.
</description> </description>
<example title="Enable Responsive for a table"><![CDATA[ <example title="Enable Responsive for a table"><![CDATA[

View File

@@ -13,7 +13,7 @@ $(document).ready(function() {
{ "data": "name" }, { "data": "name" },
{ "data": "position" }, { "data": "position" },
{ "data": "office" }, { "data": "office" },
{ "data": "extn" }, { "data": "age" },
{ "data": "start_date" }, { "data": "start_date" },
{ "data": "salary" }, { "data": "salary" },
{ "data": "extn" } { "data": "extn" }

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" ?>
<dt-example table-type="html-wide" table-class="display nowrap" order="4">
<css lib="datatables responsive fixedheader">
div.container { max-width: 1200px }
</css>
<js lib="jquery datatables responsive fixedheader">
<![CDATA[
$(document).ready(function() {
var table = $('#example').DataTable( {
responsive: true,
paging: false
} );
new $.fn.dataTable.FixedHeader( table );
} );
]]>
</js>
<title lib="Responsive">With FixedHeader</title>
<info><![CDATA[
This example shows Responsive being used with the DataTables [FixedHeader](http://datatables.net/extensions/fixedheader) extension. FixedHeader will lock a table's header to the top of the table, ensuring that the user always knows what each column relates to.
]]></info>
</dt-example>

View File

@@ -13,7 +13,7 @@ $(document).ready(function() {
{ "data": "name", className: "all" }, { "data": "name", className: "all" },
{ "data": "position", className: "min-phone-l" }, { "data": "position", className: "min-phone-l" },
{ "data": "office", className: "min-tablet" }, { "data": "office", className: "min-tablet" },
{ "data": "extn", className: "min-tablet" }, { "data": "age", className: "min-tablet" },
{ "data": "start_date", className: "never" }, { "data": "start_date", className: "never" },
{ "data": "salary", className: "desktop" }, { "data": "salary", className: "desktop" },
{ "data": "extn", className: "none" } { "data": "extn", className: "none" }

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<dt-example table-type="html-wide" table-class="display compact nowrap" order="4">
<css lib="datatables responsive">
div.container { max-width: 1200px }
</css>
<js lib="jquery datatables responsive">
<![CDATA[
$(document).ready(function() {
var table = $('#example').DataTable();
new $.fn.dataTable.Responsive( table );
} );
]]>
</js>
<title lib="Responsive">Compact styling</title>
<info><![CDATA[
DataTables' [default stylesheet](http://datatables.net/manual/styling/classes) has a number number of features available that can be enabled by including a class name on the DataTable. One of those options is `compact` which displays the DataTable with less whitespace padding that might other be used to increase the information density of the table. Responsive's own style has support for this `compact` styling as showing in this example.
]]></info>
</dt-example>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" ?>
<dt-example table-type="html-wide" table-class="display nowrap" order="3">
<css lib="datatables responsive">
div.container { max-width: 1200px }
</css>
<js lib="jquery datatables responsive">
<![CDATA[
$(document).ready(function() {
var table = $('#example').DataTable( {
scrollY: 300,
paging: false
} );
new $.fn.dataTable.Responsive( table );
} );
]]>
</js>
<title lib="Responsive">Vertical scrolling</title>
<info><![CDATA[
This example shows Responsive in use with the `dt-init scrollY` option to present a scrolling table (instead of using paging as the other Responsive examples do). Responsive will automatically work with the table in such a configuration.
Responsive can be used with `dt-init scrollX`, however it is relatively pointless as Responsive will remove columns to ensure that there is no horizontal scrolling!
]]></info>
</dt-example>

View File

@@ -1,15 +1,15 @@
/*! Responsive 1.0.3 /*! Responsive 1.0.5
* 2014 SpryMedia Ltd - datatables.net/license * 2014-2015 SpryMedia Ltd - datatables.net/license
*/ */
/** /**
* @summary Responsive * @summary Responsive
* @description Responsive tables plug-in for DataTables * @description Responsive tables plug-in for DataTables
* @version 1.0.3 * @version 1.0.5
* @file dataTables.responsive.js * @file dataTables.responsive.js
* @author SpryMedia Ltd (www.sprymedia.co.uk) * @author SpryMedia Ltd (www.sprymedia.co.uk)
* @contact www.sprymedia.co.uk/contact * @contact www.sprymedia.co.uk/contact
* @copyright Copyright 2014 SpryMedia Ltd. * @copyright Copyright 2014-2015 SpryMedia Ltd.
* *
* This source file is free software, available under the following license: * This source file is free software, available under the following license:
* MIT license - http://datatables.net/license/mit * MIT license - http://datatables.net/license/mit
@@ -133,16 +133,13 @@ Responsive.prototype = {
} ); } );
// Determine which columns are already hidden, and should therefore // Determine which columns are already hidden, and should therefore
// remain hidden. TODO - should this be done? See thread 22677 // remain hidden. todo - should this be done? See thread 22677
// //
// this.s.alwaysHidden = dt.columns(':hidden').indexes(); // this.s.alwaysHidden = dt.columns(':hidden').indexes();
this._classLogic(); this._classLogic();
this._resizeAuto(); this._resizeAuto();
// First pass - draw the table for the current viewport size
this._resize();
// Details handler // Details handler
var details = this.c.details; var details = this.c.details;
if ( details.type ) { if ( details.type ) {
@@ -156,7 +153,7 @@ Responsive.prototype = {
// Redraw the details box on each draw. This is used until // Redraw the details box on each draw. This is used until
// DataTables implements a native `updated` event for rows // DataTables implements a native `updated` event for rows
dt.on( 'draw.dtr', function () { dt.on( 'draw.dtr', function () {
dt.rows().iterator( 'row', function ( settings, idx ) { dt.rows( {page: 'current'} ).iterator( 'row', function ( settings, idx ) {
var row = dt.row( idx ); var row = dt.row( idx );
if ( row.child.isShown() ) { if ( row.child.isShown() ) {
@@ -168,6 +165,9 @@ Responsive.prototype = {
$(dt.table().node()).addClass( 'dtr-'+details.type ); $(dt.table().node()).addClass( 'dtr-'+details.type );
} }
// First pass - draw the table for the current viewport size
this._resize();
}, },
@@ -213,8 +213,14 @@ Responsive.prototype = {
} }
} }
// Second pass, use up any remaining width for other columns // Second pass, use up any remaining width for other columns. For
var widthAvailable = dt.table().container().offsetWidth; // scrolling tables we need to subtract the width of the scrollbar. It
// may not be requires which makes this sub-optimal, but it would
// require another full redraw to make complete use of those extra few
// pixels
var scrolling = dt.settings()[0].oScroll;
var bar = scrolling.sY || scrolling.sX ? scrolling.iBarWidth : 0;
var widthAvailable = dt.table().container().offsetWidth - bar;
var usedWidth = widthAvailable - requiredWidth; var usedWidth = widthAvailable - requiredWidth;
// Control column needs to always be included. This makes it sub- // Control column needs to always be included. This makes it sub-
@@ -230,11 +236,19 @@ Responsive.prototype = {
// Allow columns to be shown (counting from the left) until we run out // Allow columns to be shown (counting from the left) until we run out
// of room // of room
var empty = false;
for ( i=0, ien=display.length ; i<ien ; i++ ) { for ( i=0, ien=display.length ; i<ien ; i++ ) {
if ( display[i] === '-' && ! columns[i].control ) { if ( display[i] === '-' && ! columns[i].control ) {
display[i] = usedWidth - columns[i].minWidth < 0 ? // Once we've found a column that won't fit we don't let any
false : // others display either, or columns might disappear in the
true; // middle of the table
if ( empty || usedWidth - columns[i].minWidth < 0 ) {
empty = true;
display[i] = false;
}
else {
display[i] = true;
}
usedWidth -= columns[i].minWidth; usedWidth -= columns[i].minWidth;
} }
@@ -493,11 +507,8 @@ Responsive.prototype = {
} }
if ( haveHidden ) { if ( haveHidden ) {
// Got hidden columns
$( dt.table().node() ).addClass('collapsed');
// Show all existing child rows // Show all existing child rows
dt.rows().eq(0).each( function (idx) { dt.rows( { page: 'current' } ).eq(0).each( function (idx) {
var row = dt.row( idx ); var row = dt.row( idx );
if ( row.child() ) { if ( row.child() ) {
@@ -514,11 +525,8 @@ Responsive.prototype = {
} ); } );
} }
else { else {
// No hidden columns
$( dt.table().node() ).removeClass('collapsed');
// Hide all existing child rows // Hide all existing child rows
dt.rows().eq(0).each( function (idx) { dt.rows( { page: 'current' } ).eq(0).each( function (idx) {
dt.row( idx ).child.hide(); dt.row( idx ).child.hide();
} ); } );
} }
@@ -555,9 +563,11 @@ Responsive.prototype = {
var width = $(window).width(); var width = $(window).width();
var breakpoints = this.c.breakpoints; var breakpoints = this.c.breakpoints;
var breakpoint = breakpoints[0].name; var breakpoint = breakpoints[0].name;
var columns = this.s.columns;
var i, ien;
// Determine what breakpoint we are currently at // Determine what breakpoint we are currently at
for ( var i=breakpoints.length-1 ; i>=0 ; i-- ) { for ( i=breakpoints.length-1 ; i>=0 ; i-- ) {
if ( width <= breakpoints[i].width ) { if ( width <= breakpoints[i].width ) {
breakpoint = breakpoints[i].name; breakpoint = breakpoints[i].name;
break; break;
@@ -565,10 +575,23 @@ Responsive.prototype = {
} }
// Show the columns for that break point // Show the columns for that break point
var columns = this._columnsVisiblity( breakpoint ); var columnsVis = this._columnsVisiblity( breakpoint );
// Set the class before the column visibility is changed so event
// listeners know what the state is. Need to determine if there are
// any columns that are not visible but can be shown
var collapsedClass = false;
for ( i=0, ien=columns.length ; i<ien ; i++ ) {
if ( columnsVis[i] === false && ! columns[i].never ) {
collapsedClass = true;
break;
}
}
$( dt.table().node() ).toggleClass('collapsed', collapsedClass );
dt.columns().eq(0).each( function ( colIdx, i ) { dt.columns().eq(0).each( function ( colIdx, i ) {
dt.column( colIdx ).visible( columns[i] ); dt.column( colIdx ).visible( columnsVis[i] );
} ); } );
}, },
@@ -604,6 +627,8 @@ Responsive.prototype = {
var clonedHeader = $( dt.table().header().cloneNode( false ) ).appendTo( clonedTable ); var clonedHeader = $( dt.table().header().cloneNode( false ) ).appendTo( clonedTable );
var clonedBody = $( dt.table().body().cloneNode( false ) ).appendTo( clonedTable ); var clonedBody = $( dt.table().body().cloneNode( false ) ).appendTo( clonedTable );
$( dt.table().footer() ).clone( false ).appendTo( clonedTable );
// This is a bit slow, but we need to get a clone of each row that // This is a bit slow, but we need to get a clone of each row that
// includes all columns. As such, try to do this as little as possible. // includes all columns. As such, try to do this as little as possible.
dt.rows( { page: 'current' } ).indexes().flatten().each( function ( idx ) { dt.rows( { page: 'current' } ).indexes().flatten().each( function ( idx ) {
@@ -616,8 +641,12 @@ Responsive.prototype = {
$(clone).appendTo( clonedBody ); $(clone).appendTo( clonedBody );
} ); } );
var cells = dt.columns().header().to$().clone( false ).wrapAll('tr').appendTo( clonedHeader ); var cells = dt.columns().header().to$().clone( false );
var inserted = $('<div/>') $('<tr/>')
.append( cells )
.appendTo( clonedHeader );
var inserted = $('<div/>')
.css( { .css( {
width: 1, width: 1,
height: 1, height: 1,
@@ -716,10 +745,14 @@ Responsive.defaults = {
var cellData = dtPrivate.oApi._fnGetCellData( var cellData = dtPrivate.oApi._fnGetCellData(
dtPrivate, idx.row, idx.column, 'display' dtPrivate, idx.row, idx.column, 'display'
); );
var title = header.text();
if ( title ) {
title = title + ':';
}
return '<li data-dtr-index="'+idx.column+'">'+ return '<li data-dtr-index="'+idx.column+'">'+
'<span class="dtr-title">'+ '<span class="dtr-title">'+
header.text()+':'+ title+
'</span> '+ '</span> '+
'<span class="dtr-data">'+ '<span class="dtr-data">'+
cellData+ cellData+
@@ -749,15 +782,6 @@ Api.register( 'responsive()', function () {
return this; return this;
} ); } );
Api.register( 'responsive.recalc()', function () {
this.iterator( 'table', function ( ctx ) {
if ( ctx._responsive ) {
ctx._responsive._resizeAuto();
ctx._responsive._resize();
}
} );
} );
Api.register( 'responsive.index()', function ( li ) { Api.register( 'responsive.index()', function ( li ) {
li = $(li); li = $(li);
@@ -767,6 +791,23 @@ Api.register( 'responsive.index()', function ( li ) {
}; };
} ); } );
Api.register( 'responsive.rebuild()', function () {
return this.iterator( 'table', function ( ctx ) {
if ( ctx._responsive ) {
ctx._responsive._classLogic();
}
} );
} );
Api.register( 'responsive.recalc()', function () {
return this.iterator( 'table', function ( ctx ) {
if ( ctx._responsive ) {
ctx._responsive._resizeAuto();
ctx._responsive._resize();
}
} );
} );
/** /**
* Version information * Version information
@@ -774,7 +815,7 @@ Api.register( 'responsive.index()', function ( li ) {
* @name Responsive.version * @name Responsive.version
* @static * @static
*/ */
Responsive.version = '1.0.3'; Responsive.version = '1.0.5';
$.fn.dataTable.Responsive = Responsive; $.fn.dataTable.Responsive = Responsive;
@@ -783,11 +824,17 @@ $.fn.DataTable.Responsive = Responsive;
// Attach a listener to the document which listens for DataTables initialisation // Attach a listener to the document which listens for DataTables initialisation
// events so we can automatically initialise // events so we can automatically initialise
$(document).on( 'init.dt.dtr', function (e, settings, json) { $(document).on( 'init.dt.dtr', function (e, settings, json) {
if ( e.namespace !== 'dt' ) {
return;
}
if ( $(settings.nTable).hasClass( 'responsive' ) || if ( $(settings.nTable).hasClass( 'responsive' ) ||
$(settings.nTable).hasClass( 'dt-responsive' ) || $(settings.nTable).hasClass( 'dt-responsive' ) ||
settings.oInit.responsive || settings.oInit.responsive ||
DataTable.defaults.responsive DataTable.defaults.responsive
) { ) {
console.log( e.namespace );
var init = settings.oInit.responsive; var init = settings.oInit.responsive;
if ( init !== false ) { if ( init !== false ) {
@@ -815,4 +862,3 @@ else if ( jQuery && !jQuery.fn.dataTable.Responsive ) {
})(window, document); })(window, document);

View File

@@ -25,6 +25,7 @@ js_compress $OUT_DIR/js/dataTables.responsive.js
rsync -r examples $OUT_DIR rsync -r examples $OUT_DIR
examples_process $OUT_DIR/examples examples_process $OUT_DIR/examples
# Readme # Readme and license
cp Readme.md $OUT_DIR cp Readme.md $OUT_DIR
cp License.txt $OUT_DIR

View File

@@ -1,9 +1,14 @@
{ {
"name": "datatables", "name": "datatables",
"version": "1.10.4", "version": "1.10.6",
"main": [ "main": [
"media/js/jquery.dataTables.js", "media/js/jquery.dataTables.js",
"media/css/jquery.dataTables.css" "media/css/jquery.dataTables.css",
"media/images/sort_asc.png",
"media/images/sort_asc_disabled.png",
"media/images/sort_both.png",
"media/images/sort_desc.png",
"media/images/sort_desc_disabled.png"
], ],
"dependencies": { "dependencies": {
"jquery": ">=1.7.0" "jquery": ">=1.7.0"
@@ -25,13 +30,13 @@
"package.json" "package.json"
], ],
"homepage": "https://github.com/DataTables/DataTables", "homepage": "https://github.com/DataTables/DataTables",
"_release": "1.10.4", "_release": "1.10.6",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.10.4", "tag": "1.10.6",
"commit": "96866489a52266c4b356364d7756dde8b7a0c172" "commit": "8a218b56eb21b0f5bc1752ac3bc60f73f2cf922d"
}, },
"_source": "git://github.com/DataTables/DataTables.git", "_source": "git://github.com/DataTables/DataTables.git",
"_target": ">=1.10.1", "_target": "~1.10.4",
"_originalSource": "datatables" "_originalSource": "datatables"
} }

View File

@@ -4,6 +4,10 @@ If you are thinking of contributing code to DataTables, first of all, thank you!
1. Make contributions in the DataTables/DataTablesSrc repo. Changes to the built files in the built repo (DataTables/DataTables) will not be accepted since they would be overwritten by the next build! 1. Make contributions in the DataTables/DataTablesSrc repo. Changes to the built files in the built repo (DataTables/DataTables) will not be accepted since they would be overwritten by the next build!
2. Follow the style of the code in the existing files. DataTables doesn't have a coding standards document, but simple common sense of following the same style as in the existing files is ideal. For example use tabs not spaces (as you will see all source files use tabs). 2. Follow the style of the code in the existing files. They might not be to everyone's tastes, but consistency is key for a mature project like DataTables. DataTables doesn't have a coding standards document, but simple common sense of following the same style as in the existing files is ideal. For example use tabs not spaces (as you will see all source files use tabs).
3. Link to a test page showing the bug you are fixing or the feature you are adding. This allows to me to quickly identify what is being changed and why. Don't worry about being verbose in pull requests - its much better to know exactly what is changing and why! 3. Link to a test page showing the bug you are fixing or the feature you are adding. This allows to me to quickly identify what is being changed and why. Don't worry about being verbose in pull requests - its much better to know exactly what is changing and why!
4. DataTables is a large and complex project and it isn't always possible or suitable to pull in every suggested change. Please don't be offended if a pull request is not merged in, it will explained why not if this is the case. Also it isn't always possible to fully check and test pull requests as quickly as I would like due to other commitments. Again this is no reflection on your pull request, just the busy life that we all lead! If you have any questions about your potential contribution and its place in the DataTables project structure, please ask ahead of time in the [DataTables forums](//datatables.net/forums).
5. Pull requests will only be accepted if you acknowledge that your contribution is offered under and will be made available under the project's existing license (MIT). If your initial pull request doesn't explicitly acknowledge this I'll ask before it is pulled in.

View File

@@ -1,9 +1,14 @@
{ {
"name": "datatables", "name": "datatables",
"version": "1.10.4", "version": "1.10.6",
"main": [ "main": [
"media/js/jquery.dataTables.js", "media/js/jquery.dataTables.js",
"media/css/jquery.dataTables.css" "media/css/jquery.dataTables.css",
"media/images/sort_asc.png",
"media/images/sort_asc_disabled.png",
"media/images/sort_both.png",
"media/images/sort_desc.png",
"media/images/sort_desc_disabled.png"
], ],
"dependencies": { "dependencies": {
"jquery": ">=1.7.0" "jquery": ">=1.7.0"

View File

@@ -32,26 +32,34 @@ table.dataTable tfoot td {
padding: 10px 18px 6px 18px; padding: 10px 18px 6px 18px;
border-top: 1px solid #111111; border-top: 1px solid #111111;
} }
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc, table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc, table.dataTable thead .sorting_desc {
table.dataTable thead .sorting {
cursor: pointer; cursor: pointer;
*cursor: hand; *cursor: hand;
} }
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
background-repeat: no-repeat;
background-position: center right;
}
table.dataTable thead .sorting { table.dataTable thead .sorting {
background: url("../images/sort_both.png") no-repeat center right; background-image: url("../images/sort_both.png");
} }
table.dataTable thead .sorting_asc { table.dataTable thead .sorting_asc {
background: url("../images/sort_asc.png") no-repeat center right; background-image: url("../images/sort_asc.png");
} }
table.dataTable thead .sorting_desc { table.dataTable thead .sorting_desc {
background: url("../images/sort_desc.png") no-repeat center right; background-image: url("../images/sort_desc.png");
} }
table.dataTable thead .sorting_asc_disabled { table.dataTable thead .sorting_asc_disabled {
background: url("../images/sort_asc_disabled.png") no-repeat center right; background-image: url("../images/sort_asc_disabled.png");
} }
table.dataTable thead .sorting_desc_disabled { table.dataTable thead .sorting_desc_disabled {
background: url("../images/sort_desc_disabled.png") no-repeat center right; background-image: url("../images/sort_desc_disabled.png");
} }
table.dataTable tbody tr { table.dataTable tbody tr {
background-color: white; background-color: white;
@@ -203,15 +211,15 @@ table.dataTable.nowrap th, table.dataTable.nowrap td {
} }
table.dataTable.compact thead th, table.dataTable.compact thead th,
table.dataTable.compact thead td { table.dataTable.compact thead td {
padding: 5px 9px; padding: 4px 17px 4px 4px;
} }
table.dataTable.compact tfoot th, table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td { table.dataTable.compact tfoot td {
padding: 5px 9px 3px 9px; padding: 4px;
} }
table.dataTable.compact tbody th, table.dataTable.compact tbody th,
table.dataTable.compact tbody td { table.dataTable.compact tbody td {
padding: 4px 5px; padding: 4px;
} }
table.dataTable th.dt-left, table.dataTable th.dt-left,
table.dataTable td.dt-left { table.dataTable td.dt-left {
@@ -393,6 +401,9 @@ table.dataTable td {
/* W3C */ /* W3C */
box-shadow: inset 0 0 3px #111; box-shadow: inset 0 0 3px #111;
} }
.dataTables_wrapper .dataTables_paginate .ellipsis {
padding: 0 1em;
}
.dataTables_wrapper .dataTables_processing { .dataTables_wrapper .dataTables_processing {
position: absolute; position: absolute;
top: 50%; top: 50%;

File diff suppressed because one or more lines are too long

View File

@@ -201,6 +201,92 @@ table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_3,
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_3 { table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_3 {
background-color: #a4b2cb; background-color: #a4b2cb;
} }
table.dataTable.nowrap th, table.dataTable.nowrap td {
white-space: nowrap;
}
table.dataTable.compact thead th,
table.dataTable.compact thead td {
padding: 5px 9px;
}
table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td {
padding: 5px 9px 3px 9px;
}
table.dataTable.compact tbody th,
table.dataTable.compact tbody td {
padding: 4px 5px;
}
table.dataTable th.dt-left,
table.dataTable td.dt-left {
text-align: left;
}
table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty {
text-align: center;
}
table.dataTable th.dt-right,
table.dataTable td.dt-right {
text-align: right;
}
table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
text-align: justify;
}
table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
white-space: nowrap;
}
table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
text-align: left;
}
table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
text-align: center;
}
table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
text-align: right;
}
table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
text-align: justify;
}
table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
white-space: nowrap;
}
table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
text-align: left;
}
table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
text-align: center;
}
table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
text-align: right;
}
table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
text-align: justify;
}
table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
white-space: nowrap;
}
table.dataTable, table.dataTable,
table.dataTable th, table.dataTable th,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 146 B

View File

@@ -1,11 +1,11 @@
/*! DataTables 1.10.4 /*! DataTables 1.10.6
* ©2008-2014 SpryMedia Ltd - datatables.net/license * ©2008-2014 SpryMedia Ltd - datatables.net/license
*/ */
/** /**
* @summary DataTables * @summary DataTables
* @description Paginate, search and order HTML tables * @description Paginate, search and order HTML tables
* @version 1.10.4 * @version 1.10.6
* @file jquery.dataTables.js * @file jquery.dataTables.js
* @author SpryMedia Ltd (www.sprymedia.co.uk) * @author SpryMedia Ltd (www.sprymedia.co.uk)
* @contact www.sprymedia.co.uk/contact * @contact www.sprymedia.co.uk/contact
@@ -35,7 +35,7 @@
} }
else if ( typeof exports === 'object' ) { else if ( typeof exports === 'object' ) {
// Node/CommonJS // Node/CommonJS
factory( require( 'jquery' ) ); module.exports = factory( require( 'jquery' ) );
} }
else if ( jQuery && !jQuery.fn.dataTable ) { else if ( jQuery && !jQuery.fn.dataTable ) {
// Define using browser globals otherwise // Define using browser globals otherwise
@@ -111,9 +111,17 @@
// Escape regular expression special characters // Escape regular expression special characters
var _re_escape_regex = new RegExp( '(\\' + [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\', '$', '^', '-' ].join('|\\') + ')', 'g' ); var _re_escape_regex = new RegExp( '(\\' + [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\', '$', '^', '-' ].join('|\\') + ')', 'g' );
// U+2009 is thin space and U+202F is narrow no-break space, both used in many // http://en.wikipedia.org/wiki/Foreign_exchange_market
// standards as thousands separators // - \u20BD - Russian ruble.
var _re_formatted_numeric = /[',$£€¥%\u2009\u202F]/g; // - \u20a9 - South Korean Won
// - \u20BA - Turkish Lira
// - \u20B9 - Indian Rupee
// - R - Brazil (R$) and South Africa
// - fr - Swiss Franc
// - kr - Swedish krona, Norwegian krone and Danish krone
// - \u2009 is thin space and \u202F is narrow no-break space, both used in many
// standards as thousands separators.
var _re_formatted_numeric = /[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi;
var _empty = function ( d ) { var _empty = function ( d ) {
@@ -142,6 +150,13 @@
var _isNumber = function ( d, decimalPoint, formatted ) { var _isNumber = function ( d, decimalPoint, formatted ) {
var strType = typeof d === 'string'; var strType = typeof d === 'string';
// If empty return immediately so there must be a number if it is a
// formatted string (this stops the string "k", or "kr", etc being detected
// as a formatted number for currency
if ( _empty( d ) ) {
return true;
}
if ( decimalPoint && strType ) { if ( decimalPoint && strType ) {
d = _numToDecimal( d, decimalPoint ); d = _numToDecimal( d, decimalPoint );
} }
@@ -150,7 +165,7 @@
d = d.replace( _re_formatted_numeric, '' ); d = d.replace( _re_formatted_numeric, '' );
} }
return _empty( d ) || (!isNaN( parseFloat(d) ) && isFinite( d )); return !isNaN( parseFloat(d) ) && isFinite( d );
}; };
@@ -478,6 +493,12 @@
_fnCompatMap( init, 'orderData', 'aDataSort' ); _fnCompatMap( init, 'orderData', 'aDataSort' );
_fnCompatMap( init, 'orderSequence', 'asSorting' ); _fnCompatMap( init, 'orderSequence', 'asSorting' );
_fnCompatMap( init, 'orderDataType', 'sortDataType' ); _fnCompatMap( init, 'orderDataType', 'sortDataType' );
// orderData can be given as an integer
var dataSort = init.aDataSort;
if ( dataSort && ! $.isArray( dataSort ) ) {
init.aDataSort = [ dataSort ];
}
} }
@@ -528,7 +549,7 @@
// In rtl text layout, some browsers (most, but not all) will place the // In rtl text layout, some browsers (most, but not all) will place the
// scrollbar on the left, rather than the right. // scrollbar on the left, rather than the right.
browser.bScrollbarLeft = test.offset().left !== 1; browser.bScrollbarLeft = Math.round( test.offset().left ) !== 1;
n.remove(); n.remove();
} }
@@ -595,7 +616,7 @@
searchCols[ iCol ] = $.extend( {}, DataTable.models.oSearch, searchCols[ iCol ] ); searchCols[ iCol ] = $.extend( {}, DataTable.models.oSearch, searchCols[ iCol ] );
// Use the default column options function to initialise classes etc // Use the default column options function to initialise classes etc
_fnColumnOptions( oSettings, iCol, null ); _fnColumnOptions( oSettings, iCol, $(nTh).data() );
} }
@@ -658,7 +679,7 @@
/* iDataSort to be applied (backwards compatibility), but aDataSort will take /* iDataSort to be applied (backwards compatibility), but aDataSort will take
* priority if defined * priority if defined
*/ */
if ( typeof oOptions.iDataSort === 'number' ) if ( oOptions.iDataSort !== undefined )
{ {
oCol.aDataSort = [ oOptions.iDataSort ]; oCol.aDataSort = [ oOptions.iDataSort ];
} }
@@ -1734,6 +1755,10 @@
.addClass( data.DT_RowClass ); .addClass( data.DT_RowClass );
} }
if ( data.DT_RowAttr ) {
$(tr).attr( data.DT_RowAttr );
}
if ( data.DT_RowData ) { if ( data.DT_RowData ) {
$(tr).data( data.DT_RowData ); $(tr).data( data.DT_RowData );
} }
@@ -2367,8 +2392,6 @@
return aReturn; return aReturn;
} }
/** /**
* Create an Ajax call based on the table's settings, taking into account that * Create an Ajax call based on the table's settings, taking into account that
* parameters can have multiple forms, and backwards compatibility. * parameters can have multiple forms, and backwards compatibility.
@@ -2411,16 +2434,20 @@
var ajaxData; var ajaxData;
var ajax = oSettings.ajax; var ajax = oSettings.ajax;
var instance = oSettings.oInstance; var instance = oSettings.oInstance;
var callback = function ( json ) {
_fnCallbackFire( oSettings, null, 'xhr', [oSettings, json] );
fn( json );
};
if ( $.isPlainObject( ajax ) && ajax.data ) if ( $.isPlainObject( ajax ) && ajax.data )
{ {
ajaxData = ajax.data; ajaxData = ajax.data;
var newData = $.isFunction( ajaxData ) ? var newData = $.isFunction( ajaxData ) ?
ajaxData( data ) : // fn can manipulate data or return an object ajaxData( data, oSettings ) : // fn can manipulate data or return
ajaxData; // object or array to merge ajaxData; // an object object or array to merge
// If the function returned an object, use that alone // If the function returned something, use that alone
data = $.isFunction( ajaxData ) && newData ? data = $.isFunction( ajaxData ) && newData ?
newData : newData :
$.extend( true, data, newData ); $.extend( true, data, newData );
@@ -2439,8 +2466,7 @@
} }
oSettings.json = json; oSettings.json = json;
_fnCallbackFire( oSettings, null, 'xhr', [oSettings, json] ); callback( json );
fn( json );
}, },
"dataType": "json", "dataType": "json",
"cache": false, "cache": false,
@@ -2473,7 +2499,7 @@
$.map( data, function (val, key) { // Need to convert back to 1.9 trad format $.map( data, function (val, key) { // Need to convert back to 1.9 trad format
return { name: key, value: val }; return { name: key, value: val };
} ), } ),
fn, callback,
oSettings oSettings
); );
} }
@@ -2487,7 +2513,7 @@
else if ( $.isFunction( ajax ) ) else if ( $.isFunction( ajax ) )
{ {
// Is a function - let the caller define what needs to be done // Is a function - let the caller define what needs to be done
oSettings.jqXHR = ajax.call( instance, data, fn, oSettings ); oSettings.jqXHR = ajax.call( instance, data, callback, oSettings );
} }
else else
{ {
@@ -2653,6 +2679,7 @@
return json[old] !== undefined ? json[old] : json[modern]; return json[old] !== undefined ? json[old] : json[modern];
}; };
var data = _fnAjaxDataSrc( settings, json );
var draw = compat( 'sEcho', 'draw' ); var draw = compat( 'sEcho', 'draw' );
var recordsTotal = compat( 'iTotalRecords', 'recordsTotal' ); var recordsTotal = compat( 'iTotalRecords', 'recordsTotal' );
var recordsFiltered = compat( 'iTotalDisplayRecords', 'recordsFiltered' ); var recordsFiltered = compat( 'iTotalDisplayRecords', 'recordsFiltered' );
@@ -2669,7 +2696,6 @@
settings._iRecordsTotal = parseInt(recordsTotal, 10); settings._iRecordsTotal = parseInt(recordsTotal, 10);
settings._iRecordsDisplay = parseInt(recordsFiltered, 10); settings._iRecordsDisplay = parseInt(recordsFiltered, 10);
var data = _fnAjaxDataSrc( settings, json );
for ( var i=0, ien=data.length ; i<ien ; i++ ) { for ( var i=0, ien=data.length ; i<ien ; i++ ) {
_fnAddData( settings, data[i] ); _fnAddData( settings, data[i] );
} }
@@ -2712,7 +2738,6 @@
json; json;
} }
/** /**
* Generate the node required for filtering text * Generate the node required for filtering text
* @returns {node} Filter control element * @returns {node} Filter control element
@@ -3697,7 +3722,7 @@
// When the body is scrolled, then we also want to scroll the headers // When the body is scrolled, then we also want to scroll the headers
if ( scrollX ) { if ( scrollX ) {
$(scrollBody).scroll( function (e) { $(scrollBody).on( 'scroll.DT', function (e) {
var scrollLeft = this.scrollLeft; var scrollLeft = this.scrollLeft;
scrollHead.scrollLeft = scrollLeft; scrollHead.scrollLeft = scrollLeft;
@@ -4078,11 +4103,16 @@
columnCount = columns.length, columnCount = columns.length,
visibleColumns = _fnGetColumns( oSettings, 'bVisible' ), visibleColumns = _fnGetColumns( oSettings, 'bVisible' ),
headerCells = $('th', oSettings.nTHead), headerCells = $('th', oSettings.nTHead),
tableWidthAttr = table.getAttribute('width'), tableWidthAttr = table.getAttribute('width'), // from DOM element
tableContainer = table.parentNode, tableContainer = table.parentNode,
userInputs = false, userInputs = false,
i, column, columnIdx, width, outerWidth; i, column, columnIdx, width, outerWidth;
var styleWidth = table.style.width;
if ( styleWidth && styleWidth.indexOf('%') !== -1 ) {
tableWidthAttr = styleWidth;
}
/* Convert any user input sizes into pixel sizes */ /* Convert any user input sizes into pixel sizes */
for ( i=0 ; i<visibleColumns.length ; i++ ) { for ( i=0 ; i<visibleColumns.length ; i++ ) {
column = columns[ visibleColumns[i] ]; column = columns[ visibleColumns[i] ];
@@ -4259,12 +4289,9 @@
fn.apply( that, args ); fn.apply( that, args );
}, frequency ); }, frequency );
} }
else if ( last ) {
last = now;
fn.apply( that, args );
}
else { else {
last = now; last = now;
fn.apply( that, args );
} }
}; };
} }
@@ -4395,41 +4422,28 @@
{ {
// On first run a static variable is set, since this is only needed once. // On first run a static variable is set, since this is only needed once.
// Subsequent runs will just use the previously calculated value // Subsequent runs will just use the previously calculated value
if ( ! DataTable.__scrollbarWidth ) { var width = DataTable.__scrollbarWidth;
var inner = $('<p/>').css( {
width: '100%',
height: 200,
padding: 0
} )[0];
var outer = $('<div/>') if ( width === undefined ) {
.css( { var sizer = $('<p/>').css( {
position: 'absolute', position: 'absolute',
top: 0, top: 0,
left: 0, left: 0,
width: 200, width: '100%',
height: 150, height: 150,
padding: 0, padding: 0,
overflow: 'hidden', overflow: 'scroll',
visibility: 'hidden' visibility: 'hidden'
} ) } )
.append( inner ) .appendTo('body');
.appendTo( 'body' );
var w1 = inner.offsetWidth; width = sizer[0].offsetWidth - sizer[0].clientWidth;
outer.css( 'overflow', 'scroll' ); DataTable.__scrollbarWidth = width;
var w2 = inner.offsetWidth;
if ( w1 === w2 ) { sizer.remove();
w2 = outer[0].clientWidth;
}
outer.remove();
DataTable.__scrollbarWidth = w1 - w2;
} }
return DataTable.__scrollbarWidth; return width;
} }
@@ -4720,6 +4734,10 @@
// Yes, modify the sort // Yes, modify the sort
nextSortIdx = next( sorting[sortIdx], true ); nextSortIdx = next( sorting[sortIdx], true );
if ( nextSortIdx === null && sorting.length === 1 ) {
nextSortIdx = 0; // can't remove sorting completely
}
if ( nextSortIdx === null ) { if ( nextSortIdx === null ) {
sorting.splice( sortIdx, 1 ); sorting.splice( sortIdx, 1 );
} }
@@ -4954,31 +4972,43 @@
// Restore key features - todo - for 1.11 this needs to be done by // Restore key features - todo - for 1.11 this needs to be done by
// subscribed events // subscribed events
settings._iDisplayStart = state.start; if ( state.start !== undefined ) {
settings.iInitDisplayStart = state.start; settings._iDisplayStart = state.start;
settings._iDisplayLength = state.length; settings.iInitDisplayStart = state.start;
settings.aaSorting = []; }
if ( state.length !== undefined ) {
settings._iDisplayLength = state.length;
}
// Order // Order
$.each( state.order, function ( i, col ) { if ( state.order !== undefined ) {
settings.aaSorting.push( col[0] >= columns.length ? settings.aaSorting = [];
[ 0, col[1] ] : $.each( state.order, function ( i, col ) {
col settings.aaSorting.push( col[0] >= columns.length ?
); [ 0, col[1] ] :
} ); col
);
} );
}
// Search // Search
$.extend( settings.oPreviousSearch, _fnSearchToHung( state.search ) ); if ( state.search !== undefined ) {
$.extend( settings.oPreviousSearch, _fnSearchToHung( state.search ) );
}
// Columns // Columns
for ( i=0, ien=state.columns.length ; i<ien ; i++ ) { for ( i=0, ien=state.columns.length ; i<ien ; i++ ) {
var col = state.columns[i]; var col = state.columns[i];
// Visibility // Visibility
columns[i].bVisible = col.visible; if ( col.visible !== undefined ) {
columns[i].bVisible = col.visible;
}
// Search // Search
$.extend( settings.aoPreSearchCols[i], _fnSearchToHung( col.search ) ); if ( col.search !== undefined ) {
$.extend( settings.aoPreSearchCols[i], _fnSearchToHung( col.search ) );
}
} }
_fnCallbackFire( settings, 'aoStateLoaded', 'stateLoaded', [settings, state] ); _fnCallbackFire( settings, 'aoStateLoaded', 'stateLoaded', [settings, state] );
@@ -5025,12 +5055,17 @@
var ext = DataTable.ext; var ext = DataTable.ext;
var type = ext.sErrMode || ext.errMode; var type = ext.sErrMode || ext.errMode;
_fnCallbackFire( settings, null, 'error', [ settings, tn, msg ] );
if ( type == 'alert' ) { if ( type == 'alert' ) {
alert( msg ); alert( msg );
} }
else { else if ( type == 'throw' ) {
throw new Error(msg); throw new Error(msg);
} }
else if ( typeof type == 'function' ) {
type( settings, tn, msg );
}
} }
else if ( window.console && console.log ) { else if ( window.console && console.log ) {
console.log( msg ); console.log( msg );
@@ -5602,8 +5637,8 @@
this.fnDraw = function( complete ) this.fnDraw = function( complete )
{ {
// Note that this isn't an exact match to the old call to _fnDraw - it takes // Note that this isn't an exact match to the old call to _fnDraw - it takes
// into account the new data, but can old position. // into account the new data, but can hold position.
this.api( true ).draw( ! complete ); this.api( true ).draw( complete );
}; };
@@ -6051,6 +6086,7 @@
var sId = this.getAttribute( 'id' ); var sId = this.getAttribute( 'id' );
var bInitHandedOff = false; var bInitHandedOff = false;
var defaults = DataTable.defaults; var defaults = DataTable.defaults;
var $this = $(this);
/* Sanity check */ /* Sanity check */
@@ -6069,30 +6105,34 @@
_fnCamelToHungarian( defaults.column, defaults.column, true ); _fnCamelToHungarian( defaults.column, defaults.column, true );
/* Setting up the initialisation object */ /* Setting up the initialisation object */
_fnCamelToHungarian( defaults, oInit ); _fnCamelToHungarian( defaults, $.extend( oInit, $this.data() ) );
/* Check to see if we are re-initialising a table */ /* Check to see if we are re-initialising a table */
var allSettings = DataTable.settings; var allSettings = DataTable.settings;
for ( i=0, iLen=allSettings.length ; i<iLen ; i++ ) for ( i=0, iLen=allSettings.length ; i<iLen ; i++ )
{ {
var s = allSettings[i];
/* Base check on table node */ /* Base check on table node */
if ( allSettings[i].nTable == this ) if ( s.nTable == this || s.nTHead.parentNode == this || (s.nTFoot && s.nTFoot.parentNode == this) )
{ {
var bRetrieve = oInit.bRetrieve !== undefined ? oInit.bRetrieve : defaults.bRetrieve; var bRetrieve = oInit.bRetrieve !== undefined ? oInit.bRetrieve : defaults.bRetrieve;
var bDestroy = oInit.bDestroy !== undefined ? oInit.bDestroy : defaults.bDestroy; var bDestroy = oInit.bDestroy !== undefined ? oInit.bDestroy : defaults.bDestroy;
if ( emptyInit || bRetrieve ) if ( emptyInit || bRetrieve )
{ {
return allSettings[i].oInstance; return s.oInstance;
} }
else if ( bDestroy ) else if ( bDestroy )
{ {
allSettings[i].oInstance.fnDestroy(); s.oInstance.fnDestroy();
break; break;
} }
else else
{ {
_fnLog( allSettings[i], 0, 'Cannot reinitialise DataTable', 3 ); _fnLog( s, 0, 'Cannot reinitialise DataTable', 3 );
return; return;
} }
} }
@@ -6102,7 +6142,7 @@
* instance by simply deleting it. This is under the assumption that the table has been * instance by simply deleting it. This is under the assumption that the table has been
* destroyed by other methods. Anyone using non-id selectors will need to do this manually * destroyed by other methods. Anyone using non-id selectors will need to do this manually
*/ */
if ( allSettings[i].sTableId == this.id ) if ( s.sTableId == this.id )
{ {
allSettings.splice( i, 1 ); allSettings.splice( i, 1 );
break; break;
@@ -6118,18 +6158,19 @@
/* Create the settings object for this table and set some of the default parameters */ /* Create the settings object for this table and set some of the default parameters */
var oSettings = $.extend( true, {}, DataTable.models.oSettings, { var oSettings = $.extend( true, {}, DataTable.models.oSettings, {
"nTable": this, "sDestroyWidth": $this[0].style.width,
"oApi": _that.internal,
"oInit": oInit,
"sDestroyWidth": $(this)[0].style.width,
"sInstance": sId, "sInstance": sId,
"sTableId": sId "sTableId": sId
} ); } );
oSettings.nTable = this;
oSettings.oApi = _that.internal;
oSettings.oInit = oInit;
allSettings.push( oSettings ); allSettings.push( oSettings );
// Need to add the instance after the instance after the settings object has been added // Need to add the instance after the instance after the settings object has been added
// to the settings array, so we can self reference the table instance if more than one // to the settings array, so we can self reference the table instance if more than one
oSettings.oInstance = (_that.length===1) ? _that : $(this).dataTable(); oSettings.oInstance = (_that.length===1) ? _that : $this.dataTable();
// Backwards compatibility, before we apply all the defaults // Backwards compatibility, before we apply all the defaults
_fnCompatOpts( oInit ); _fnCompatOpts( oInit );
@@ -6239,7 +6280,7 @@
{ {
$.extend( oClasses, DataTable.ext.classes, oInit.oClasses ); $.extend( oClasses, DataTable.ext.classes, oInit.oClasses );
} }
$(this).addClass( oClasses.sTable ); $this.addClass( oClasses.sTable );
/* Calculate the scroll bar width and cache it for use later on */ /* Calculate the scroll bar width and cache it for use later on */
if ( oSettings.oScroll.sX !== "" || oSettings.oScroll.sY !== "" ) if ( oSettings.oScroll.sX !== "" || oSettings.oScroll.sY !== "" )
@@ -6305,7 +6346,7 @@
/* Remove row stripe classes if they are already on the table row */ /* Remove row stripe classes if they are already on the table row */
var stripeClasses = oSettings.asStripeClasses; var stripeClasses = oSettings.asStripeClasses;
var rowOne = $('tbody tr:eq(0)', this); var rowOne = $this.children('tbody').find('tr').eq(0);
if ( $.inArray( true, $.map( stripeClasses, function(el, i) { if ( $.inArray( true, $.map( stripeClasses, function(el, i) {
return rowOne.hasClass(el); return rowOne.hasClass(el);
} ) ) !== -1 ) { } ) ) !== -1 ) {
@@ -6356,7 +6397,7 @@
*/ */
if ( rowOne.length ) { if ( rowOne.length ) {
var a = function ( cell, name ) { var a = function ( cell, name ) {
return cell.getAttribute( 'data-'+name ) ? name : null; return cell.getAttribute( 'data-'+name ) !== null ? name : null;
}; };
$.each( _fnGetRowElements( oSettings, rowOne[0] ).cells, function (i, cell) { $.each( _fnGetRowElements( oSettings, rowOne[0] ).cells, function (i, cell) {
@@ -6445,25 +6486,25 @@
_fnBrowserDetect( oSettings ); _fnBrowserDetect( oSettings );
// Work around for Webkit bug 83867 - store the caption-side before removing from doc // Work around for Webkit bug 83867 - store the caption-side before removing from doc
var captions = $(this).children('caption').each( function () { var captions = $this.children('caption').each( function () {
this._captionSide = $(this).css('caption-side'); this._captionSide = $this.css('caption-side');
} ); } );
var thead = $(this).children('thead'); var thead = $this.children('thead');
if ( thead.length === 0 ) if ( thead.length === 0 )
{ {
thead = $('<thead/>').appendTo(this); thead = $('<thead/>').appendTo(this);
} }
oSettings.nTHead = thead[0]; oSettings.nTHead = thead[0];
var tbody = $(this).children('tbody'); var tbody = $this.children('tbody');
if ( tbody.length === 0 ) if ( tbody.length === 0 )
{ {
tbody = $('<tbody/>').appendTo(this); tbody = $('<tbody/>').appendTo(this);
} }
oSettings.nTBody = tbody[0]; oSettings.nTBody = tbody[0];
var tfoot = $(this).children('tfoot'); var tfoot = $this.children('tfoot');
if ( tfoot.length === 0 && captions.length > 0 && (oSettings.oScroll.sX !== "" || oSettings.oScroll.sY !== "") ) if ( tfoot.length === 0 && captions.length > 0 && (oSettings.oScroll.sX !== "" || oSettings.oScroll.sY !== "") )
{ {
// If we are a scrolling table, and no footer has been given, then we need to create // If we are a scrolling table, and no footer has been given, then we need to create
@@ -6472,7 +6513,7 @@
} }
if ( tfoot.length === 0 || tfoot.children().length === 0 ) { if ( tfoot.length === 0 || tfoot.children().length === 0 ) {
$(this).addClass( oClasses.sNoFooter ); $this.addClass( oClasses.sNoFooter );
} }
else if ( tfoot.length > 0 ) { else if ( tfoot.length > 0 ) {
oSettings.nTFoot = tfoot[0]; oSettings.nTFoot = tfoot[0];
@@ -6977,7 +7018,7 @@
_Api.extend = function ( scope, obj, ext ) _Api.extend = function ( scope, obj, ext )
{ {
// Only extend API instances and static properties of the API // Only extend API instances and static properties of the API
if ( ! obj || ( ! (obj instanceof _Api) && ! obj.__dt_wrapper ) ) { if ( ! ext.length || ! obj || ( ! (obj instanceof _Api) && ! obj.__dt_wrapper ) ) {
return; return;
} }
@@ -7343,6 +7384,15 @@
var __reload = function ( settings, holdPosition, callback ) { var __reload = function ( settings, holdPosition, callback ) {
// Use the draw event to trigger a callback
if ( callback ) {
var api = new _Api( settings );
api.one( 'draw', function () {
callback( api.ajax.json() );
} );
}
if ( _fnDataSource( settings ) == 'ssp' ) { if ( _fnDataSource( settings ) == 'ssp' ) {
_fnReDraw( settings, holdPosition ); _fnReDraw( settings, holdPosition );
} }
@@ -7362,16 +7412,6 @@
_fnProcessingDisplay( settings, false ); _fnProcessingDisplay( settings, false );
} ); } );
} }
// Use the draw event to trigger a callback, regardless of if it is an async
// or sync draw
if ( callback ) {
var api = new _Api( settings );
api.one( 'draw', function () {
callback( api.ajax.json() );
} );
}
}; };
@@ -7688,9 +7728,6 @@
}; };
/**
*
*/
_api_register( 'rows()', function ( selector, opts ) { _api_register( 'rows()', function ( selector, opts ) {
// argument shifting // argument shifting
if ( selector === undefined ) { if ( selector === undefined ) {
@@ -7714,7 +7751,6 @@
return inst; return inst;
} ); } );
_api_register( 'rows().nodes()', function () { _api_register( 'rows().nodes()', function () {
return this.iterator( 'row', function ( settings, row ) { return this.iterator( 'row', function ( settings, row ) {
return settings.aoData[ row ].nTr || undefined; return settings.aoData[ row ].nTr || undefined;
@@ -7868,6 +7904,14 @@
// Convert to array of TR elements // Convert to array of TR elements
var rows = []; var rows = [];
var addRow = function ( r, k ) { var addRow = function ( r, k ) {
// Recursion to allow for arrays of jQuery objects
if ( $.isArray( r ) || r instanceof $ ) {
for ( var i=0, ien=r.length ; i<ien ; i++ ) {
addRow( r[i], k );
}
return;
}
// If we get a TR element, then just add it directly - up to the dev // If we get a TR element, then just add it directly - up to the dev
// to add the correct number of columns etc // to add the correct number of columns etc
if ( r.nodeName && r.nodeName.toLowerCase() === 'tr' ) { if ( r.nodeName && r.nodeName.toLowerCase() === 'tr' ) {
@@ -7885,14 +7929,7 @@
} }
}; };
if ( $.isArray( data ) || data instanceof $ ) { addRow( data, klass );
for ( var i=0, ien=data.length ; i<ien ; i++ ) {
addRow( data[i], klass );
}
}
else {
addRow( data, klass );
}
if ( row._details ) { if ( row._details ) {
row._details.remove(); row._details.remove();
@@ -8246,9 +8283,6 @@
}; };
/**
*
*/
_api_register( 'columns()', function ( selector, opts ) { _api_register( 'columns()', function ( selector, opts ) {
// argument shifting // argument shifting
if ( selector === undefined ) { if ( selector === undefined ) {
@@ -8272,42 +8306,28 @@
return inst; return inst;
} ); } );
/**
*
*/
_api_registerPlural( 'columns().header()', 'column().header()', function ( selector, opts ) { _api_registerPlural( 'columns().header()', 'column().header()', function ( selector, opts ) {
return this.iterator( 'column', function ( settings, column ) { return this.iterator( 'column', function ( settings, column ) {
return settings.aoColumns[column].nTh; return settings.aoColumns[column].nTh;
}, 1 ); }, 1 );
} ); } );
/**
*
*/
_api_registerPlural( 'columns().footer()', 'column().footer()', function ( selector, opts ) { _api_registerPlural( 'columns().footer()', 'column().footer()', function ( selector, opts ) {
return this.iterator( 'column', function ( settings, column ) { return this.iterator( 'column', function ( settings, column ) {
return settings.aoColumns[column].nTf; return settings.aoColumns[column].nTf;
}, 1 ); }, 1 );
} ); } );
/**
*
*/
_api_registerPlural( 'columns().data()', 'column().data()', function () { _api_registerPlural( 'columns().data()', 'column().data()', function () {
return this.iterator( 'column-rows', __columnData, 1 ); return this.iterator( 'column-rows', __columnData, 1 );
} ); } );
_api_registerPlural( 'columns().dataSrc()', 'column().dataSrc()', function () { _api_registerPlural( 'columns().dataSrc()', 'column().dataSrc()', function () {
return this.iterator( 'column', function ( settings, column ) { return this.iterator( 'column', function ( settings, column ) {
return settings.aoColumns[column].mData; return settings.aoColumns[column].mData;
}, 1 ); }, 1 );
} ); } );
_api_registerPlural( 'columns().cache()', 'column().cache()', function ( type ) { _api_registerPlural( 'columns().cache()', 'column().cache()', function ( type ) {
return this.iterator( 'column-rows', function ( settings, column, i, j, rows ) { return this.iterator( 'column-rows', function ( settings, column, i, j, rows ) {
return _pluck_order( settings.aoData, rows, return _pluck_order( settings.aoData, rows,
@@ -8316,15 +8336,12 @@
}, 1 ); }, 1 );
} ); } );
_api_registerPlural( 'columns().nodes()', 'column().nodes()', function () { _api_registerPlural( 'columns().nodes()', 'column().nodes()', function () {
return this.iterator( 'column-rows', function ( settings, column, i, j, rows ) { return this.iterator( 'column-rows', function ( settings, column, i, j, rows ) {
return _pluck_order( settings.aoData, rows, 'anCells', column ) ; return _pluck_order( settings.aoData, rows, 'anCells', column ) ;
}, 1 ); }, 1 );
} ); } );
_api_registerPlural( 'columns().visible()', 'column().visible()', function ( vis, calc ) { _api_registerPlural( 'columns().visible()', 'column().visible()', function ( vis, calc ) {
return this.iterator( 'column', function ( settings, column ) { return this.iterator( 'column', function ( settings, column ) {
if ( vis === undefined ) { if ( vis === undefined ) {
@@ -8334,8 +8351,6 @@
} ); } );
} ); } );
_api_registerPlural( 'columns().indexes()', 'column().index()', function ( type ) { _api_registerPlural( 'columns().indexes()', 'column().index()', function ( type ) {
return this.iterator( 'column', function ( settings, column ) { return this.iterator( 'column', function ( settings, column ) {
return type === 'visible' ? return type === 'visible' ?
@@ -8344,28 +8359,12 @@
}, 1 ); }, 1 );
} ); } );
// _api_register( 'columns().show()', function () {
// var selector = this.selector;
// return this.columns( selector.cols, selector.opts ).visible( true );
// } );
// _api_register( 'columns().hide()', function () {
// var selector = this.selector;
// return this.columns( selector.cols, selector.opts ).visible( false );
// } );
_api_register( 'columns.adjust()', function () { _api_register( 'columns.adjust()', function () {
return this.iterator( 'table', function ( settings ) { return this.iterator( 'table', function ( settings ) {
_fnAdjustColumnSizing( settings ); _fnAdjustColumnSizing( settings );
}, 1 ); }, 1 );
} ); } );
// Convert from one column index type, to another type
_api_register( 'column.index()', function ( type, idx ) { _api_register( 'column.index()', function ( type, idx ) {
if ( this.context.length !== 0 ) { if ( this.context.length !== 0 ) {
var ctx = this.context[0]; var ctx = this.context[0];
@@ -8379,7 +8378,6 @@
} }
} ); } );
_api_register( 'column()', function ( selector, opts ) { _api_register( 'column()', function ( selector, opts ) {
return _selector_first( this.columns( selector, opts ) ); return _selector_first( this.columns( selector, opts ) );
} ); } );
@@ -8458,14 +8456,16 @@
// Argument shifting // Argument shifting
if ( $.isPlainObject( rowSelector ) ) { if ( $.isPlainObject( rowSelector ) ) {
// Indexes // Indexes
if ( typeof rowSelector.row !== undefined ) { if ( rowSelector.row === undefined ) {
opts = columnSelector; // Selector options in first parameter
columnSelector = null;
}
else {
opts = rowSelector; opts = rowSelector;
rowSelector = null; rowSelector = null;
} }
else {
// Cell index objects in first parameter
opts = columnSelector;
columnSelector = null;
}
} }
if ( $.isPlainObject( columnSelector ) ) { if ( $.isPlainObject( columnSelector ) ) {
opts = columnSelector; opts = columnSelector;
@@ -8826,7 +8826,10 @@
var is = false; var is = false;
$.each( DataTable.settings, function (i, o) { $.each( DataTable.settings, function (i, o) {
if ( o.nTable === t || o.nScrollHead === t || o.nScrollFoot === t ) { var head = o.nScrollHead ? $('table', o.nScrollHead)[0] : null;
var foot = o.nScrollFoot ? $('table', o.nScrollFoot)[0] : null;
if ( o.nTable === t || head === t || foot === t ) {
is = true; is = true;
} }
} ); } );
@@ -8954,6 +8957,12 @@
} ); } );
_api_register( 'init()', function () {
var ctx = this.context;
return ctx.length ? ctx[0].oInit : null;
} );
_api_register( 'data()', function () { _api_register( 'data()', function () {
return this.iterator( 'table', function ( settings ) { return this.iterator( 'table', function ( settings ) {
return _pluck( settings.aoData, '_aData' ); return _pluck( settings.aoData, '_aData' );
@@ -9064,6 +9073,17 @@
} ); } );
// Add the `every()` method for rows, columns and cells in a compact form
$.each( [ 'column', 'row', 'cell' ], function ( i, type ) {
_api_register( type+'s().every()', function ( fn ) {
return this.iterator( type, function ( settings, idx, idx2 ) {
// idx2 is undefined for rows and columns.
fn.call( new _Api( settings )[ type ]( idx, idx2 ) );
} );
} );
} );
/** /**
* Version string for plug-ins to check compatibility. Allowed format is * Version string for plug-ins to check compatibility. Allowed format is
* `a.b.c-d` where: a:int, b:int, c:int, d:string(dev|beta|alpha). `d` is used * `a.b.c-d` where: a:int, b:int, c:int, d:string(dev|beta|alpha). `d` is used
@@ -9072,7 +9092,7 @@
* @type string * @type string
* @default Version number * @default Version number
*/ */
DataTable.version = "1.10.4"; DataTable.version = "1.10.6";
/** /**
* Private data store, containing all of the settings objects that are * Private data store, containing all of the settings objects that are
@@ -13446,6 +13466,17 @@
* @namespace * @namespace
*/ */
DataTable.ext = _ext = { DataTable.ext = _ext = {
/**
* Buttons. For use with the Buttons extension for DataTables. This is
* defined here so other extensions can define buttons regardless of load
* order. It is _not_ used by DataTables core.
*
* @type object
* @default {}
*/
buttons: {},
/** /**
* Element class names * Element class names
* *
@@ -13458,10 +13489,10 @@
/** /**
* Error reporting. * Error reporting.
* *
* How should DataTables report an error. Can take the value 'alert' or * How should DataTables report an error. Can take the value 'alert',
* 'throw' * 'throw', 'none' or a function.
* *
* @type string * @type string|function
* @default alert * @default alert
*/ */
errMode: "alert", errMode: "alert",
@@ -14061,7 +14092,7 @@
numbers.splice( 0, 0, 0 ); numbers.splice( 0, 0, 0 );
} }
else { else {
numbers = _range( page-1, page+2 ); numbers = _range( page-half+2, page+half-1 );
numbers.push( 'ellipsis' ); numbers.push( 'ellipsis' );
numbers.push( pages-1 ); numbers.push( pages-1 );
numbers.splice( 0, 0, 'ellipsis' ); numbers.splice( 0, 0, 'ellipsis' );
@@ -14092,6 +14123,8 @@
// For testing and plug-ins to use // For testing and plug-ins to use
_numbers: _numbers, _numbers: _numbers,
// Number of number buttons (including ellipsis) to show. _Must be odd!_
numbers_length: 7 numbers_length: 7
} ); } );
@@ -14123,7 +14156,7 @@
switch ( button ) { switch ( button ) {
case 'ellipsis': case 'ellipsis':
container.append('<span>&hellip;</span>'); container.append('<span class="ellipsis">&#x2026;</span>');
break; break;
case 'first': case 'first':
@@ -14183,20 +14216,22 @@
// IE9 throws an 'unknown error' if document.activeElement is used // IE9 throws an 'unknown error' if document.activeElement is used
// inside an iframe or frame. Try / catch the error. Not good for // inside an iframe or frame. Try / catch the error. Not good for
// accessibility, but neither are frames. // accessibility, but neither are frames.
var activeEl;
try { try {
// Because this approach is destroying and recreating the paging // Because this approach is destroying and recreating the paging
// elements, focus is lost on the select button which is bad for // elements, focus is lost on the select button which is bad for
// accessibility. So we want to restore focus once the draw has // accessibility. So we want to restore focus once the draw has
// completed // completed
var activeEl = $(document.activeElement).data('dt-idx'); activeEl = $(document.activeElement).data('dt-idx');
attach( $(host).empty(), buttons );
if ( activeEl !== null ) {
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
}
} }
catch (e) {} catch (e) {}
attach( $(host).empty(), buttons );
if ( activeEl ) {
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
}
} }
} }
} ); } );
@@ -14505,6 +14540,10 @@
number: function ( thousands, decimal, precision, prefix ) { number: function ( thousands, decimal, precision, prefix ) {
return { return {
display: function ( d ) { display: function ( d ) {
if ( typeof d !== 'number' && typeof d !== 'string' ) {
return d;
}
var negative = d < 0 ? '-' : ''; var negative = d < 0 ? '-' : '';
d = Math.abs( parseFloat( d ) ); d = Math.abs( parseFloat( d ) );

View File

@@ -1,157 +1,158 @@
/*! DataTables 1.10.4 /*! DataTables 1.10.6
* ©2008-2014 SpryMedia Ltd - datatables.net/license * ©2008-2015 SpryMedia Ltd - datatables.net/license
*/ */
(function(Da,P,l){var O=function(g){function V(a){var b,c,e={};g.each(a,function(d){if((b=d.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=d.replace(b[0],b[2].toLowerCase()),e[c]=d,"o"===b[1]&&V(a[d])});a._hungarianMap=e}function G(a,b,c){a._hungarianMap||V(a);var e;g.each(b,function(d){e=a._hungarianMap[d];if(e!==l&&(c||b[e]===l))"o"===e.charAt(0)?(b[e]||(b[e]={}),g.extend(!0,b[e],b[d]),G(a[e],b[e],c)):b[e]=b[d]})}function O(a){var b=p.defaults.oLanguage,c=a.sZeroRecords; (function(Ea,P,k){var O=function(h){function V(a){var b,c,e={};h.each(a,function(d){if((b=d.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=d.replace(b[0],b[2].toLowerCase()),e[c]=d,"o"===b[1]&&V(a[d])});a._hungarianMap=e}function H(a,b,c){a._hungarianMap||V(a);var e;h.each(b,function(d){e=a._hungarianMap[d];if(e!==k&&(c||b[e]===k))"o"===e.charAt(0)?(b[e]||(b[e]={}),h.extend(!0,b[e],b[d]),H(a[e],b[e],c)):b[e]=b[d]})}function O(a){var b=m.defaults.oLanguage,c=a.sZeroRecords;
!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&D(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&D(a,a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&cb(a)}function db(a){z(a,"ordering","bSort");z(a,"orderMulti","bSortMulti");z(a,"orderClasses","bSortClasses");z(a,"orderCellsTop","bSortCellsTop");z(a,"order","aaSorting");z(a,"orderFixed","aaSortingFixed");z(a,"paging","bPaginate"); !a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&E(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&E(a,a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&db(a)}function eb(a){A(a,"ordering","bSort");A(a,"orderMulti","bSortMulti");A(a,"orderClasses","bSortClasses");A(a,"orderCellsTop","bSortCellsTop");A(a,"order","aaSorting");A(a,"orderFixed","aaSortingFixed");A(a,"paging","bPaginate");
z(a,"pagingType","sPaginationType");z(a,"pageLength","iDisplayLength");z(a,"searching","bFilter");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&G(p.models.oSearch,a[b])}function eb(a){z(a,"orderable","bSortable");z(a,"orderData","aDataSort");z(a,"orderSequence","asSorting");z(a,"orderDataType","sortDataType")}function fb(a){var a=a.oBrowser,b=g("<div/>").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(g("<div/>").css({position:"absolute",top:1,left:1,width:100, A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&H(m.models.oSearch,a[b])}function fb(a){A(a,"orderable","bSortable");A(a,"orderData","aDataSort");A(a,"orderSequence","asSorting");A(a,"orderDataType","sortDataType");var b=a.aDataSort;b&&!h.isArray(b)&&(a.aDataSort=[b])}function gb(a){var a=a.oBrowser,b=h("<div/>").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("<div/>").css({position:"absolute",
overflow:"scroll"}).append(g('<div class="test"/>').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==c.offset().left;b.remove()}function gb(a,b,c,e,d,f){var h,i=!1;c!==l&&(h=c,i=!0);for(;e!==d;)a.hasOwnProperty(e)&&(h=i?b(h,a[e],e,a):a[e],i=!0,e+=f);return h}function Ea(a,b){var c=p.defaults.column,e=a.aoColumns.length,c=g.extend({},p.models.oColumn,c,{nTh:b?b:P.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML: top:1,left:1,width:100,overflow:"scroll"}).append(h('<div class="test"/>').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==Math.round(c.offset().left);b.remove()}function hb(a,b,c,e,d,f){var g,i=!1;c!==k&&(g=c,i=!0);for(;e!==d;)a.hasOwnProperty(e)&&(g=i?b(g,a[e],e,a):a[e],i=!0,e+=f);return g}function Fa(a,b){var c=m.defaults.column,e=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:P.createElement("th"),sTitle:c.sTitle?
"",aDataSort:c.aDataSort?c.aDataSort:[e],mData:c.mData?c.mData:e,idx:e});a.aoColumns.push(c);c=a.aoPreSearchCols;c[e]=g.extend({},p.models.oSearch,c[e]);ja(a,e,null)}function ja(a,b,c){var b=a.aoColumns[b],e=a.oClasses,d=g(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=d.attr("width")||null;var f=(d.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==l&&null!==c&&(eb(c),G(p.defaults.column,c),c.mDataProp!==l&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&& c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[e],mData:c.mData?c.mData:e,idx:e});a.aoColumns.push(c);c=a.aoPreSearchCols;c[e]=h.extend({},m.models.oSearch,c[e]);ka(a,e,h(b).data())}function ka(a,b,c){var b=a.aoColumns[b],e=a.oClasses,d=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=d.attr("width")||null;var f=(d.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),H(m.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&
!c.sClass&&(c.sClass=c.className),g.extend(b,c),D(b,c,"sWidth","sWidthOrig"),"number"===typeof c.iDataSort&&(b.aDataSort=[c.iDataSort]),D(b,c,"aDataSort"));var h=b.mData,i=W(h),j=b.mRender?W(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=g.isPlainObject(h)&&(c(h.sort)||c(h.type)||c(h.filter));b.fnGetData=function(a,b,c){var e=i(a,b,l,c);return j&&b?j(e,b,a,c):e};b.fnSetData=function(a,b,c){return Q(h)(a,b,c)};"number"!==typeof h&&(a._rowReadObject=!0);a.oFeatures.bSort|| (b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),h.extend(b,c),E(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),E(b,c,"aDataSort"));var g=b.mData,i=W(g),j=b.mRender?W(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b.fnGetData=function(a,b,c){var e=i(a,b,k,c);return j&&b?j(e,b,a,c):e};b.fnSetData=function(a,b,c){return Q(g)(a,b,c)};"number"!==typeof g&&
(b.bSortable=!1,d.addClass(e.sSortableNone));a=-1!==g.inArray("asc",b.asSorting);c=-1!==g.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=e.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=e.sSortableAsc,b.sSortingClassJUI=e.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=e.sSortableDesc,b.sSortingClassJUI=e.sSortJUIDescAllowed):(b.sSortingClass=e.sSortable,b.sSortingClassJUI=e.sSortJUI)}function X(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Fa(a);for(var c=0,e=b.length;c< (a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,d.addClass(e.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=e.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=e.sSortableAsc,b.sSortingClassJUI=e.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=e.sSortableDesc,b.sSortingClassJUI=e.sSortJUIDescAllowed):(b.sSortingClass=e.sSortable,b.sSortingClassJUI=e.sSortJUI)}function X(a){if(!1!==a.oFeatures.bAutoWidth){var b=
e;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&Y(a);u(a,null,"column-sizing",[a])}function ka(a,b){var c=Z(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function $(a,b){var c=Z(a,"bVisible"),c=g.inArray(b,c);return-1!==c?c:null}function aa(a){return Z(a,"bVisible").length}function Z(a,b){var c=[];g.map(a.aoColumns,function(a,d){a[b]&&c.push(d)});return c}function Ga(a){var b=a.aoColumns,c=a.aoData,e=p.ext.type.detect,d,f,h,i,j,g,m,o,k;d=0;for(f=b.length;d<f;d++)if(m= a.aoColumns;Ga(a);for(var c=0,e=b.length;c<e;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&Y(a);w(a,null,"column-sizing",[a])}function la(a,b){var c=Z(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function $(a,b){var c=Z(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function aa(a){return Z(a,"bVisible").length}function Z(a,b){var c=[];h.map(a.aoColumns,function(a,d){a[b]&&c.push(d)});return c}function Ha(a){var b=a.aoColumns,c=a.aoData,e=m.ext.type.detect,d,
b[d],k=[],!m.sType&&m._sManualType)m.sType=m._sManualType;else if(!m.sType){h=0;for(i=e.length;h<i;h++){j=0;for(g=c.length;j<g;j++){k[j]===l&&(k[j]=v(a,j,d,"type"));o=e[h](k[j],a);if(!o&&h!==e.length-1)break;if("html"===o)break}if(o){m.sType=o;break}}m.sType||(m.sType="string")}}function hb(a,b,c,e){var d,f,h,i,j,n,m=a.aoColumns;if(b)for(d=b.length-1;0<=d;d--){n=b[d];var o=n.targets!==l?n.targets:n.aTargets;g.isArray(o)||(o=[o]);f=0;for(h=o.length;f<h;f++)if("number"===typeof o[f]&&0<=o[f]){for(;m.length<= f,g,i,j,h,l,q,o;d=0;for(f=b.length;d<f;d++)if(l=b[d],o=[],!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){g=0;for(i=e.length;g<i;g++){j=0;for(h=c.length;j<h;j++){o[j]===k&&(o[j]=y(a,j,d,"type"));q=e[g](o[j],a);if(!q&&g!==e.length-1)break;if("html"===q)break}if(q){l.sType=q;break}}l.sType||(l.sType="string")}}function ib(a,b,c,e){var d,f,g,i,j,n,l=a.aoColumns;if(b)for(d=b.length-1;0<=d;d--){n=b[d];var q=n.targets!==k?n.targets:n.aTargets;h.isArray(q)||(q=[q]);f=0;for(g=q.length;f<
o[f];)Ea(a);e(o[f],n)}else if("number"===typeof o[f]&&0>o[f])e(m.length+o[f],n);else if("string"===typeof o[f]){i=0;for(j=m.length;i<j;i++)("_all"==o[f]||g(m[i].nTh).hasClass(o[f]))&&e(i,n)}}if(c){d=0;for(a=c.length;d<a;d++)e(d,c[d])}}function I(a,b,c,e){var d=a.aoData.length,f=g.extend(!0,{},p.models.oRow,{src:c?"dom":"data"});f._aData=b;a.aoData.push(f);for(var b=a.aoColumns,f=0,h=b.length;f<h;f++)c&&Ha(a,d,f,v(a,d,f)),b[f].sType=null;a.aiDisplayMaster.push(d);(c||!a.oFeatures.bDeferRender)&&Ia(a, g;f++)if("number"===typeof q[f]&&0<=q[f]){for(;l.length<=q[f];)Fa(a);e(q[f],n)}else if("number"===typeof q[f]&&0>q[f])e(l.length+q[f],n);else if("string"===typeof q[f]){i=0;for(j=l.length;i<j;i++)("_all"==q[f]||h(l[i].nTh).hasClass(q[f]))&&e(i,n)}}if(c){d=0;for(a=c.length;d<a;d++)e(d,c[d])}}function J(a,b,c,e){var d=a.aoData.length,f=h.extend(!0,{},m.models.oRow,{src:c?"dom":"data"});f._aData=b;a.aoData.push(f);for(var b=a.aoColumns,f=0,g=b.length;f<g;f++)c&&Ia(a,d,f,y(a,d,f)),b[f].sType=null;a.aiDisplayMaster.push(d);
d,c,e);return d}function la(a,b){var c;b instanceof g||(b=g(b));return b.map(function(b,d){c=ma(a,d);return I(a,c.data,d,c.cells)})}function v(a,b,c,e){var d=a.iDraw,f=a.aoColumns[c],h=a.aoData[b]._aData,i=f.sDefaultContent,c=f.fnGetData(h,e,{settings:a,row:b,col:c});if(c===l)return a.iDrawError!=d&&null===i&&(R(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b,4),a.iDrawError=d),i;if((c===h||null===c)&&null!==i)c=i;else if("function"===typeof c)return c.call(h); (c||!a.oFeatures.bDeferRender)&&Ja(a,d,c,e);return d}function ma(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,d){c=na(a,d);return J(a,c.data,d,c.cells)})}function y(a,b,c,e){var d=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,i=f.sDefaultContent,c=f.fnGetData(g,e,{settings:a,row:b,col:c});if(c===k)return a.iDrawError!=d&&null===i&&(R(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b,4),a.iDrawError=d),i;if((c===g||null===c)&&
return null===c&&"display"==e?"":c}function Ha(a,b,c,e){a.aoColumns[c].fnSetData(a.aoData[b]._aData,e,{settings:a,row:b,col:c})}function Ja(a){return g.map(a.match(/(\\.|[^\.])+/g),function(a){return a.replace(/\\./g,".")})}function W(a){if(g.isPlainObject(a)){var b={};g.each(a,function(a,c){c&&(b[a]=W(c))});return function(a,c,f,h){var i=b[c]||b._;return i!==l?i(a,c,f,h):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f,h){return a(b,c,f,h)};if("string"=== null!==i)c=i;else if("function"===typeof c)return c.call(g);return null===c&&"display"==e?"":c}function Ia(a,b,c,e){a.aoColumns[c].fnSetData(a.aoData[b]._aData,e,{settings:a,row:b,col:c})}function Ka(a){return h.map(a.match(/(\\.|[^\.])+/g),function(a){return a.replace(/\\./g,".")})}function W(a){if(h.isPlainObject(a)){var b={};h.each(a,function(a,c){c&&(b[a]=W(c))});return function(a,c,f,g){var i=b[c]||b._;return i!==k?i(a,c,f,g):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,
typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var c=function(a,b,f){var h,i;if(""!==f){i=Ja(f);for(var j=0,g=i.length;j<g;j++){f=i[j].match(ba);h=i[j].match(S);if(f){i[j]=i[j].replace(ba,"");""!==i[j]&&(a=a[i[j]]);h=[];i.splice(0,j+1);i=i.join(".");j=0;for(g=a.length;j<g;j++)h.push(c(a[j],b,i));a=f[0].substring(1,f[0].length-1);a=""===a?h:h.join(a);break}else if(h){i[j]=i[j].replace(S,"");a=a[i[j]]();continue}if(null===a||a[i[j]]===l)return l;a=a[i[j]]}}return a};return function(b, c,f,g){return a(b,c,f,g)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var c=function(a,b,f){var g,i;if(""!==f){i=Ka(f);for(var j=0,h=i.length;j<h;j++){f=i[j].match(ba);g=i[j].match(S);if(f){i[j]=i[j].replace(ba,"");""!==i[j]&&(a=a[i[j]]);g=[];i.splice(0,j+1);i=i.join(".");j=0;for(h=a.length;j<h;j++)g.push(c(a[j],b,i));a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else if(g){i[j]=i[j].replace(S,"");a=a[i[j]]();continue}if(null===a||a[i[j]]===
d){return c(b,d,a)}}return function(b){return b[a]}}function Q(a){if(g.isPlainObject(a))return Q(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,e,d){a(b,"set",e,d)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,e,d){var d=Ja(d),f;f=d[d.length-1];for(var h,i,j=0,g=d.length-1;j<g;j++){h=d[j].match(ba);i=d[j].match(S);if(h){d[j]=d[j].replace(ba,"");a[d[j]]=[];f=d.slice();f.splice(0,j+1);h=f.join(".");i=0;for(g= k)return k;a=a[i[j]]}}return a};return function(b,d){return c(b,d,a)}}return function(b){return b[a]}}function Q(a){if(h.isPlainObject(a))return Q(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,e,d){a(b,"set",e,d)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,e,d){var d=Ka(d),f;f=d[d.length-1];for(var g,i,j=0,h=d.length-1;j<h;j++){g=d[j].match(ba);i=d[j].match(S);if(g){d[j]=d[j].replace(ba,"");a[d[j]]=[];
e.length;i<g;i++)f={},b(f,e[i],h),a[d[j]].push(f);return}i&&(d[j]=d[j].replace(S,""),a=a[d[j]](e));if(null===a[d[j]]||a[d[j]]===l)a[d[j]]={};a=a[d[j]]}if(f.match(S))a[f.replace(S,"")](e);else a[f.replace(ba,"")]=e};return function(c,e){return b(c,e,a)}}return function(b,e){b[a]=e}}function Ka(a){return C(a.aoData,"_aData")}function na(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0}function oa(a,b,c){for(var e=-1,d=0,f=a.length;d<f;d++)a[d]==b?e=d:a[d]>b&&a[d]--; -1!=e&&c===l&& f=d.slice();f.splice(0,j+1);g=f.join(".");i=0;for(h=e.length;i<h;i++)f={},b(f,e[i],g),a[d[j]].push(f);return}i&&(d[j]=d[j].replace(S,""),a=a[d[j]](e));if(null===a[d[j]]||a[d[j]]===k)a[d[j]]={};a=a[d[j]]}if(f.match(S))a[f.replace(S,"")](e);else a[f.replace(ba,"")]=e};return function(c,e){return b(c,e,a)}}return function(b,e){b[a]=e}}function La(a){return D(a.aoData,"_aData")}function oa(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0}function pa(a,b,c){for(var e=-1,d=0,f=a.length;d<
a.splice(e,1)}function ca(a,b,c,e){var d=a.aoData[b],f,h=function(c,f){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=v(a,b,f,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===d.src)d._aData=ma(a,d,e,e===l?l:d._aData).data;else{var i=d.anCells;if(i)if(e!==l)h(i[e],e);else{c=0;for(f=i.length;c<f;c++)h(i[c],c)}}d._aSortData=null;d._aFilterData=null;h=a.aoColumns;if(e!==l)h[e].sType=null;else{c=0;for(f=h.length;c<f;c++)h[c].sType=null;La(d)}}function ma(a,b,c,e){var d=[],f=b.firstChild, f;d++)a[d]==b?e=d:a[d]>b&&a[d]--; -1!=e&&c===k&&a.splice(e,1)}function ca(a,b,c,e){var d=a.aoData[b],f,g=function(c,f){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=y(a,b,f,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===d.src)d._aData=na(a,d,e,e===k?k:d._aData).data;else{var i=d.anCells;if(i)if(e!==k)g(i[e],e);else{c=0;for(f=i.length;c<f;c++)g(i[c],c)}}d._aSortData=null;d._aFilterData=null;g=a.aoColumns;if(e!==k)g[e].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;
h,i=0,j,n=a.aoColumns,m=a._rowReadObject,e=e||m?{}:[],o=function(a,b){if("string"===typeof a){var c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),Q(a)(e,b.getAttribute(c)))}},a=function(a){if(c===l||c===i)h=n[i],j=g.trim(a.innerHTML),h&&h._bAttrSrc?(Q(h.mData._)(e,j),o(h.mData.sort,a),o(h.mData.type,a),o(h.mData.filter,a)):m?(h._setter||(h._setter=Q(h.mData)),h._setter(e,j)):e[i]=j;i++};if(f)for(;f;){b=f.nodeName.toUpperCase();if("TD"==b||"TH"==b)a(f),d.push(f);f=f.nextSibling}else{d=b.anCells;f=0;for(b= Ma(d)}}function na(a,b,c,e){var d=[],f=b.firstChild,g,i=0,j,n=a.aoColumns,l=a._rowReadObject,e=e||l?{}:[],q=function(a,b){if("string"===typeof a){var c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),Q(a)(e,b.getAttribute(c)))}},a=function(a){if(c===k||c===i)g=n[i],j=h.trim(a.innerHTML),g&&g._bAttrSrc?(Q(g.mData._)(e,j),q(g.mData.sort,a),q(g.mData.type,a),q(g.mData.filter,a)):l?(g._setter||(g._setter=Q(g.mData)),g._setter(e,j)):e[i]=j;i++};if(f)for(;f;){b=f.nodeName.toUpperCase();if("TD"==b||"TH"==b)a(f),
d.length;f<b;f++)a(d[f])}return{data:e,cells:d}}function Ia(a,b,c,e){var d=a.aoData[b],f=d._aData,h=[],i,j,g,m,o;if(null===d.nTr){i=c||P.createElement("tr");d.nTr=i;d.anCells=h;i._DT_RowIndex=b;La(d);m=0;for(o=a.aoColumns.length;m<o;m++){g=a.aoColumns[m];j=c?e[m]:P.createElement(g.sCellType);h.push(j);if(!c||g.mRender||g.mData!==m)j.innerHTML=v(a,b,m,"display");g.sClass&&(j.className+=" "+g.sClass);g.bVisible&&!c?i.appendChild(j):!g.bVisible&&c&&j.parentNode.removeChild(j);g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance, d.push(f);f=f.nextSibling}else{d=b.anCells;f=0;for(b=d.length;f<b;f++)a(d[f])}return{data:e,cells:d}}function Ja(a,b,c,e){var d=a.aoData[b],f=d._aData,g=[],i,j,h,l,q;if(null===d.nTr){i=c||P.createElement("tr");d.nTr=i;d.anCells=g;i._DT_RowIndex=b;Ma(d);l=0;for(q=a.aoColumns.length;l<q;l++){h=a.aoColumns[l];j=c?e[l]:P.createElement(h.sCellType);g.push(j);if(!c||h.mRender||h.mData!==l)j.innerHTML=y(a,b,l,"display");h.sClass&&(j.className+=" "+h.sClass);h.bVisible&&!c?i.appendChild(j):!h.bVisible&&c&&
j,v(a,b,m),f,b,m)}u(a,"aoRowCreatedCallback",null,[i,f,b])}d.nTr.setAttribute("role","row")}function La(a){var b=a.nTr,c=a._aData;if(b){c.DT_RowId&&(b.id=c.DT_RowId);if(c.DT_RowClass){var e=c.DT_RowClass.split(" ");a.__rowc=a.__rowc?Ma(a.__rowc.concat(e)):e;g(b).removeClass(a.__rowc.join(" ")).addClass(c.DT_RowClass)}c.DT_RowData&&g(b).data(c.DT_RowData)}}function ib(a){var b,c,e,d,f,h=a.nTHead,i=a.nTFoot,j=0===g("th, td",h).length,n=a.oClasses,m=a.aoColumns;j&&(d=g("<tr/>").appendTo(h));b=0;for(c= j.parentNode.removeChild(j);h.fnCreatedCell&&h.fnCreatedCell.call(a.oInstance,j,y(a,b,l),f,b,l)}w(a,"aoRowCreatedCallback",null,[i,f,b])}d.nTr.setAttribute("role","row")}function Ma(a){var b=a.nTr,c=a._aData;if(b){c.DT_RowId&&(b.id=c.DT_RowId);if(c.DT_RowClass){var e=c.DT_RowClass.split(" ");a.__rowc=a.__rowc?Na(a.__rowc.concat(e)):e;h(b).removeClass(a.__rowc.join(" ")).addClass(c.DT_RowClass)}c.DT_RowAttr&&h(b).attr(c.DT_RowAttr);c.DT_RowData&&h(b).data(c.DT_RowData)}}function jb(a){var b,c,e,d,
m.length;b<c;b++)f=m[b],e=g(f.nTh).addClass(f.sClass),j&&e.appendTo(d),a.oFeatures.bSort&&(e.addClass(f.sSortingClass),!1!==f.bSortable&&(e.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Na(a,f.nTh,b))),f.sTitle!=e.html()&&e.html(f.sTitle),Oa(a,"header")(a,e,f,n);j&&da(a.aoHeader,h);g(h).find(">tr").attr("role","row");g(h).find(">tr>th, >tr>td").addClass(n.sHeaderTH);g(i).find(">tr>th, >tr>td").addClass(n.sFooterTH);if(null!==i){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=m[b],f.nTf= f,g=a.nTHead,i=a.nTFoot,j=0===h("th, td",g).length,n=a.oClasses,l=a.aoColumns;j&&(d=h("<tr/>").appendTo(g));b=0;for(c=l.length;b<c;b++)f=l[b],e=h(f.nTh).addClass(f.sClass),j&&e.appendTo(d),a.oFeatures.bSort&&(e.addClass(f.sSortingClass),!1!==f.bSortable&&(e.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Oa(a,f.nTh,b))),f.sTitle!=e.html()&&e.html(f.sTitle),Pa(a,"header")(a,e,f,n);j&&da(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(n.sHeaderTH);
a[b].cell,f.sClass&&g(f.nTf).addClass(f.sClass)}}function ea(a,b,c){var e,d,f,h=[],i=[],j=a.aoColumns.length,n;if(b){c===l&&(c=!1);e=0;for(d=b.length;e<d;e++){h[e]=b[e].slice();h[e].nTr=b[e].nTr;for(f=j-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&h[e].splice(f,1);i.push([])}e=0;for(d=h.length;e<d;e++){if(a=h[e].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=h[e].length;f<b;f++)if(n=j=1,i[e][f]===l){a.appendChild(h[e][f].cell);for(i[e][f]=1;h[e+j]!==l&&h[e][f].cell==h[e+j][f].cell;)i[e+j][f]=1,j++; h(i).find(">tr>th, >tr>td").addClass(n.sFooterTH);if(null!==i){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=l[b],f.nTf=a[b].cell,f.sClass&&h(f.nTf).addClass(f.sClass)}}function ea(a,b,c){var e,d,f,g=[],i=[],j=a.aoColumns.length,n;if(b){c===k&&(c=!1);e=0;for(d=b.length;e<d;e++){g[e]=b[e].slice();g[e].nTr=b[e].nTr;for(f=j-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[e].splice(f,1);i.push([])}e=0;for(d=g.length;e<d;e++){if(a=g[e].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[e].length;f<b;f++)if(n=
for(;h[e][f+n]!==l&&h[e][f].cell==h[e][f+n].cell;){for(c=0;c<j;c++)i[e+c][f+n]=1;n++}g(h[e][f].cell).attr("rowspan",j).attr("colspan",n)}}}}function L(a){var b=u(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==g.inArray(!1,b))B(a,!1);else{var b=[],c=0,e=a.asStripeClasses,d=e.length,f=a.oLanguage,h=a.iInitDisplayStart,i="ssp"==A(a),j=a.aiDisplay;a.bDrawing=!0;h!==l&&-1!==h&&(a._iDisplayStart=i?h:h>=a.fnRecordsDisplay()?0:h,a.iInitDisplayStart=-1);var h=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading= j=1,i[e][f]===k){a.appendChild(g[e][f].cell);for(i[e][f]=1;g[e+j]!==k&&g[e][f].cell==g[e+j][f].cell;)i[e+j][f]=1,j++;for(;g[e][f+n]!==k&&g[e][f].cell==g[e][f+n].cell;){for(c=0;c<j;c++)i[e+c][f+n]=1;n++}h(g[e][f].cell).attr("rowspan",j).attr("colspan",n)}}}}function M(a){var b=w(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))C(a,!1);else{var b=[],c=0,e=a.asStripeClasses,d=e.length,f=a.oLanguage,g=a.iInitDisplayStart,i="ssp"==B(a),j=a.aiDisplay;a.bDrawing=!0;g!==k&&-1!==g&&(a._iDisplayStart=
!1,a.iDraw++,B(a,!1);else if(i){if(!a.bDestroying&&!jb(a))return}else a.iDraw++;if(0!==j.length){f=i?a.aoData.length:n;for(i=i?0:h;i<f;i++){var m=j[i],o=a.aoData[m];null===o.nTr&&Ia(a,m);m=o.nTr;if(0!==d){var k=e[c%d];o._sRowStripe!=k&&(g(m).removeClass(o._sRowStripe).addClass(k),o._sRowStripe=k)}u(a,"aoRowCallback",null,[m,o._aData,c,i]);b.push(m);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==A(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=g("<tr/>",{"class":d? i?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(i){if(!a.bDestroying&&!kb(a))return}else a.iDraw++;if(0!==j.length){f=i?a.aoData.length:n;for(i=i?0:g;i<f;i++){var l=j[i],q=a.aoData[l];null===q.nTr&&Ja(a,l);l=q.nTr;if(0!==d){var o=e[c%d];q._sRowStripe!=o&&(h(l).removeClass(q._sRowStripe).addClass(o),q._sRowStripe=o)}w(a,"aoRowCallback",null,[l,q._aData,c,i]);b.push(l);c++}}else c=f.sZeroRecords,
e[0]:""}).append(g("<td />",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];u(a,"aoHeaderCallback","header",[g(a.nTHead).children("tr")[0],Ka(a),h,n,j]);u(a,"aoFooterCallback","footer",[g(a.nTFoot).children("tr")[0],Ka(a),h,n,j]);e=g(a.nTBody);e.children().detach();e.append(g(b));u(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function M(a,b){var c=a.oFeatures,e=c.bFilter;c.bSort&&kb(a);e?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice(); 1==a.iDraw&&"ajax"==B(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":d?e[0]:""}).append(h("<td />",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];w(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],La(a),g,n,j]);w(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],La(a),g,n,j]);e=h(a.nTBody);e.children().detach();e.append(h(b));w(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=
!0!==b&&(a._iDisplayStart=0);a._drawHold=b;L(a);a._drawHold=!1}function lb(a){var b=a.oClasses,c=g(a.nTable),c=g("<div/>").insertBefore(c),e=a.oFeatures,d=g("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=d[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),h,i,j,n,m,o,k=0;k<f.length;k++){h=null;i=f[k];if("<"==i){j=g("<div/>")[0];n=f[k+1];if("'"==n||'"'==n){m="";for(o=2;f[k+o]!=n;)m+=f[k+o],o++;"H"==m?m=b.sJUIHeader: !1}}function N(a,b){var c=a.oFeatures,e=c.bFilter;c.bSort&&lb(a);e?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;M(a);a._drawHold=!1}function mb(a){var b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),e=a.oFeatures,d=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=d[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,i,j,n,l,q,o=0;o<f.length;o++){g=
"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),j.id=n[0].substr(1,n[0].length-1),j.className=n[1]):"#"==m.charAt(0)?j.id=m.substr(1,m.length-1):j.className=m;k+=o}d.append(j);d=g(j)}else if(">"==i)d=d.parent();else if("l"==i&&e.bPaginate&&e.bLengthChange)h=mb(a);else if("f"==i&&e.bFilter)h=nb(a);else if("r"==i&&e.bProcessing)h=ob(a);else if("t"==i)h=pb(a);else if("i"==i&&e.bInfo)h=qb(a);else if("p"==i&&e.bPaginate)h=rb(a);else if(0!==p.ext.feature.length){j=p.ext.feature;o=0;for(n=j.length;o< null;i=f[o];if("<"==i){j=h("<div/>")[0];n=f[o+1];if("'"==n||'"'==n){l="";for(q=2;f[o+q]!=n;)l+=f[o+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(n=l.split("."),j.id=n[0].substr(1,n[0].length-1),j.className=n[1]):"#"==l.charAt(0)?j.id=l.substr(1,l.length-1):j.className=l;o+=q}d.append(j);d=h(j)}else if(">"==i)d=d.parent();else if("l"==i&&e.bPaginate&&e.bLengthChange)g=nb(a);else if("f"==i&&e.bFilter)g=ob(a);else if("r"==i&&e.bProcessing)g=pb(a);else if("t"==i)g=qb(a);else if("i"==
n;o++)if(i==j[o].cFeature){h=j[o].fnInit(a);break}}h&&(j=a.aanFeatures,j[i]||(j[i]=[]),j[i].push(h),d.append(h))}c.replaceWith(d)}function da(a,b){var c=g(b).children("tr"),e,d,f,h,i,j,n,m,o,k;a.splice(0,a.length);f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){e=c[f];for(d=e.firstChild;d;){if("TD"==d.nodeName.toUpperCase()||"TH"==d.nodeName.toUpperCase()){m=1*d.getAttribute("colspan");o=1*d.getAttribute("rowspan");m=!m||0===m||1===m?1:m;o=!o||0===o||1===o?1:o;h=0;for(i=a[f];i[h];)h++; i&&e.bInfo)g=rb(a);else if("p"==i&&e.bPaginate)g=sb(a);else if(0!==m.ext.feature.length){j=m.ext.feature;q=0;for(n=j.length;q<n;q++)if(i==j[q].cFeature){g=j[q].fnInit(a);break}}g&&(j=a.aanFeatures,j[i]||(j[i]=[]),j[i].push(g),d.append(g))}c.replaceWith(d)}function da(a,b){var c=h(b).children("tr"),e,d,f,g,i,j,n,l,q,o;a.splice(0,a.length);f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){e=c[f];for(d=e.firstChild;d;){if("TD"==d.nodeName.toUpperCase()||"TH"==d.nodeName.toUpperCase()){l=
n=h;k=1===m?!0:!1;for(i=0;i<m;i++)for(h=0;h<o;h++)a[f+h][n+i]={cell:d,unique:k},a[f+h].nTr=e}d=d.nextSibling}}}function pa(a,b,c){var e=[];c||(c=a.aoHeader,b&&(c=[],da(c,b)));for(var b=0,d=c.length;b<d;b++)for(var f=0,h=c[b].length;f<h;f++)if(c[b][f].unique&&(!e[f]||!a.bSortCellsTop))e[f]=c[b][f].cell;return e}function qa(a,b,c){u(a,"aoServerParams","serverParams",[b]);if(b&&g.isArray(b)){var e={},d=/(.*?)\[\]$/;g.each(b,function(a,b){var c=b.name.match(d);c?(c=c[0],e[c]||(e[c]=[]),e[c].push(b.value)): 1*d.getAttribute("colspan");q=1*d.getAttribute("rowspan");l=!l||0===l||1===l?1:l;q=!q||0===q||1===q?1:q;g=0;for(i=a[f];i[g];)g++;n=g;o=1===l?!0:!1;for(i=0;i<l;i++)for(g=0;g<q;g++)a[f+g][n+i]={cell:d,unique:o},a[f+g].nTr=e}d=d.nextSibling}}}function qa(a,b,c){var e=[];c||(c=a.aoHeader,b&&(c=[],da(c,b)));for(var b=0,d=c.length;b<d;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!e[f]||!a.bSortCellsTop))e[f]=c[b][f].cell;return e}function ra(a,b,c){w(a,"aoServerParams","serverParams",[b]);
e[b.name]=b.value});b=e}var f,h=a.ajax,i=a.oInstance;if(g.isPlainObject(h)&&h.data){f=h.data;var j=g.isFunction(f)?f(b):f,b=g.isFunction(f)&&j?j:g.extend(!0,b,j);delete h.data}j={data:b,success:function(b){var f=b.error||b.sError;f&&a.oApi._fnLog(a,0,f);a.json=b;u(a,null,"xhr",[a,b]);c(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var f=a.oApi._fnLog;"parsererror"==c?f(a,0,"Invalid JSON response",1):4===b.readyState&&f(a,0,"Ajax error",7);B(a,!1)}};a.oAjaxData=b;u(a,null,"preXhr", if(b&&h.isArray(b)){var e={},d=/(.*?)\[\]$/;h.each(b,function(a,b){var c=b.name.match(d);c?(c=c[0],e[c]||(e[c]=[]),e[c].push(b.value)):e[b.name]=b.value});b=e}var f,g=a.ajax,i=a.oInstance,j=function(b){w(a,null,"xhr",[a,b]);c(b)};if(h.isPlainObject(g)&&g.data){f=g.data;var n=h.isFunction(f)?f(b,a):f,b=h.isFunction(f)&&n?n:h.extend(!0,b,n);delete g.data}n={data:b,success:function(b){var c=b.error||b.sError;c&&a.oApi._fnLog(a,0,c);a.json=b;j(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,
[a,b]);a.fnServerData?a.fnServerData.call(i,a.sAjaxSource,g.map(b,function(a,b){return{name:b,value:a}}),c,a):a.sAjaxSource||"string"===typeof h?a.jqXHR=g.ajax(g.extend(j,{url:h||a.sAjaxSource})):g.isFunction(h)?a.jqXHR=h.call(i,b,c,a):(a.jqXHR=g.ajax(g.extend(j,h)),h.data=f)}function jb(a){return a.bAjaxDataGet?(a.iDraw++,B(a,!0),qa(a,sb(a),function(b){tb(a,b)}),!1):!0}function sb(a){var b=a.aoColumns,c=b.length,e=a.oFeatures,d=a.oPreviousSearch,f=a.aoPreSearchCols,h,i=[],j,n,m,o=T(a);h=a._iDisplayStart; c){var f=a.oApi._fnLog;"parsererror"==c?f(a,0,"Invalid JSON response",1):4===b.readyState&&f(a,0,"Ajax error",7);C(a,!1)}};a.oAjaxData=b;w(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(i,a.sAjaxSource,h.map(b,function(a,b){return{name:b,value:a}}),j,a):a.sAjaxSource||"string"===typeof g?a.jqXHR=h.ajax(h.extend(n,{url:g||a.sAjaxSource})):h.isFunction(g)?a.jqXHR=g.call(i,b,j,a):(a.jqXHR=h.ajax(h.extend(n,g)),g.data=f)}function kb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,!0),ra(a,tb(a),function(b){ub(a,
j=!1!==e.bPaginate?a._iDisplayLength:-1;var k=function(a,b){i.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",C(b,"sName").join(","));k("iDisplayStart",h);k("iDisplayLength",j);var l={draw:a.iDraw,columns:[],order:[],start:h,length:j,search:{value:d.sSearch,regex:d.bRegex}};for(h=0;h<c;h++)n=b[h],m=f[h],j="function"==typeof n.mData?"function":n.mData,l.columns.push({data:j,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:m.sSearch,regex:m.bRegex}}), b)}),!1):!0}function tb(a){var b=a.aoColumns,c=b.length,e=a.oFeatures,d=a.oPreviousSearch,f=a.aoPreSearchCols,g,i=[],j,n,l,q=T(a);g=a._iDisplayStart;j=!1!==e.bPaginate?a._iDisplayLength:-1;var o=function(a,b){i.push({name:a,value:b})};o("sEcho",a.iDraw);o("iColumns",c);o("sColumns",D(b,"sName").join(","));o("iDisplayStart",g);o("iDisplayLength",j);var k={draw:a.iDraw,columns:[],order:[],start:g,length:j,search:{value:d.sSearch,regex:d.bRegex}};for(g=0;g<c;g++)n=b[g],l=f[g],j="function"==typeof n.mData?
k("mDataProp_"+h,j),e.bFilter&&(k("sSearch_"+h,m.sSearch),k("bRegex_"+h,m.bRegex),k("bSearchable_"+h,n.bSearchable)),e.bSort&&k("bSortable_"+h,n.bSortable);e.bFilter&&(k("sSearch",d.sSearch),k("bRegex",d.bRegex));e.bSort&&(g.each(o,function(a,b){l.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+a,b.dir)}),k("iSortingCols",o.length));b=p.ext.legacy.ajax;return null===b?a.sAjaxSource?i:l:b?i:l}function tb(a,b){var c=b.sEcho!==l?b.sEcho:b.draw,e=b.iTotalRecords!==l?b.iTotalRecords: "function":n.mData,k.columns.push({data:j,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:l.sSearch,regex:l.bRegex}}),o("mDataProp_"+g,j),e.bFilter&&(o("sSearch_"+g,l.sSearch),o("bRegex_"+g,l.bRegex),o("bSearchable_"+g,n.bSearchable)),e.bSort&&o("bSortable_"+g,n.bSortable);e.bFilter&&(o("sSearch",d.sSearch),o("bRegex",d.bRegex));e.bSort&&(h.each(q,function(a,b){k.order.push({column:b.col,dir:b.dir});o("iSortCol_"+a,b.col);o("sSortDir_"+a,b.dir)}),o("iSortingCols",q.length));
b.recordsTotal,d=b.iTotalDisplayRecords!==l?b.iTotalDisplayRecords:b.recordsFiltered;if(c){if(1*c<a.iDraw)return;a.iDraw=1*c}na(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(d,10);c=ra(a,b);e=0;for(d=c.length;e<d;e++)I(a,c[e]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;L(a);a._bInitComplete||sa(a,b);a.bAjaxDataGet=!0;B(a,!1)}function ra(a,b){var c=g.isPlainObject(a.ajax)&&a.ajax.dataSrc!==l?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?W(c)(b): b=m.ext.legacy.ajax;return null===b?a.sAjaxSource?i:k:b?i:k}function ub(a,b){var c=sa(a,b),e=b.sEcho!==k?b.sEcho:b.draw,d=b.iTotalRecords!==k?b.iTotalRecords:b.recordsTotal,f=b.iTotalDisplayRecords!==k?b.iTotalDisplayRecords:b.recordsFiltered;if(e){if(1*e<a.iDraw)return;a.iDraw=1*e}oa(a);a._iRecordsTotal=parseInt(d,10);a._iRecordsDisplay=parseInt(f,10);e=0;for(d=c.length;e<d;e++)J(a,c[e]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;M(a);a._bInitComplete||ta(a,b);a.bAjaxDataGet=!0;C(a,
b}function nb(a){var b=a.oClasses,c=a.sTableId,e=a.oLanguage,d=a.oPreviousSearch,f=a.aanFeatures,h='<input type="search" class="'+b.sFilterInput+'"/>',i=e.sSearch,i=i.match(/_INPUT_/)?i.replace("_INPUT_",h):i+h,b=g("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(g("<label/>").append(i)),f=function(){var b=!this.value?"":this.value;b!=d.sSearch&&(fa(a,{sSearch:b,bRegex:d.bRegex,bSmart:d.bSmart,bCaseInsensitive:d.bCaseInsensitive}),a._iDisplayStart=0,L(a))},h=null!==a.searchDelay?a.searchDelay: !1)}function sa(a,b){var c=h.isPlainObject(a.ajax)&&a.ajax.dataSrc!==k?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?W(c)(b):b}function ob(a){var b=a.oClasses,c=a.sTableId,e=a.oLanguage,d=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',i=e.sSearch,i=i.match(/_INPUT_/)?i.replace("_INPUT_",g):i+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(i)),f=function(){var b=!this.value?"":this.value;b!=d.sSearch&&
"ssp"===A(a)?400:0,j=g("input",b).val(d.sSearch).attr("placeholder",e.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",h?ta(f,h):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);g(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{j[0]!==P.activeElement&&j.val(d.sSearch)}catch(f){}});return b[0]}function fa(a,b,c){var e=a.oPreviousSearch,d=a.aoPreSearchCols,f=function(a){e.sSearch=a.sSearch;e.bRegex=a.bRegex;e.bSmart=a.bSmart;e.bCaseInsensitive= (fa(a,{sSearch:b,bRegex:d.bRegex,bSmart:d.bSmart,bCaseInsensitive:d.bCaseInsensitive}),a._iDisplayStart=0,M(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===B(a)?400:0,j=h("input",b).val(d.sSearch).attr("placeholder",e.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",g?ua(f,g):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{j[0]!==P.activeElement&&j.val(d.sSearch)}catch(f){}});return b[0]}
a.bCaseInsensitive};Ga(a);if("ssp"!=A(a)){ub(a,b.sSearch,c,b.bEscapeRegex!==l?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<d.length;b++)vb(a,d[b].sSearch,b,d[b].bEscapeRegex!==l?!d[b].bEscapeRegex:d[b].bRegex,d[b].bSmart,d[b].bCaseInsensitive);wb(a)}else f(b);a.bFiltered=!0;u(a,null,"search",[a])}function wb(a){for(var b=p.ext.search,c=a.aiDisplay,e,d,f=0,h=b.length;f<h;f++){for(var i=[],j=0,g=c.length;j<g;j++)d=c[j],e=a.aoData[d],b[f](a,e._aFilterData,d,e._aData,j)&&i.push(d); function fa(a,b,c){var e=a.oPreviousSearch,d=a.aoPreSearchCols,f=function(a){e.sSearch=a.sSearch;e.bRegex=a.bRegex;e.bSmart=a.bSmart;e.bCaseInsensitive=a.bCaseInsensitive};Ha(a);if("ssp"!=B(a)){vb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<d.length;b++)wb(a,d[b].sSearch,b,d[b].bEscapeRegex!==k?!d[b].bEscapeRegex:d[b].bRegex,d[b].bSmart,d[b].bCaseInsensitive);xb(a)}else f(b);a.bFiltered=!0;w(a,null,"search",[a])}function xb(a){for(var b=m.ext.search,
c.length=0;c.push.apply(c,i)}}function vb(a,b,c,e,d,f){if(""!==b)for(var h=a.aiDisplay,e=Pa(b,e,d,f),d=h.length-1;0<=d;d--)b=a.aoData[h[d]]._aFilterData[c],e.test(b)||h.splice(d,1)}function ub(a,b,c,e,d,f){var e=Pa(b,e,d,f),d=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,h;0!==p.ext.search.length&&(c=!0);h=xb(a);if(0>=b.length)a.aiDisplay=f.slice();else{if(h||c||d.length>b.length||0!==b.indexOf(d)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)e.test(a.aoData[b[c]]._sFilterRow)|| c=a.aiDisplay,e,d,f=0,g=b.length;f<g;f++){for(var i=[],j=0,h=c.length;j<h;j++)d=c[j],e=a.aoData[d],b[f](a,e._aFilterData,d,e._aData,j)&&i.push(d);c.length=0;c.push.apply(c,i)}}function wb(a,b,c,e,d,f){if(""!==b)for(var g=a.aiDisplay,e=Qa(b,e,d,f),d=g.length-1;0<=d;d--)b=a.aoData[g[d]]._aFilterData[c],e.test(b)||g.splice(d,1)}function vb(a,b,c,e,d,f){var e=Qa(b,e,d,f),d=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,g;0!==m.ext.search.length&&(c=!0);g=yb(a);if(0>=b.length)a.aiDisplay=f.slice();else{if(g||
b.splice(c,1)}}function Pa(a,b,c,e){a=b?a:ua(a);c&&(a="^(?=.*?"+g.map(a.match(/"[^"]+"|[^ ]+/g)||"",function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),a=b?b[1]:a;return a.replace('"',"")}).join(")(?=.*?")+").*$");return RegExp(a,e?"i":"")}function ua(a){return a.replace(Xb,"\\$1")}function xb(a){var b=a.aoColumns,c,e,d,f,h,i,g,n,m=p.ext.type.search;c=!1;e=0;for(f=a.aoData.length;e<f;e++)if(n=a.aoData[e],!n._aFilterData){i=[];d=0;for(h=b.length;d<h;d++)c=b[d],c.bSearchable?(g=v(a,e,d,"filter"), c||d.length>b.length||0!==b.indexOf(d)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)e.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Qa(a,b,c,e){a=b?a:va(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||"",function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),a=b?b[1]:a;return a.replace('"',"")}).join(")(?=.*?")+").*$");return RegExp(a,e?"i":"")}function va(a){return a.replace(Yb,"\\$1")}function yb(a){var b=a.aoColumns,c,e,d,f,g,i,j,h,l=m.ext.type.search;
m[c.sType]&&(g=m[c.sType](g)),null===g&&(g=""),"string"!==typeof g&&g.toString&&(g=g.toString())):g="",g.indexOf&&-1!==g.indexOf("&")&&(va.innerHTML=g,g=Yb?va.textContent:va.innerText),g.replace&&(g=g.replace(/[\r\n]/g,"")),i.push(g);n._aFilterData=i;n._sFilterRow=i.join(" ");c=!0}return c}function yb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function zb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}} c=!1;e=0;for(f=a.aoData.length;e<f;e++)if(h=a.aoData[e],!h._aFilterData){i=[];d=0;for(g=b.length;d<g;d++)c=b[d],c.bSearchable?(j=y(a,e,d,"filter"),l[c.sType]&&(j=l[c.sType](j)),null===j&&(j=""),"string"!==typeof j&&j.toString&&(j=j.toString())):j="",j.indexOf&&-1!==j.indexOf("&")&&(wa.innerHTML=j,j=Zb?wa.textContent:wa.innerText),j.replace&&(j=j.replace(/[\r\n]/g,"")),i.push(j);h._aFilterData=i;h._sFilterRow=i.join(" ");c=!0}return c}function zb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,
function qb(a){var b=a.sTableId,c=a.aanFeatures.i,e=g("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Ab,sName:"information"}),e.attr("role","status").attr("aria-live","polite"),g(a.nTable).attr("aria-describedby",b+"_info"));return e[0]}function Ab(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,e=a._iDisplayStart+1,d=a.fnDisplayEnd(),f=a.fnRecordsTotal(),h=a.fnRecordsDisplay(),i=h?c.sInfo:c.sInfoEmpty;h!==f&&(i+=" "+c.sInfoFiltered);i+=c.sInfoPostFix; caseInsensitive:a.bCaseInsensitive}}function Ab(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function rb(a){var b=a.sTableId,c=a.aanFeatures.i,e=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Bb,sName:"information"}),e.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return e[0]}function Bb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,e=a._iDisplayStart+
i=Bb(a,i);c=c.fnInfoCallback;null!==c&&(i=c.call(a.oInstance,a,e,d,f,h,i));g(b).html(i)}}function Bb(a,b){var c=a.fnFormatNumber,e=a._iDisplayStart+1,d=a._iDisplayLength,f=a.fnRecordsDisplay(),h=-1===d;return b.replace(/_START_/g,c.call(a,e)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,h?1:Math.ceil(e/d))).replace(/_PAGES_/g,c.call(a,h?1:Math.ceil(f/d)))}function ga(a){var b,c,e=a.iInitDisplayStart, 1,d=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),i=g?c.sInfo:c.sInfoEmpty;g!==f&&(i+=" "+c.sInfoFiltered);i+=c.sInfoPostFix;i=Cb(a,i);c=c.fnInfoCallback;null!==c&&(i=c.call(a.oInstance,a,e,d,f,g,i));h(b).html(i)}}function Cb(a,b){var c=a.fnFormatNumber,e=a._iDisplayStart+1,d=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===d;return b.replace(/_START_/g,c.call(a,e)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,
d=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){lb(a);ib(a);ea(a,a.aoHeader);ea(a,a.aoFooter);B(a,!0);c.bAutoWidth&&Fa(a);b=0;for(c=d.length;b<c;b++)f=d[b],f.sWidth&&(f.nTh.style.width=s(f.sWidth));M(a);d=A(a);"ssp"!=d&&("ajax"==d?qa(a,[],function(c){var f=ra(a,c);for(b=0;b<f.length;b++)I(a,f[b]);a.iInitDisplayStart=e;M(a);B(a,!1);sa(a,c)},a):(B(a,!1),sa(a)))}else setTimeout(function(){ga(a)},200)}function sa(a,b){a._bInitComplete=!0;b&&X(a);u(a,"aoInitComplete","init",[a,b])}function Qa(a,b){var c= f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(e/d))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/d)))}function ga(a){var b,c,e=a.iInitDisplayStart,d=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){mb(a);jb(a);ea(a,a.aoHeader);ea(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Ga(a);b=0;for(c=d.length;b<c;b++)f=d[b],f.sWidth&&(f.nTh.style.width=s(f.sWidth));N(a);d=B(a);"ssp"!=d&&("ajax"==d?ra(a,[],function(c){var f=sa(a,c);for(b=0;b<f.length;b++)J(a,f[b]);a.iInitDisplayStart=e;N(a);C(a,!1);ta(a,c)},a):(C(a,!1),
parseInt(b,10);a._iDisplayLength=c;Ra(a);u(a,null,"length",[a,c])}function mb(a){for(var b=a.oClasses,c=a.sTableId,e=a.aLengthMenu,d=g.isArray(e[0]),f=d?e[0]:e,e=d?e[1]:e,d=g("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),h=0,i=f.length;h<i;h++)d[0][h]=new Option(e[h],f[h]);var j=g("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(j[0].id=c+"_length");j.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",d[0].outerHTML));g("select",j).val(a._iDisplayLength).bind("change.DT", ta(a)))}else setTimeout(function(){ga(a)},200)}function ta(a,b){a._bInitComplete=!0;b&&X(a);w(a,"aoInitComplete","init",[a,b])}function Ra(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Sa(a);w(a,null,"length",[a,c])}function nb(a){for(var b=a.oClasses,c=a.sTableId,e=a.aLengthMenu,d=h.isArray(e[0]),f=d?e[0]:e,e=d?e[1]:e,d=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,i=f.length;g<i;g++)d[0][g]=new Option(e[g],f[g]);var j=h("<div><label/></div>").addClass(b.sLength);
function(){Qa(a,g(this).val());L(a)});g(a.nTable).bind("length.dt.DT",function(b,c,f){a===c&&g("select",j).val(f)});return j[0]}function rb(a){var b=a.sPaginationType,c=p.ext.pager[b],e="function"===typeof c,d=function(a){L(a)},b=g("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;e||c.fnInit(a,b,d);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(e){var b=a._iDisplayStart,g=a._iDisplayLength,n=a.fnRecordsDisplay(),m=-1===g,b=m?0:Math.ceil(b/g),g=m?1:Math.ceil(n/ a.aanFeatures.l||(j[0].id=c+"_length");j.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",d[0].outerHTML));h("select",j).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());M(a)});h(a.nTable).bind("length.dt.DT",function(b,c,f){a===c&&h("select",j).val(f)});return j[0]}function sb(a){var b=a.sPaginationType,c=m.ext.pager[b],e="function"===typeof c,d=function(a){M(a)},b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;e||c.fnInit(a,b,d);f.p||(b.id=a.sTableId+
g),n=c(b,g),o,m=0;for(o=f.p.length;m<o;m++)Oa(a,"pageButton")(a,f.p[m],m,n,b,g)}else c.fnUpdate(a,d)},sName:"pagination"}));return b}function Sa(a,b,c){var e=a._iDisplayStart,d=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===d?e=0:"number"===typeof b?(e=b*d,e>f&&(e=0)):"first"==b?e=0:"previous"==b?(e=0<=d?e-d:0,0>e&&(e=0)):"next"==b?e+d<f&&(e+=d):"last"==b?e=Math.floor((f-1)/d)*d:R(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==e;a._iDisplayStart=e;b&&(u(a,null,"page",[a]),c&&L(a)); "_paginate",a.aoDrawCallback.push({fn:function(a){if(e){var b=a._iDisplayStart,h=a._iDisplayLength,n=a.fnRecordsDisplay(),l=-1===h,b=l?0:Math.ceil(b/h),h=l?1:Math.ceil(n/h),n=c(b,h),q,l=0;for(q=f.p.length;l<q;l++)Pa(a,"pageButton")(a,f.p[l],l,n,b,h)}else c.fnUpdate(a,d)},sName:"pagination"}));return b}function Ta(a,b,c){var e=a._iDisplayStart,d=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===d?e=0:"number"===typeof b?(e=b*d,e>f&&(e=0)):"first"==b?e=0:"previous"==b?(e=0<=d?e-d:0,0>e&&(e=0)):"next"==
return b}function ob(a){return g("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function B(a,b){a.oFeatures.bProcessing&&g(a.aanFeatures.r).css("display",b?"block":"none");u(a,null,"processing",[a,b])}function pb(a){var b=g(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var e=c.sX,d=c.sY,f=a.oClasses,h=b.children("caption"),i=h.length?h[0]._captionSide:null, b?e+d<f&&(e+=d):"last"==b?e=Math.floor((f-1)/d)*d:R(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==e;a._iDisplayStart=e;b&&(w(a,null,"page",[a]),c&&M(a));return b}function pb(a){return h("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");w(a,null,"processing",[a,b])}function qb(a){var b=h(a.nTable);b.attr("role",
j=g(b[0].cloneNode(!1)),n=g(b[0].cloneNode(!1)),m=b.children("tfoot");c.sX&&"100%"===b.attr("width")&&b.removeAttr("width");m.length||(m=null);c=g("<div/>",{"class":f.sScrollWrapper}).append(g("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:e?!e?null:s(e):"100%"}).append(g("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(j.removeAttr("id").css("margin-left",0).append("top"===i?h:null).append(b.children("thead"))))).append(g("<div/>", "grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var e=c.sX,d=c.sY,f=a.oClasses,g=b.children("caption"),i=g.length?g[0]._captionSide:null,j=h(b[0].cloneNode(!1)),n=h(b[0].cloneNode(!1)),l=b.children("tfoot");c.sX&&"100%"===b.attr("width")&&b.removeAttr("width");l.length||(l=null);c=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:e?!e?null:s(e):"100%"}).append(h("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",
{"class":f.sScrollBody}).css({overflow:"auto",height:!d?null:s(d),width:!e?null:s(e)}).append(b));m&&c.append(g("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:e?!e?null:s(e):"100%"}).append(g("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append("bottom"===i?h:null).append(b.children("tfoot")))));var b=c.children(),o=b[0],f=b[1],k=m?b[2]:null;e&&g(f).scroll(function(){var a=this.scrollLeft;o.scrollLeft=a;m&&(k.scrollLeft=a)});a.nScrollHead= width:c.sXInner||"100%"}).append(j.removeAttr("id").css("margin-left",0).append("top"===i?g:null).append(b.children("thead"))))).append(h("<div/>",{"class":f.sScrollBody}).css({overflow:"auto",height:!d?null:s(d),width:!e?null:s(e)}).append(b));l&&c.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:e?!e?null:s(e):"100%"}).append(h("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append("bottom"===i?g:null).append(b.children("tfoot")))));
o;a.nScrollBody=f;a.nScrollFoot=k;a.aoDrawCallback.push({fn:Y,sName:"scrolling"});return c[0]}function Y(a){var b=a.oScroll,c=b.sX,e=b.sXInner,d=b.sY,f=b.iBarWidth,h=g(a.nScrollHead),i=h[0].style,j=h.children("div"),n=j[0].style,m=j.children("table"),j=a.nScrollBody,o=g(j),k=j.style,l=g(a.nScrollFoot).children("div"),p=l.children("table"),r=g(a.nTHead),q=g(a.nTable),t=q[0],N=t.style,J=a.nTFoot?g(a.nTFoot):null,u=a.oBrowser,w=u.bScrollOversize,y,v,x,K,z,A=[],B=[],C=[],D,E=function(a){a=a.style;a.paddingTop= var b=c.children(),q=b[0],f=b[1],o=l?b[2]:null;if(e)h(f).on("scroll.DT",function(){var a=this.scrollLeft;q.scrollLeft=a;l&&(o.scrollLeft=a)});a.nScrollHead=q;a.nScrollBody=f;a.nScrollFoot=o;a.aoDrawCallback.push({fn:Y,sName:"scrolling"});return c[0]}function Y(a){var b=a.oScroll,c=b.sX,e=b.sXInner,d=b.sY,f=b.iBarWidth,g=h(a.nScrollHead),i=g[0].style,j=g.children("div"),n=j[0].style,l=j.children("table"),j=a.nScrollBody,q=h(j),o=j.style,k=h(a.nScrollFoot).children("div"),p=k.children("table"),m=h(a.nTHead),
"0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};q.children("thead, tfoot").remove();z=r.clone().prependTo(q);y=r.find("tr");x=z.find("tr");z.find("th, td").removeAttr("tabindex");J&&(K=J.clone().prependTo(q),v=J.find("tr"),K=K.find("tr"));c||(k.width="100%",h[0].style.width="100%");g.each(pa(a,z),function(b,c){D=ka(a,b);c.style.width=a.aoColumns[D].sWidth});J&&F(function(a){a.style.width=""},K);b.bCollapse&&""!==d&&(k.height=o[0].offsetHeight+r[0].offsetHeight+"px"); r=h(a.nTable),t=r[0],u=t.style,K=a.nTFoot?h(a.nTFoot):null,ha=a.oBrowser,w=ha.bScrollOversize,x,v,y,L,z,A=[],B=[],C=[],D,E=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};r.children("thead, tfoot").remove();z=m.clone().prependTo(r);x=m.find("tr");y=z.find("tr");z.find("th, td").removeAttr("tabindex");K&&(L=K.clone().prependTo(r),v=K.find("tr"),L=L.find("tr"));c||(o.width="100%",g[0].style.width="100%");h.each(qa(a,z),function(b,c){D=
h=q.outerWidth();if(""===c){if(N.width="100%",w&&(q.find("tbody").height()>j.offsetHeight||"scroll"==o.css("overflow-y")))N.width=s(q.outerWidth()-f)}else""!==e?N.width=s(e):h==o.width()&&o.height()<q.height()?(N.width=s(h-f),q.outerWidth()>h-f&&(N.width=s(h))):N.width=s(h);h=q.outerWidth();F(E,x);F(function(a){C.push(a.innerHTML);A.push(s(g(a).css("width")))},x);F(function(a,b){a.style.width=A[b]},y);g(x).height(0);J&&(F(E,K),F(function(a){B.push(s(g(a).css("width")))},K),F(function(a,b){a.style.width= la(a,b);c.style.width=a.aoColumns[D].sWidth});K&&G(function(a){a.style.width=""},L);b.bCollapse&&""!==d&&(o.height=q[0].offsetHeight+m[0].offsetHeight+"px");g=r.outerWidth();if(""===c){if(u.width="100%",w&&(r.find("tbody").height()>j.offsetHeight||"scroll"==q.css("overflow-y")))u.width=s(r.outerWidth()-f)}else""!==e?u.width=s(e):g==q.width()&&q.height()<r.height()?(u.width=s(g-f),r.outerWidth()>g-f&&(u.width=s(g))):u.width=s(g);g=r.outerWidth();G(E,y);G(function(a){C.push(a.innerHTML);A.push(s(h(a).css("width")))},
B[b]},v),g(K).height(0));F(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+C[b]+"</div>";a.style.width=A[b]},x);J&&F(function(a,b){a.innerHTML="";a.style.width=B[b]},K);if(q.outerWidth()<h){v=j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")?h+f:h;if(w&&(j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")))N.width=s(v-f);(""===c||""!==e)&&R(a,1,"Possible column misalignment",6)}else v="100%";k.width=s(v);i.width=s(v);J&&(a.nScrollFoot.style.width= y);G(function(a,b){a.style.width=A[b]},x);h(y).height(0);K&&(G(E,L),G(function(a){B.push(s(h(a).css("width")))},L),G(function(a,b){a.style.width=B[b]},v),h(L).height(0));G(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+C[b]+"</div>";a.style.width=A[b]},y);K&&G(function(a,b){a.innerHTML="";a.style.width=B[b]},L);if(r.outerWidth()<g){v=j.scrollHeight>j.offsetHeight||"scroll"==q.css("overflow-y")?g+f:g;if(w&&(j.scrollHeight>j.offsetHeight||"scroll"==q.css("overflow-y")))u.width=
s(v));!d&&w&&(k.height=s(t.offsetHeight+f));d&&b.bCollapse&&(k.height=s(d),b=c&&t.offsetWidth>j.offsetWidth?f:0,t.offsetHeight<j.offsetHeight&&(k.height=s(t.offsetHeight+b)));b=q.outerWidth();m[0].style.width=s(b);n.width=s(b);m=q.height()>j.clientHeight||"scroll"==o.css("overflow-y");u="padding"+(u.bScrollbarLeft?"Left":"Right");n[u]=m?f+"px":"0px";J&&(p[0].style.width=s(b),l[0].style.width=s(b),l[0].style[u]=m?f+"px":"0px");o.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}function F(a, s(v-f);(""===c||""!==e)&&R(a,1,"Possible column misalignment",6)}else v="100%";o.width=s(v);i.width=s(v);K&&(a.nScrollFoot.style.width=s(v));!d&&w&&(o.height=s(t.offsetHeight+f));d&&b.bCollapse&&(o.height=s(d),b=c&&t.offsetWidth>j.offsetWidth?f:0,t.offsetHeight<j.offsetHeight&&(o.height=s(t.offsetHeight+b)));b=r.outerWidth();l[0].style.width=s(b);n.width=s(b);l=r.height()>j.clientHeight||"scroll"==q.css("overflow-y");ha="padding"+(ha.bScrollbarLeft?"Left":"Right");n[ha]=l?f+"px":"0px";K&&(p[0].style.width=
b,c){for(var e=0,d=0,f=b.length,h,g;d<f;){h=b[d].firstChild;for(g=c?c[d].firstChild:null;h;)1===h.nodeType&&(c?a(h,g,e):a(h,e),e++),h=h.nextSibling,g=c?g.nextSibling:null;d++}}function Fa(a){var b=a.nTable,c=a.aoColumns,e=a.oScroll,d=e.sY,f=e.sX,h=e.sXInner,i=c.length,e=Z(a,"bVisible"),j=g("th",a.nTHead),n=b.getAttribute("width"),m=b.parentNode,o=!1,k,l;for(k=0;k<e.length;k++)l=c[e[k]],null!==l.sWidth&&(l.sWidth=Cb(l.sWidthOrig,m),o=!0);if(!o&&!f&&!d&&i==aa(a)&&i==j.length)for(k=0;k<i;k++)c[k].sWidth= s(b),k[0].style.width=s(b),k[0].style[ha]=l?f+"px":"0px");q.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}function G(a,b,c){for(var e=0,d=0,f=b.length,g,i;d<f;){g=b[d].firstChild;for(i=c?c[d].firstChild:null;g;)1===g.nodeType&&(c?a(g,i,e):a(g,e),e++),g=g.nextSibling,i=c?i.nextSibling:null;d++}}function Ga(a){var b=a.nTable,c=a.aoColumns,e=a.oScroll,d=e.sY,f=e.sX,g=e.sXInner,i=c.length,e=Z(a,"bVisible"),j=h("th",a.nTHead),n=b.getAttribute("width"),l=b.parentNode,k=!1,o,m;(o=b.style.width)&&
s(j.eq(k).width());else{i=g(b).clone().empty().css("visibility","hidden").removeAttr("id").append(g(a.nTHead).clone(!1)).append(g(a.nTFoot).clone(!1)).append(g("<tbody><tr/></tbody>"));i.find("tfoot th, tfoot td").css("width","");var p=i.find("tbody tr"),j=pa(a,i.find("thead")[0]);for(k=0;k<e.length;k++)l=c[e[k]],j[k].style.width=null!==l.sWidthOrig&&""!==l.sWidthOrig?s(l.sWidthOrig):"";if(a.aoData.length)for(k=0;k<e.length;k++)o=e[k],l=c[o],g(Db(a,o)).clone(!1).append(l.sContentPadding).appendTo(p); -1!==o.indexOf("%")&&(n=o);for(o=0;o<e.length;o++)m=c[e[o]],null!==m.sWidth&&(m.sWidth=Db(m.sWidthOrig,l),k=!0);if(!k&&!f&&!d&&i==aa(a)&&i==j.length)for(o=0;o<i;o++)c[o].sWidth=s(j.eq(o).width());else{i=h(b).clone().empty().css("visibility","hidden").removeAttr("id").append(h(a.nTHead).clone(!1)).append(h(a.nTFoot).clone(!1)).append(h("<tbody><tr/></tbody>"));i.find("tfoot th, tfoot td").css("width","");var p=i.find("tbody tr"),j=qa(a,i.find("thead")[0]);for(o=0;o<e.length;o++)m=c[e[o]],j[o].style.width=
i.appendTo(m);f&&h?i.width(h):f?(i.css("width","auto"),i.width()<m.offsetWidth&&i.width(m.offsetWidth)):d?i.width(m.offsetWidth):n&&i.width(n);Eb(a,i[0]);if(f){for(k=h=0;k<e.length;k++)l=c[e[k]],d=g(j[k]).outerWidth(),h+=null===l.sWidthOrig?d:parseInt(l.sWidth,10)+d-g(j[k]).width();i.width(s(h));b.style.width=s(h)}for(k=0;k<e.length;k++)if(l=c[e[k]],d=g(j[k]).width())l.sWidth=s(d);b.style.width=s(i.css("width"));i.remove()}n&&(b.style.width=s(n));if((n||f)&&!a._reszEvt)g(Da).bind("resize.DT-"+a.sInstance, null!==m.sWidthOrig&&""!==m.sWidthOrig?s(m.sWidthOrig):"";if(a.aoData.length)for(o=0;o<e.length;o++)k=e[o],m=c[k],h(Eb(a,k)).clone(!1).append(m.sContentPadding).appendTo(p);i.appendTo(l);f&&g?i.width(g):f?(i.css("width","auto"),i.width()<l.offsetWidth&&i.width(l.offsetWidth)):d?i.width(l.offsetWidth):n&&i.width(n);Fb(a,i[0]);if(f){for(o=g=0;o<e.length;o++)m=c[e[o]],d=h(j[o]).outerWidth(),g+=null===m.sWidthOrig?d:parseInt(m.sWidth,10)+d-h(j[o]).width();i.width(s(g));b.style.width=s(g)}for(o=0;o<e.length;o++)if(m=
ta(function(){X(a)})),a._reszEvt=!0}function ta(a,b){var c=b!==l?b:200,e,d;return function(){var b=this,h=+new Date,g=arguments;e&&h<e+c?(clearTimeout(d),d=setTimeout(function(){e=l;a.apply(b,g)},c)):e?(e=h,a.apply(b,g)):e=h}}function Cb(a,b){if(!a)return 0;var c=g("<div/>").css("width",s(a)).appendTo(b||P.body),e=c[0].offsetWidth;c.remove();return e}function Eb(a,b){var c=a.oScroll;if(c.sX||c.sY)c=!c.sX?c.iBarWidth:0,b.style.width=s(g(b).outerWidth()-c)}function Db(a,b){var c=Fb(a,b);if(0>c)return null; c[e[o]],d=h(j[o]).width())m.sWidth=s(d);b.style.width=s(i.css("width"));i.remove()}n&&(b.style.width=s(n));if((n||f)&&!a._reszEvt)h(Ea).bind("resize.DT-"+a.sInstance,ua(function(){X(a)})),a._reszEvt=!0}function ua(a,b){var c=b!==k?b:200,e,d;return function(){var b=this,g=+new Date,i=arguments;e&&g<e+c?(clearTimeout(d),d=setTimeout(function(){e=k;a.apply(b,i)},c)):(e=g,a.apply(b,i))}}function Db(a,b){if(!a)return 0;var c=h("<div/>").css("width",s(a)).appendTo(b||P.body),e=c[0].offsetWidth;c.remove();
var e=a.aoData[c];return!e.nTr?g("<td/>").html(v(a,c,b,"display"))[0]:e.anCells[b]}function Fb(a,b){for(var c,e=-1,d=-1,f=0,h=a.aoData.length;f<h;f++)c=v(a,f,b,"display")+"",c=c.replace(Zb,""),c.length>e&&(e=c.length,d=f);return d}function s(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function Gb(){if(!p.__scrollbarWidth){var a=g("<p/>").css({width:"100%",height:200,padding:0})[0],b=g("<div/>").css({position:"absolute",top:0,left:0,width:200,height:150,padding:0, return e}function Fb(a,b){var c=a.oScroll;if(c.sX||c.sY)c=!c.sX?c.iBarWidth:0,b.style.width=s(h(b).outerWidth()-c)}function Eb(a,b){var c=Gb(a,b);if(0>c)return null;var e=a.aoData[c];return!e.nTr?h("<td/>").html(y(a,c,b,"display"))[0]:e.anCells[b]}function Gb(a,b){for(var c,e=-1,d=-1,f=0,g=a.aoData.length;f<g;f++)c=y(a,f,b,"display")+"",c=c.replace($b,""),c.length>e&&(e=c.length,d=f);return d}function s(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function Hb(){var a=
overflow:"hidden",visibility:"hidden"}).append(a).appendTo("body"),c=a.offsetWidth;b.css("overflow","scroll");a=a.offsetWidth;c===a&&(a=b[0].clientWidth);b.remove();p.__scrollbarWidth=c-a}return p.__scrollbarWidth}function T(a){var b,c,e=[],d=a.aoColumns,f,h,i,j;b=a.aaSortingFixed;c=g.isPlainObject(b);var n=[];f=function(a){a.length&&!g.isArray(a[0])?n.push(a):n.push.apply(n,a)};g.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<n.length;a++){j=n[a][0];f=d[j].aDataSort; m.__scrollbarWidth;if(a===k){var b=h("<p/>").css({position:"absolute",top:0,left:0,width:"100%",height:150,padding:0,overflow:"scroll",visibility:"hidden"}).appendTo("body"),a=b[0].offsetWidth-b[0].clientWidth;m.__scrollbarWidth=a;b.remove()}return a}function T(a){var b,c,e=[],d=a.aoColumns,f,g,i,j;b=a.aaSortingFixed;c=h.isPlainObject(b);var n=[];f=function(a){a.length&&!h.isArray(a[0])?n.push(a):n.push.apply(n,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<
b=0;for(c=f.length;b<c;b++)h=f[b],i=d[h].sType||"string",n[a]._idx===l&&(n[a]._idx=g.inArray(n[a][1],d[h].asSorting)),e.push({src:j,col:h,dir:n[a][1],index:n[a]._idx,type:i,formatter:p.ext.type.order[i+"-pre"]})}return e}function kb(a){var b,c,e=[],d=p.ext.type.order,f=a.aoData,h=0,g,j=a.aiDisplayMaster,n;Ga(a);n=T(a);b=0;for(c=n.length;b<c;b++)g=n[b],g.formatter&&h++,Hb(a,g.col);if("ssp"!=A(a)&&0!==n.length){b=0;for(c=j.length;b<c;b++)e[j[b]]=b;h===n.length?j.sort(function(a,b){var c,d,h,g,i=n.length, n.length;a++){j=n[a][0];f=d[j].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],i=d[g].sType||"string",n[a]._idx===k&&(n[a]._idx=h.inArray(n[a][1],d[g].asSorting)),e.push({src:j,col:g,dir:n[a][1],index:n[a]._idx,type:i,formatter:m.ext.type.order[i+"-pre"]})}return e}function lb(a){var b,c,e=[],d=m.ext.type.order,f=a.aoData,g=0,i,h=a.aiDisplayMaster,n;Ha(a);n=T(a);b=0;for(c=n.length;b<c;b++)i=n[b],i.formatter&&g++,Ib(a,i.col);if("ssp"!=B(a)&&0!==n.length){b=0;for(c=h.length;b<c;b++)e[h[b]]=b;g===n.length?
j=f[a]._aSortData,l=f[b]._aSortData;for(h=0;h<i;h++)if(g=n[h],c=j[g.col],d=l[g.col],c=c<d?-1:c>d?1:0,0!==c)return"asc"===g.dir?c:-c;c=e[a];d=e[b];return c<d?-1:c>d?1:0}):j.sort(function(a,b){var c,h,g,i,j=n.length,l=f[a]._aSortData,p=f[b]._aSortData;for(g=0;g<j;g++)if(i=n[g],c=l[i.col],h=p[i.col],i=d[i.type+"-"+i.dir]||d["string-"+i.dir],c=i(c,h),0!==c)return c;c=e[a];h=e[b];return c<h?-1:c>h?1:0})}a.bSorted=!0}function Ib(a){for(var b,c,e=a.aoColumns,d=T(a),a=a.oLanguage.oAria,f=0,h=e.length;f<h;f++){c= h.sort(function(a,b){var c,d,g,h,i=n.length,j=f[a]._aSortData,k=f[b]._aSortData;for(g=0;g<i;g++)if(h=n[g],c=j[h.col],d=k[h.col],c=c<d?-1:c>d?1:0,0!==c)return"asc"===h.dir?c:-c;c=e[a];d=e[b];return c<d?-1:c>d?1:0}):h.sort(function(a,b){var c,g,h,i,j=n.length,k=f[a]._aSortData,m=f[b]._aSortData;for(h=0;h<j;h++)if(i=n[h],c=k[i.col],g=m[i.col],i=d[i.type+"-"+i.dir]||d["string-"+i.dir],c=i(c,g),0!==c)return c;c=e[a];g=e[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,e=a.aoColumns,d=
e[f];var g=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var j=c.nTh;j.removeAttribute("aria-sort");c.bSortable&&(0<d.length&&d[0].col==f?(j.setAttribute("aria-sort","asc"==d[0].dir?"ascending":"descending"),c=g[d[0].index+1]||g[0]):c=g[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);j.setAttribute("aria-label",b)}}function Ta(a,b,c,e){var d=a.aaSorting,f=a.aoColumns[b].asSorting,h=function(a,b){var c=a._idx;c===l&&(c=g.inArray(a[1],f));return c+1<f.length?c+1:b?null:0};"number"===typeof d[0]&& T(a),a=a.oLanguage.oAria,f=0,g=e.length;f<g;f++){c=e[f];var i=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var h=c.nTh;h.removeAttribute("aria-sort");c.bSortable&&(0<d.length&&d[0].col==f?(h.setAttribute("aria-sort","asc"==d[0].dir?"ascending":"descending"),c=i[d[0].index+1]||i[0]):c=i[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);h.setAttribute("aria-label",b)}}function Ua(a,b,c,e){var d=a.aaSorting,f=a.aoColumns[b].asSorting,g=function(a,b){var c=a._idx;c===k&&(c=h.inArray(a[1],f));return c+
(d=a.aaSorting=[d]);c&&a.oFeatures.bSortMulti?(c=g.inArray(b,C(d,"0")),-1!==c?(b=h(d[c],!0),null===b?d.splice(c,1):(d[c][1]=f[b],d[c]._idx=b)):(d.push([b,f[0],0]),d[d.length-1]._idx=0)):d.length&&d[0][0]==b?(b=h(d[0]),d.length=1,d[0][1]=f[b],d[0]._idx=b):(d.length=0,d.push([b,f[0]]),d[0]._idx=0);M(a);"function"==typeof e&&e(a)}function Na(a,b,c,e){var d=a.aoColumns[c];Ua(b,{},function(b){!1!==d.bSortable&&(a.oFeatures.bProcessing?(B(a,!0),setTimeout(function(){Ta(a,c,b.shiftKey,e);"ssp"!==A(a)&&B(a, 1<f.length?c+1:b?null:0};"number"===typeof d[0]&&(d=a.aaSorting=[d]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,D(d,"0")),-1!==c?(b=g(d[c],!0),null===b&&1===d.length&&(b=0),null===b?d.splice(c,1):(d[c][1]=f[b],d[c]._idx=b)):(d.push([b,f[0],0]),d[d.length-1]._idx=0)):d.length&&d[0][0]==b?(b=g(d[0]),d.length=1,d[0][1]=f[b],d[0]._idx=b):(d.length=0,d.push([b,f[0]]),d[0]._idx=0);N(a);"function"==typeof e&&e(a)}function Oa(a,b,c,e){var d=a.aoColumns[c];Va(b,{},function(b){!1!==d.bSortable&&(a.oFeatures.bProcessing?
!1)},0)):Ta(a,c,b.shiftKey,e))})}function wa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,e=T(a),d=a.oFeatures,f,h;if(d.bSort&&d.bSortClasses){d=0;for(f=b.length;d<f;d++)h=b[d].src,g(C(a.aoData,"anCells",h)).removeClass(c+(2>d?d+1:3));d=0;for(f=e.length;d<f;d++)h=e[d].src,g(C(a.aoData,"anCells",h)).addClass(c+(2>d?d+1:3))}a.aLastSort=e}function Hb(a,b){var c=a.aoColumns[b],e=p.ext.order[c.sSortDataType],d;e&&(d=e.call(a.oInstance,a,b,$(a,b)));for(var f,h=p.ext.type.order[c.sType+"-pre"],g=0,j=a.aoData.length;g< (C(a,!0),setTimeout(function(){Ua(a,c,b.shiftKey,e);"ssp"!==B(a)&&C(a,!1)},0)):Ua(a,c,b.shiftKey,e))})}function xa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,e=T(a),d=a.oFeatures,f,g;if(d.bSort&&d.bSortClasses){d=0;for(f=b.length;d<f;d++)g=b[d].src,h(D(a.aoData,"anCells",g)).removeClass(c+(2>d?d+1:3));d=0;for(f=e.length;d<f;d++)g=e[d].src,h(D(a.aoData,"anCells",g)).addClass(c+(2>d?d+1:3))}a.aLastSort=e}function Ib(a,b){var c=a.aoColumns[b],e=m.ext.order[c.sSortDataType],d;e&&(d=e.call(a.oInstance,
j;g++)if(c=a.aoData[g],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||e)f=e?d[g]:v(a,g,b,"sort"),c._aSortData[b]=h?h(f):f}function xa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:g.extend(!0,[],a.aaSorting),search:yb(a.oPreviousSearch),columns:g.map(a.aoColumns,function(b,e){return{visible:b.bVisible,search:yb(a.aoPreSearchCols[e])}})};u(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance, a,b,$(a,b)));for(var f,g=m.ext.type.order[c.sType+"-pre"],h=0,j=a.aoData.length;h<j;h++)if(c=a.aoData[h],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||e)f=e?d[h]:y(a,h,b,"sort"),c._aSortData[b]=g?g(f):f}function ya(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:zb(a.oPreviousSearch),columns:h.map(a.aoColumns,function(b,e){return{visible:b.bVisible,search:zb(a.aoPreSearchCols[e])}})};w(a,
a,b)}}function Jb(a){var b,c,e=a.aoColumns;if(a.oFeatures.bStateSave){var d=a.fnStateLoadCallback.call(a.oInstance,a);if(d&&d.time&&(b=u(a,"aoStateLoadParams","stateLoadParams",[a,d]),-1===g.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&d.time<+new Date-1E3*b)&&e.length===d.columns.length))){a.oLoadedState=g.extend(!0,{},d);a._iDisplayStart=d.start;a.iInitDisplayStart=d.start;a._iDisplayLength=d.length;a.aaSorting=[];g.each(d.order,function(b,c){a.aaSorting.push(c[0]>=e.length?[0,c[1]]:c)});g.extend(a.oPreviousSearch, "aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function Kb(a){var b,c,e=a.aoColumns;if(a.oFeatures.bStateSave){var d=a.fnStateLoadCallback.call(a.oInstance,a);if(d&&d.time&&(b=w(a,"aoStateLoadParams","stateLoadParams",[a,d]),-1===h.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&d.time<+new Date-1E3*b)&&e.length===d.columns.length))){a.oLoadedState=h.extend(!0,{},d);d.start!==k&&(a._iDisplayStart=d.start,a.iInitDisplayStart=d.start);d.length!==
zb(d.search));b=0;for(c=d.columns.length;b<c;b++){var f=d.columns[b];e[b].bVisible=f.visible;g.extend(a.aoPreSearchCols[b],zb(f.search))}u(a,"aoStateLoaded","stateLoaded",[a,d])}}}function ya(a){var b=p.settings,a=g.inArray(a,C(b,"nTable"));return-1!==a?b[a]:null}function R(a,b,c,e){c="DataTables warning: "+(null!==a?"table id="+a.sTableId+" - ":"")+c;e&&(c+=". For more information about this error, please see http://datatables.net/tn/"+e);if(b)Da.console&&console.log&&console.log(c);else if(a=p.ext, k&&(a._iDisplayLength=d.length);d.order!==k&&(a.aaSorting=[],h.each(d.order,function(b,c){a.aaSorting.push(c[0]>=e.length?[0,c[1]]:c)}));d.search!==k&&h.extend(a.oPreviousSearch,Ab(d.search));b=0;for(c=d.columns.length;b<c;b++){var f=d.columns[b];f.visible!==k&&(e[b].bVisible=f.visible);f.search!==k&&h.extend(a.aoPreSearchCols[b],Ab(f.search))}w(a,"aoStateLoaded","stateLoaded",[a,d])}}}function za(a){var b=m.settings,a=h.inArray(a,D(b,"nTable"));return-1!==a?b[a]:null}function R(a,b,c,e){c="DataTables warning: "+
"alert"==(a.sErrMode||a.errMode))alert(c);else throw Error(c);}function D(a,b,c,e){g.isArray(c)?g.each(c,function(c,f){g.isArray(f)?D(a,b,f[0],f[1]):D(a,b,f)}):(e===l&&(e=c),b[c]!==l&&(a[e]=b[c]))}function Kb(a,b,c){var e,d;for(d in b)b.hasOwnProperty(d)&&(e=b[d],g.isPlainObject(e)?(g.isPlainObject(a[d])||(a[d]={}),g.extend(!0,a[d],e)):a[d]=c&&"data"!==d&&"aaData"!==d&&g.isArray(e)?e.slice():e);return a}function Ua(a,b,c){g(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13=== (null!==a?"table id="+a.sTableId+" - ":"")+c;e&&(c+=". For more information about this error, please see http://datatables.net/tn/"+e);if(b)Ea.console&&console.log&&console.log(c);else if(b=m.ext,b=b.sErrMode||b.errMode,w(a,null,"error",[a,e,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==typeof b&&b(a,e,c)}}function E(a,b,c,e){h.isArray(c)?h.each(c,function(c,f){h.isArray(f)?E(a,b,f[0],f[1]):E(a,b,f)}):(e===k&&(e=c),b[c]!==k&&(a[e]=b[c]))}function Lb(a,b,c){var e,d;for(d in b)b.hasOwnProperty(d)&&
a.which&&(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function x(a,b,c,e){c&&a[b].push({fn:c,sName:e})}function u(a,b,c,e){var d=[];b&&(d=g.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,e)}));null!==c&&g(a.nTable).trigger(c+".dt",e);return d}function Ra(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),e=a._iDisplayLength;b>=c&&(b=c-e);b-=b%e;if(-1===e||0>b)b=0;a._iDisplayStart=b}function Oa(a,b){var c=a.renderer,e=p.ext.renderer[b];return g.isPlainObject(c)&& (e=b[d],h.isPlainObject(e)?(h.isPlainObject(a[d])||(a[d]={}),h.extend(!0,a[d],e)):a[d]=c&&"data"!==d&&"aaData"!==d&&h.isArray(e)?e.slice():e);return a}function Va(a,b,c){h(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function z(a,b,c,e){c&&a[b].push({fn:c,sName:e})}function w(a,b,c,e){var d=[];b&&(d=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,e)}));
c[b]?e[c[b]]||e._:"string"===typeof c?e[c]||e._:e._}function A(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Va(a,b){var c=[],c=Lb.numbers_length,e=Math.floor(c/2);b<=c?c=U(0,b):a<=e?(c=U(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-e?c=U(b-(c-2),b):(c=U(a-1,a+2),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function cb(a){g.each({num:function(b){return za(b,a)},"num-fmt":function(b){return za(b,a,Wa)},"html-num":function(b){return za(b, null!==c&&h(a.nTable).trigger(c+".dt",e);return d}function Sa(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),e=a._iDisplayLength;b>=c&&(b=c-e);b-=b%e;if(-1===e||0>b)b=0;a._iDisplayStart=b}function Pa(a,b){var c=a.renderer,e=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?e[c[b]]||e._:"string"===typeof c?e[c]||e._:e._}function B(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Wa(a,b){var c=[],c=Mb.numbers_length,e=Math.floor(c/2);b<=c?c=U(0,b):a<=e?(c=U(0,c-2),c.push("ellipsis"),
a,Aa)},"html-num-fmt":function(b){return za(b,a,Aa,Wa)}},function(b,c){w.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(w.type.search[b+a]=w.type.search.html)})}function Mb(a){return function(){var b=[ya(this[p.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return p.ext.internal[a].apply(this,b)}}var p,w,q,r,t,Xa={},Nb=/[\r\n]/g,Aa=/<.*?>/g,$b=/^[\w\+\-]/,ac=/[\w\+\-]$/,Xb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Wa=/[',$\u00a3\u20ac\u00a5%\u2009\u202F]/g, c.push(b-1)):(a>=b-1-e?c=U(b-(c-2),b):(c=U(a-e+2,a+e-1),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function db(a){h.each({num:function(b){return Aa(b,a)},"num-fmt":function(b){return Aa(b,a,Xa)},"html-num":function(b){return Aa(b,a,Ba)},"html-num-fmt":function(b){return Aa(b,a,Ba,Xa)}},function(b,c){x.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(x.type.search[b+a]=x.type.search.html)})}function Nb(a){return function(){var b=[za(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));
H=function(a){return!a||!0===a||"-"===a?!0:!1},Ob=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Pb=function(a,b){Xa[b]||(Xa[b]=RegExp(ua(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Xa[b],"."):a},Ya=function(a,b,c){var e="string"===typeof a;b&&e&&(a=Pb(a,b));c&&e&&(a=a.replace(Wa,""));return H(a)||!isNaN(parseFloat(a))&&isFinite(a)},Qb=function(a,b,c){return H(a)?!0:!(H(a)||"string"===typeof a)?null:Ya(a.replace(Aa,""),b,c)?!0:null},C=function(a, return m.ext.internal[a].apply(this,b)}}var m,x,t,r,u,Ya={},Ob=/[\r\n]/g,Ba=/<.*?>/g,ac=/^[\w\+\-]/,bc=/[\w\+\-]$/,Yb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Xa=/[',$\u00a3\u20ac\u00a5%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,I=function(a){return!a||!0===a||"-"===a?!0:!1},Pb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Qb=function(a,b){Ya[b]||(Ya[b]=RegExp(va(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Ya[b],
b,c){var e=[],d=0,f=a.length;if(c!==l)for(;d<f;d++)a[d]&&a[d][b]&&e.push(a[d][b][c]);else for(;d<f;d++)a[d]&&e.push(a[d][b]);return e},ha=function(a,b,c,e){var d=[],f=0,h=b.length;if(e!==l)for(;f<h;f++)a[b[f]][c]&&d.push(a[b[f]][c][e]);else for(;f<h;f++)d.push(a[b[f]][c]);return d},U=function(a,b){var c=[],e;b===l?(b=0,e=a):(e=b,b=a);for(var d=b;d<e;d++)c.push(d);return c},Rb=function(a){for(var b=[],c=0,e=a.length;c<e;c++)a[c]&&b.push(a[c]);return b},Ma=function(a){var b=[],c,e,d=a.length,f,h=0; "."):a},Za=function(a,b,c){var e="string"===typeof a;if(I(a))return!0;b&&e&&(a=Qb(a,b));c&&e&&(a=a.replace(Xa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return I(a)?!0:!(I(a)||"string"===typeof a)?null:Za(a.replace(Ba,""),b,c)?!0:null},D=function(a,b,c){var e=[],d=0,f=a.length;if(c!==k)for(;d<f;d++)a[d]&&a[d][b]&&e.push(a[d][b][c]);else for(;d<f;d++)a[d]&&e.push(a[d][b]);return e},ia=function(a,b,c,e){var d=[],f=0,g=b.length;if(e!==k)for(;f<g;f++)a[b[f]][c]&&d.push(a[b[f]][c][e]);
e=0;a:for(;e<d;e++){c=a[e];for(f=0;f<h;f++)if(b[f]===c)continue a;b.push(c);h++}return b},z=function(a,b,c){a[b]!==l&&(a[c]=a[b])},ba=/\[.*?\]$/,S=/\(\)$/,va=g("<div>")[0],Yb=va.textContent!==l,Zb=/<.*?>/g;p=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new q(ya(this[w.iApiIndex])):new q(this)};this.fnAddData=function(a,b){var c=this.api(!0),e=g.isArray(a)&&(g.isArray(a[0])||g.isPlainObject(a[0]))? else for(;f<g;f++)d.push(a[b[f]][c]);return d},U=function(a,b){var c=[],e;b===k?(b=0,e=a):(e=b,b=a);for(var d=b;d<e;d++)c.push(d);return c},Sb=function(a){for(var b=[],c=0,e=a.length;c<e;c++)a[c]&&b.push(a[c]);return b},Na=function(a){var b=[],c,e,d=a.length,f,g=0;e=0;a:for(;e<d;e++){c=a[e];for(f=0;f<g;f++)if(b[f]===c)continue a;b.push(c);g++}return b},A=function(a,b,c){a[b]!==k&&(a[c]=a[b])},ba=/\[.*?\]$/,S=/\(\)$/,wa=h("<div>")[0],Zb=wa.textContent!==k,$b=/<.*?>/g;m=function(a){this.$=function(a,
c.rows.add(a):c.row.add(a);(b===l||b)&&c.draw();return e.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],e=c.oScroll;a===l||a?b.draw(!1):(""!==e.sX||""!==e.sY)&&Y(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===l||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var e=this.api(!0),a=e.rows(a),d=a.settings()[0],g=d.aoData[a[0][0]];a.remove();b&&b.call(this,d,g); b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new t(za(this[x.iApiIndex])):new t(this)};this.fnAddData=function(a,b){var c=this.api(!0),e=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return e.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],e=c.oScroll;a===k||a?b.draw(!1):(""!==e.sX||""!==e.sY)&&Y(c)};this.fnClearTable=
(c===l||c)&&e.draw();return g};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(!a)};this.fnFilter=function(a,b,c,e,d,g){d=this.api(!0);null===b||b===l?d.search(a,c,e,g):d.column(b).search(a,c,e,g);d.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==l){var e=a.nodeName?a.nodeName.toLowerCase():"";return b!==l||"td"==e||"th"==e?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0); function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var e=this.api(!0),a=e.rows(a),d=a.settings()[0],h=d.aoData[a[0][0]];a.remove();b&&b.call(this,d,h);(c===k||c)&&e.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,e,d,h){d=this.api(!0);null===b||b===k?d.search(a,c,e,h):d.column(b).search(a,c,e,h);d.draw()};
return a!==l?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===l||b)&&c.draw(!1)};this.fnSetColumnVis= this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var e=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==e||"th"==e?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};
function(a,b,c){a=this.api(!0).column(a).visible(b);(c===l||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return ya(this[w.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,e,d){var g=this.api(!0);c===l||null===c?g.row(b).data(a):g.cell(b,c).data(a);(d===l||d)&&g.columns.adjust();(e===l||e)&&g.draw();return 0};this.fnVersionCheck=w.fnVersionCheck;var b=this,c=a===l,e=this.length; this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return za(this[x.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,
c&&(a={});this.oApi=this.internal=w.internal;for(var d in p.ext.internal)d&&(this[d]=Mb(d));this.each(function(){var d={},d=1<e?Kb(d,a,!0):a,h=0,i,j=this.getAttribute("id"),n=!1,m=p.defaults;if("table"!=this.nodeName.toLowerCase())R(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{db(m);eb(m.column);G(m,m,!0);G(m.column,m.column,!0);G(m,d);var o=p.settings,h=0;for(i=o.length;h<i;h++){if(o[h].nTable==this){i=d.bRetrieve!==l?d.bRetrieve:m.bRetrieve;if(c||i)return o[h].oInstance;if(d.bDestroy!== b,c)};this.fnUpdate=function(a,b,c,e,d){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(d===k||d)&&h.columns.adjust();(e===k||e)&&h.draw();return 0};this.fnVersionCheck=x.fnVersionCheck;var b=this,c=a===k,e=this.length;c&&(a={});this.oApi=this.internal=x.internal;for(var d in m.ext.internal)d&&(this[d]=Nb(d));this.each(function(){var d={},d=1<e?Lb(d,a,!0):a,g=0,i,j=this.getAttribute("id"),n=!1,l=m.defaults,q=h(this);if("table"!=this.nodeName.toLowerCase())R(null,0,"Non-table node initialisation ("+
l?d.bDestroy:m.bDestroy){o[h].oInstance.fnDestroy();break}else{R(o[h],0,"Cannot reinitialise DataTable",3);return}}if(o[h].sTableId==this.id){o.splice(h,1);break}}if(null===j||""===j)this.id=j="DataTables_Table_"+p.ext._unique++;var k=g.extend(!0,{},p.models.oSettings,{nTable:this,oApi:b.internal,oInit:d,sDestroyWidth:g(this)[0].style.width,sInstance:j,sTableId:j});o.push(k);k.oInstance=1===b.length?b:g(this).dataTable();db(d);d.oLanguage&&O(d.oLanguage);d.aLengthMenu&&!d.iDisplayLength&&(d.iDisplayLength= this.nodeName+")",2);else{eb(l);fb(l.column);H(l,l,!0);H(l.column,l.column,!0);H(l,h.extend(d,q.data()));var o=m.settings,g=0;for(i=o.length;g<i;g++){var r=o[g];if(r.nTable==this||r.nTHead.parentNode==this||r.nTFoot&&r.nTFoot.parentNode==this){g=d.bRetrieve!==k?d.bRetrieve:l.bRetrieve;if(c||g)return r.oInstance;if(d.bDestroy!==k?d.bDestroy:l.bDestroy){r.oInstance.fnDestroy();break}else{R(r,0,"Cannot reinitialise DataTable",3);return}}if(r.sTableId==this.id){o.splice(g,1);break}}if(null===j||""===
g.isArray(d.aLengthMenu[0])?d.aLengthMenu[0][0]:d.aLengthMenu[0]);d=Kb(g.extend(!0,{},m),d);D(k.oFeatures,d,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));D(k,d,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback", j)this.id=j="DataTables_Table_"+m.ext._unique++;var p=h.extend(!0,{},m.models.oSettings,{sDestroyWidth:q[0].style.width,sInstance:j,sTableId:j});p.nTable=this;p.oApi=b.internal;p.oInit=d;o.push(p);p.oInstance=1===b.length?b:q.dataTable();eb(d);d.oLanguage&&O(d.oLanguage);d.aLengthMenu&&!d.iDisplayLength&&(d.iDisplayLength=h.isArray(d.aLengthMenu[0])?d.aLengthMenu[0][0]:d.aLengthMenu[0]);d=Lb(h.extend(!0,{},l),d);E(p.oFeatures,d,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));
"renderer","searchDelay",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);D(k.oScroll,d,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);D(k.oLanguage,d,"fnInfoCallback");x(k,"aoDrawCallback",d.fnDrawCallback,"user");x(k,"aoServerParams",d.fnServerParams,"user");x(k,"aoStateSaveParams",d.fnStateSaveParams,"user");x(k,"aoStateLoadParams", E(p,d,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);E(p.oScroll,d,[["sScrollX","sX"],["sScrollXInner",
d.fnStateLoadParams,"user");x(k,"aoStateLoaded",d.fnStateLoaded,"user");x(k,"aoRowCallback",d.fnRowCallback,"user");x(k,"aoRowCreatedCallback",d.fnCreatedRow,"user");x(k,"aoHeaderCallback",d.fnHeaderCallback,"user");x(k,"aoFooterCallback",d.fnFooterCallback,"user");x(k,"aoInitComplete",d.fnInitComplete,"user");x(k,"aoPreDrawCallback",d.fnPreDrawCallback,"user");j=k.oClasses;d.bJQueryUI?(g.extend(j,p.ext.oJUIClasses,d.oClasses),d.sDom===m.sDom&&"lfrtip"===m.sDom&&(k.sDom='<"H"lfr>t<"F"ip>'),k.renderer)? "sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);E(p.oLanguage,d,"fnInfoCallback");z(p,"aoDrawCallback",d.fnDrawCallback,"user");z(p,"aoServerParams",d.fnServerParams,"user");z(p,"aoStateSaveParams",d.fnStateSaveParams,"user");z(p,"aoStateLoadParams",d.fnStateLoadParams,"user");z(p,"aoStateLoaded",d.fnStateLoaded,"user");z(p,"aoRowCallback",d.fnRowCallback,"user");z(p,"aoRowCreatedCallback",d.fnCreatedRow,"user");z(p,"aoHeaderCallback",d.fnHeaderCallback,"user");z(p,"aoFooterCallback",
g.isPlainObject(k.renderer)&&!k.renderer.header&&(k.renderer.header="jqueryui"):k.renderer="jqueryui":g.extend(j,p.ext.classes,d.oClasses);g(this).addClass(j.sTable);if(""!==k.oScroll.sX||""!==k.oScroll.sY)k.oScroll.iBarWidth=Gb();!0===k.oScroll.sX&&(k.oScroll.sX="100%");k.iInitDisplayStart===l&&(k.iInitDisplayStart=d.iDisplayStart,k._iDisplayStart=d.iDisplayStart);null!==d.iDeferLoading&&(k.bDeferLoading=!0,h=g.isArray(d.iDeferLoading),k._iRecordsDisplay=h?d.iDeferLoading[0]:d.iDeferLoading,k._iRecordsTotal= d.fnFooterCallback,"user");z(p,"aoInitComplete",d.fnInitComplete,"user");z(p,"aoPreDrawCallback",d.fnPreDrawCallback,"user");j=p.oClasses;d.bJQueryUI?(h.extend(j,m.ext.oJUIClasses,d.oClasses),d.sDom===l.sDom&&"lfrtip"===l.sDom&&(p.sDom='<"H"lfr>t<"F"ip>'),p.renderer)?h.isPlainObject(p.renderer)&&!p.renderer.header&&(p.renderer.header="jqueryui"):p.renderer="jqueryui":h.extend(j,m.ext.classes,d.oClasses);q.addClass(j.sTable);if(""!==p.oScroll.sX||""!==p.oScroll.sY)p.oScroll.iBarWidth=Hb();!0===p.oScroll.sX&&
h?d.iDeferLoading[1]:d.iDeferLoading);var r=k.oLanguage;g.extend(!0,r,d.oLanguage);""!==r.sUrl&&(g.ajax({dataType:"json",url:r.sUrl,success:function(a){O(a);G(m.oLanguage,a);g.extend(true,r,a);ga(k)},error:function(){ga(k)}}),n=!0);null===d.asStripeClasses&&(k.asStripeClasses=[j.sStripeOdd,j.sStripeEven]);var h=k.asStripeClasses,q=g("tbody tr:eq(0)",this);-1!==g.inArray(!0,g.map(h,function(a){return q.hasClass(a)}))&&(g("tbody tr",this).removeClass(h.join(" ")),k.asDestroyStripes=h.slice());var o= (p.oScroll.sX="100%");p.iInitDisplayStart===k&&(p.iInitDisplayStart=d.iDisplayStart,p._iDisplayStart=d.iDisplayStart);null!==d.iDeferLoading&&(p.bDeferLoading=!0,g=h.isArray(d.iDeferLoading),p._iRecordsDisplay=g?d.iDeferLoading[0]:d.iDeferLoading,p._iRecordsTotal=g?d.iDeferLoading[1]:d.iDeferLoading);var t=p.oLanguage;h.extend(!0,t,d.oLanguage);""!==t.sUrl&&(h.ajax({dataType:"json",url:t.sUrl,success:function(a){O(a);H(l.oLanguage,a);h.extend(true,t,a);ga(p)},error:function(){ga(p)}}),n=!0);null===
[],s,h=this.getElementsByTagName("thead");0!==h.length&&(da(k.aoHeader,h[0]),o=pa(k));if(null===d.aoColumns){s=[];h=0;for(i=o.length;h<i;h++)s.push(null)}else s=d.aoColumns;h=0;for(i=s.length;h<i;h++)Ea(k,o?o[h]:null);hb(k,d.aoColumnDefs,s,function(a,b){ja(k,a,b)});if(q.length){var t=function(a,b){return a.getAttribute("data-"+b)?b:null};g.each(ma(k,q[0]).cells,function(a,b){var c=k.aoColumns[a];if(c.mData===a){var e=t(b,"sort")||t(b,"order"),d=t(b,"filter")||t(b,"search");if(e!==null||d!==null){c.mData= d.asStripeClasses&&(p.asStripeClasses=[j.sStripeOdd,j.sStripeEven]);var g=p.asStripeClasses,s=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(g,function(a){return s.hasClass(a)}))&&(h("tbody tr",this).removeClass(g.join(" ")),p.asDestroyStripes=g.slice());o=[];g=this.getElementsByTagName("thead");0!==g.length&&(da(p.aoHeader,g[0]),o=qa(p));if(null===d.aoColumns){r=[];g=0;for(i=o.length;g<i;g++)r.push(null)}else r=d.aoColumns;g=0;for(i=r.length;g<i;g++)Fa(p,o?o[g]:null);ib(p,d.aoColumnDefs,
{_:a+".display",sort:e!==null?a+".@data-"+e:l,type:e!==null?a+".@data-"+e:l,filter:d!==null?a+".@data-"+d:l};ja(k,a)}}})}var v=k.oFeatures;d.bStateSave&&(v.bStateSave=!0,Jb(k,d),x(k,"aoDrawCallback",xa,"state_save"));if(d.aaSorting===l){o=k.aaSorting;h=0;for(i=o.length;h<i;h++)o[h][1]=k.aoColumns[h].asSorting[0]}wa(k);v.bSort&&x(k,"aoDrawCallback",function(){if(k.bSorted){var a=T(k),b={};g.each(a,function(a,c){b[c.src]=c.dir});u(k,null,"order",[k,a,b]);Ib(k)}});x(k,"aoDrawCallback",function(){(k.bSorted|| r,function(a,b){ka(p,a,b)});if(s.length){var u=function(a,b){return a.getAttribute("data-"+b)!==null?b:null};h.each(na(p,s[0]).cells,function(a,b){var c=p.aoColumns[a];if(c.mData===a){var d=u(b,"sort")||u(b,"order"),e=u(b,"filter")||u(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+".@data-"+d:k,type:d!==null?a+".@data-"+d:k,filter:e!==null?a+".@data-"+e:k};ka(p,a)}}})}var v=p.oFeatures;d.bStateSave&&(v.bStateSave=!0,Kb(p,d),z(p,"aoDrawCallback",ya,"state_save"));if(d.aaSorting===
A(k)==="ssp"||v.bDeferRender)&&wa(k)},"sc");fb(k);h=g(this).children("caption").each(function(){this._captionSide=g(this).css("caption-side")});i=g(this).children("thead");0===i.length&&(i=g("<thead/>").appendTo(this));k.nTHead=i[0];i=g(this).children("tbody");0===i.length&&(i=g("<tbody/>").appendTo(this));k.nTBody=i[0];i=g(this).children("tfoot");if(0===i.length&&0<h.length&&(""!==k.oScroll.sX||""!==k.oScroll.sY))i=g("<tfoot/>").appendTo(this);0===i.length||0===i.children().length?g(this).addClass(j.sNoFooter): k){o=p.aaSorting;g=0;for(i=o.length;g<i;g++)o[g][1]=p.aoColumns[g].asSorting[0]}xa(p);v.bSort&&z(p,"aoDrawCallback",function(){if(p.bSorted){var a=T(p),b={};h.each(a,function(a,c){b[c.src]=c.dir});w(p,null,"order",[p,a,b]);Jb(p)}});z(p,"aoDrawCallback",function(){(p.bSorted||B(p)==="ssp"||v.bDeferRender)&&xa(p)},"sc");gb(p);g=q.children("caption").each(function(){this._captionSide=q.css("caption-side")});i=q.children("thead");0===i.length&&(i=h("<thead/>").appendTo(this));p.nTHead=i[0];i=q.children("tbody");
0<i.length&&(k.nTFoot=i[0],da(k.aoFooter,k.nTFoot));if(d.aaData)for(h=0;h<d.aaData.length;h++)I(k,d.aaData[h]);else(k.bDeferLoading||"dom"==A(k))&&la(k,g(k.nTBody).children("tr"));k.aiDisplay=k.aiDisplayMaster.slice();k.bInitialised=!0;!1===n&&ga(k)}});b=null;return this};var Sb=[],y=Array.prototype,bc=function(a){var b,c,e=p.settings,d=g.map(e,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=g.inArray(a,d),-1!==b?[e[b]]: 0===i.length&&(i=h("<tbody/>").appendTo(this));p.nTBody=i[0];i=q.children("tfoot");if(0===i.length&&0<g.length&&(""!==p.oScroll.sX||""!==p.oScroll.sY))i=h("<tfoot/>").appendTo(this);0===i.length||0===i.children().length?q.addClass(j.sNoFooter):0<i.length&&(p.nTFoot=i[0],da(p.aoFooter,p.nTFoot));if(d.aaData)for(g=0;g<d.aaData.length;g++)J(p,d.aaData[g]);else(p.bDeferLoading||"dom"==B(p))&&ma(p,h(p.nTBody).children("tr"));p.aiDisplay=p.aiDisplayMaster.slice();p.bInitialised=!0;!1===n&&ga(p)}});b=null;
null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=g(a):a instanceof g&&(c=a)}else return[];if(c)return c.map(function(){b=g.inArray(this,d);return-1!==b?e[b]:null}).toArray()};q=function(a,b){if(!this instanceof q)throw"DT API must be constructed as a new object";var c=[],e=function(a){(a=bc(a))&&c.push.apply(c,a)};if(g.isArray(a))for(var d=0,f=a.length;d<f;d++)e(a[d]);else e(a);this.context=Ma(c);b&&this.push.apply(this,b.toArray?b.toArray():b);this.selector= return this};var Tb=[],v=Array.prototype,cc=function(a){var b,c,e=m.settings,d=h.map(e,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=h.inArray(a,d),-1!==b?[e[b]]:null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=h(a):a instanceof h&&(c=a)}else return[];if(c)return c.map(function(){b=h.inArray(this,d);return-1!==b?e[b]:null}).toArray()};t=function(a,b){if(!this instanceof t)throw"DT API must be constructed as a new object";
{rows:null,cols:null,opts:null};q.extend(this,this,Sb)};p.Api=q;q.prototype={concat:y.concat,context:[],each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=this.context;return b.length>a?new q(b[a],this[a]):null},filter:function(a){var b=[];if(y.filter)b=y.filter.call(this,a,this);else for(var c=0,e=this.length;c<e;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new q(this.context,b)},flatten:function(){var a=[];return new q(this.context, var c=[],e=function(a){(a=cc(a))&&c.push.apply(c,a)};if(h.isArray(a))for(var d=0,f=a.length;d<f;d++)e(a[d]);else e(a);this.context=Na(c);b&&this.push.apply(this,b.toArray?b.toArray():b);this.selector={rows:null,cols:null,opts:null};t.extend(this,this,Tb)};m.Api=t;t.prototype={concat:v.concat,context:[],each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=this.context;return b.length>a?new t(b[a],this[a]):null},filter:function(a){var b=[];
a.concat.apply(a,this.toArray()))},join:y.join,indexOf:y.indexOf||function(a,b){for(var c=b||0,e=this.length;c<e;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,e){var d=[],f,h,g,j,n,m=this.context,o,k,p=this.selector;"string"===typeof a&&(e=c,c=b,b=a,a=!1);h=0;for(g=m.length;h<g;h++){var r=new q(m[h]);if("table"===b)f=c.call(r,m[h],h),f!==l&&d.push(f);else if("columns"===b||"rows"===b)f=c.call(r,m[h],this[h],h),f!==l&&d.push(f);else if("column"===b||"column-rows"===b||"row"===b||"cell"=== if(v.filter)b=v.filter.call(this,a,this);else for(var c=0,e=this.length;c<e;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new t(this.context,b)},flatten:function(){var a=[];return new t(this.context,a.concat.apply(a,this.toArray()))},join:v.join,indexOf:v.indexOf||function(a,b){for(var c=b||0,e=this.length;c<e;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,e){var d=[],f,g,h,j,n,l=this.context,q,o,m=this.selector;"string"===typeof a&&(e=c,c=b,b=a,a=!1);g=0;for(h=l.length;g<
b){k=this[h];"column-rows"===b&&(o=Ba(m[h],p.opts));j=0;for(n=k.length;j<n;j++)f=k[j],f="cell"===b?c.call(r,m[h],f.row,f.column,h,j):c.call(r,m[h],f,h,j,o),f!==l&&d.push(f)}}return d.length||e?(a=new q(m,a?d.concat.apply([],d):d),b=a.selector,b.rows=p.rows,b.cols=p.cols,b.opts=p.opts,a):this},lastIndexOf:y.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(y.map)b=y.map.call(this,a,this);else for(var c=0,e=this.length;c<e;c++)b.push(a.call(this, h;g++){var p=new t(l[g]);if("table"===b)f=c.call(p,l[g],g),f!==k&&d.push(f);else if("columns"===b||"rows"===b)f=c.call(p,l[g],this[g],g),f!==k&&d.push(f);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){o=this[g];"column-rows"===b&&(q=Ca(l[g],m.opts));j=0;for(n=o.length;j<n;j++)f=o[j],f="cell"===b?c.call(p,l[g],f.row,f.column,g,j):c.call(p,l[g],f,g,j,q),f!==k&&d.push(f)}}return d.length||e?(a=new t(l,a?d.concat.apply([],d):d),b=a.selector,b.rows=m.rows,b.cols=m.cols,b.opts=m.opts,a):
this[c],c));return new q(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:y.pop,push:y.push,reduce:y.reduce||function(a,b){return gb(this,a,b,0,this.length,1)},reduceRight:y.reduceRight||function(a,b){return gb(this,a,b,this.length-1,-1,-1)},reverse:y.reverse,selector:null,shift:y.shift,sort:y.sort,splice:y.splice,toArray:function(){return y.slice.call(this)},to$:function(){return g(this)},toJQuery:function(){return g(this)},unique:function(){return new q(this.context, this},lastIndexOf:v.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(v.map)b=v.map.call(this,a,this);else for(var c=0,e=this.length;c<e;c++)b.push(a.call(this,this[c],c));return new t(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:v.pop,push:v.push,reduce:v.reduce||function(a,b){return hb(this,a,b,0,this.length,1)},reduceRight:v.reduceRight||function(a,b){return hb(this,a,b,this.length-1,
Ma(this))},unshift:y.unshift};q.extend=function(a,b,c){if(b&&(b instanceof q||b.__dt_wrapper)){var e,d,f,h=function(a,b,c){return function(){var e=b.apply(a,arguments);q.extend(e,e,c.methodExt);return e}};e=0;for(d=c.length;e<d;e++)f=c[e],b[f.name]="function"===typeof f.val?h(a,f.val,f):g.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,q.extend(a,b[f.name],f.propExt)}};q.register=r=function(a,b){if(g.isArray(a))for(var c=0,e=a.length;c<e;c++)q.register(a[c],b);else for(var d=a.split("."), -1,-1)},reverse:v.reverse,selector:null,shift:v.shift,sort:v.sort,splice:v.splice,toArray:function(){return v.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},unique:function(){return new t(this.context,Na(this))},unshift:v.unshift};t.extend=function(a,b,c){if(c.length&&b&&(b instanceof t||b.__dt_wrapper)){var e,d,f,g=function(a,b,c){return function(){var d=b.apply(a,arguments);t.extend(d,d,c.methodExt);return d}};e=0;for(d=c.length;e<d;e++)f=c[e],b[f.name]="function"===
f=Sb,h,i,c=0,e=d.length;c<e;c++){h=(i=-1!==d[c].indexOf("()"))?d[c].replace("()",""):d[c];var j;a:{j=0;for(var n=f.length;j<n;j++)if(f[j].name===h){j=f[j];break a}j=null}j||(j={name:h,val:{},methodExt:[],propExt:[]},f.push(j));c===e-1?j.val=b:f=i?j.methodExt:j.propExt}};q.registerPlural=t=function(a,b,c){q.register(a,c);q.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof q?a.length?g.isArray(a[0])?new q(a.context,a[0]):a[0]:l:a})};r("tables()",function(a){var b; typeof f.val?g(a,f.val,f):h.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,t.extend(a,b[f.name],f.propExt)}};t.register=r=function(a,b){if(h.isArray(a))for(var c=0,e=a.length;c<e;c++)t.register(a[c],b);else for(var d=a.split("."),f=Tb,g,i,c=0,e=d.length;c<e;c++){g=(i=-1!==d[c].indexOf("()"))?d[c].replace("()",""):d[c];var j;a:{j=0;for(var n=f.length;j<n;j++)if(f[j].name===g){j=f[j];break a}j=null}j||(j={name:g,val:{},methodExt:[],propExt:[]},f.push(j));c===e-1?j.val=b:f=i?j.methodExt:j.propExt}};
if(a){b=q;var c=this.context;if("number"===typeof a)a=[c[a]];else var e=g.map(c,function(a){return a.nTable}),a=g(e).filter(a).map(function(){var a=g.inArray(this,e);return c[a]}).toArray();b=new b(a)}else b=this;return b});r("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new q(b[0]):a});t("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});t("tables().body()","table().body()",function(){return this.iterator("table", t.registerPlural=u=function(a,b,c){t.register(a,c);t.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof t?a.length?h.isArray(a[0])?new t(a.context,a[0]):a[0]:k:a})};r("tables()",function(a){var b;if(a){b=t;var c=this.context;if("number"===typeof a)a=[c[a]];else var e=h.map(c,function(a){return a.nTable}),a=h(e).filter(a).map(function(){var a=h.inArray(this,e);return c[a]}).toArray();b=new b(a)}else b=this;return b});r("table()",function(a){var a=this.tables(a),b=
function(a){return a.nTBody},1)});t("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});t("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});t("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});r("draw()",function(a){return this.iterator("table",function(b){M(b,!1===a)})});r("page()",function(a){return a=== a.context;return b.length?new t(b[0]):a});u("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});u("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody},1)});u("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});u("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});u("tables().containers()",
l?this.page.info().page:this.iterator("table",function(b){Sa(b,a)})});r("page.info()",function(){if(0===this.context.length)return l;var a=this.context[0],b=a._iDisplayStart,c=a._iDisplayLength,e=a.fnRecordsDisplay(),d=-1===c;return{page:d?0:Math.floor(b/c),pages:d?1:Math.ceil(e/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:e}});r("page.len()",function(a){return a===l?0!==this.context.length?this.context[0]._iDisplayLength:l:this.iterator("table",function(b){Qa(b, "table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});r("draw()",function(a){return this.iterator("table",function(b){N(b,!1===a)})});r("page()",function(a){return a===k?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});r("page.info()",function(){if(0===this.context.length)return k;var a=this.context[0],b=a._iDisplayStart,c=a._iDisplayLength,e=a.fnRecordsDisplay(),d=-1===c;return{page:d?0:Math.floor(b/c),pages:d?1:Math.ceil(e/c),start:b,
a)})});var Tb=function(a,b,c){"ssp"==A(a)?M(a,b):(B(a,!0),qa(a,[],function(c){na(a);for(var c=ra(a,c),e=0,h=c.length;e<h;e++)I(a,c[e]);M(a,b);B(a,!1)}));if(c){var e=new q(a);e.one("draw",function(){c(e.ajax.json())})}};r("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});r("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});r("ajax.reload()",function(a,b){return this.iterator("table",function(c){Tb(c,!1===b,a)})});r("ajax.url()",function(a){var b= end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:e}});r("page.len()",function(a){return a===k?0!==this.context.length?this.context[0]._iDisplayLength:k:this.iterator("table",function(b){Ra(b,a)})});var Ub=function(a,b,c){if(c){var e=new t(a);e.one("draw",function(){c(e.ajax.json())})}"ssp"==B(a)?N(a,b):(C(a,!0),ra(a,[],function(c){oa(a);for(var c=sa(a,c),e=0,g=c.length;e<g;e++)J(a,c[e]);N(a,b);C(a,!1)}))};r("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});
this.context;if(a===l){if(0===b.length)return l;b=b[0];return b.ajax?g.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){g.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});r("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Tb(c,!1===b,a)})});var Za=function(a,b){var c=[],e,d,f,h,i,j;e=typeof a;if(!a||"string"===e||"function"===e||a.length===l)a=[a];f=0;for(h=a.length;f<h;f++){d=a[f]&&a[f].split?a[f].split(","):[a[f]];i=0;for(j= r("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});r("ajax.reload()",function(a,b){return this.iterator("table",function(c){Ub(c,!1===b,a)})});r("ajax.url()",function(a){var b=this.context;if(a===k){if(0===b.length)return k;b=b[0];return b.ajax?h.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){h.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});r("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Ub(c,
d.length;i<j;i++)(e=b("string"===typeof d[i]?g.trim(d[i]):d[i]))&&e.length&&c.push.apply(c,e)}return c},$a=function(a){a||(a={});a.filter&&!a.search&&(a.search=a.filter);return{search:a.search||"none",order:a.order||"current",page:a.page||"all"}},ab=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ba=function(a,b){var c,e,d,f=[],h=a.aiDisplay;c=a.aiDisplayMaster;var i=b.search;e=b.order;d=b.page;if("ssp"==A(a))return"removed"=== !1===b,a)})});var $a=function(a,b){var c=[],e,d,f,g,i,j;e=typeof a;if(!a||"string"===e||"function"===e||a.length===k)a=[a];f=0;for(g=a.length;f<g;f++){d=a[f]&&a[f].split?a[f].split(","):[a[f]];i=0;for(j=d.length;i<j;i++)(e=b("string"===typeof d[i]?h.trim(d[i]):d[i]))&&e.length&&c.push.apply(c,e)}return c},ab=function(a){a||(a={});a.filter&&!a.search&&(a.search=a.filter);return{search:a.search||"none",order:a.order||"current",page:a.page||"all"}},bb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<
i?[]:U(0,c.length);if("current"==d){c=a._iDisplayStart;for(e=a.fnDisplayEnd();c<e;c++)f.push(h[c])}else if("current"==e||"applied"==e)f="none"==i?c.slice():"applied"==i?h.slice():g.map(c,function(a){return-1===g.inArray(a,h)?a:null});else if("index"==e||"original"==e){c=0;for(e=a.aoData.length;c<e;c++)"none"==i?f.push(c):(d=g.inArray(c,h),(-1===d&&"removed"==i||0<=d&&"applied"==i)&&f.push(c))}return f};r("rows()",function(a,b){a===l?a="":g.isPlainObject(a)&&(b=a,a="");var b=$a(b),c=this.iterator("table", a[b].length)return a[0]=a[b],a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ca=function(a,b){var c,e,d,f=[],g=a.aiDisplay;c=a.aiDisplayMaster;var i=b.search;e=b.order;d=b.page;if("ssp"==B(a))return"removed"===i?[]:U(0,c.length);if("current"==d){c=a._iDisplayStart;for(e=a.fnDisplayEnd();c<e;c++)f.push(g[c])}else if("current"==e||"applied"==e)f="none"==i?c.slice():"applied"==i?g.slice():h.map(c,function(a){return-1===h.inArray(a,g)?a:null});else if("index"==e||"original"==e){c=0;for(e=a.aoData.length;c<
function(c){var d=b;return Za(a,function(a){var b=Ob(a);if(b!==null&&!d)return[b];var i=Ba(c,d);if(b!==null&&g.inArray(b,i)!==-1)return[b];if(!a)return i;if(typeof a==="function")return g.map(i,function(b){var d=c.aoData[b];return a(b,d._aData,d.nTr)?b:null});b=Rb(ha(c.aoData,i,"nTr"));return a.nodeName&&g.inArray(a,b)!==-1?[a._DT_RowIndex]:g(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()})},1);c.selector.rows=a;c.selector.opts=b;return c});r("rows().nodes()",function(){return this.iterator("row", e;c++)"none"==i?f.push(c):(d=h.inArray(c,g),(-1===d&&"removed"==i||0<=d&&"applied"==i)&&f.push(c))}return f};r("rows()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var d=b;return $a(a,function(a){var b=Pb(a);if(b!==null&&!d)return[b];var i=Ca(c,d);if(b!==null&&h.inArray(b,i)!==-1)return[b];if(!a)return i;if(typeof a==="function")return h.map(i,function(b){var d=c.aoData[b];return a(b,d._aData,d.nTr)?b:null});b=Sb(ia(c.aoData,i,"nTr"));return a.nodeName&&
function(a,b){return a.aoData[b].nTr||l},1)});r("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return ha(a.aoData,b,"_aData")},1)});t("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var e=b.aoData[c];return"search"===a?e._aFilterData:e._aSortData},1)});t("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){ca(b,c,a)})});t("rows().indexes()","row().index()",function(){return this.iterator("row", h.inArray(a,b)!==-1?[a._DT_RowIndex]:h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()})},1);c.selector.rows=a;c.selector.opts=b;return c});r("rows().nodes()",function(){return this.iterator("row",function(a,b){return a.aoData[b].nTr||k},1)});r("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return ia(a.aoData,b,"_aData")},1)});u("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var e=b.aoData[c];return"search"===a?e._aFilterData:
function(a,b){return b},1)});t("rows().remove()","row().remove()",function(){var a=this;return this.iterator("row",function(b,c,e){var d=b.aoData;d.splice(c,1);for(var f=0,h=d.length;f<h;f++)null!==d[f].nTr&&(d[f].nTr._DT_RowIndex=f);g.inArray(c,b.aiDisplay);oa(b.aiDisplayMaster,c);oa(b.aiDisplay,c);oa(a[e],c,!1);Ra(b)})});r("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,h,g=[];f=0;for(h=a.length;f<h;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?g.push(la(b,c)[0]): e._aSortData},1)});u("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){ca(b,c,a)})});u("rows().indexes()","row().index()",function(){return this.iterator("row",function(a,b){return b},1)});u("rows().remove()","row().remove()",function(){var a=this;return this.iterator("row",function(b,c,e){var d=b.aoData;d.splice(c,1);for(var f=0,g=d.length;f<g;f++)null!==d[f].nTr&&(d[f].nTr._DT_RowIndex=f);h.inArray(c,b.aiDisplay);pa(b.aiDisplayMaster,c);pa(b.aiDisplay,
g.push(I(b,c));return g},1),c=this.rows(-1);c.pop();c.push.apply(c,b.toArray());return c});r("row()",function(a,b){return ab(this.rows(a,b))});r("row().data()",function(a){var b=this.context;if(a===l)return b.length&&this.length?b[0].aoData[this[0]]._aData:l;b[0].aoData[this[0]]._aData=a;ca(b[0],this[0],"data");return this});r("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});r("row.add()",function(a){a instanceof g&&a.length&&(a=a[0]); c);pa(a[e],c,!1);Sa(b)})});r("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,g,h=[];f=0;for(g=a.length;f<g;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?h.push(ma(b,c)[0]):h.push(J(b,c));return h},1),c=this.rows(-1);c.pop();c.push.apply(c,b.toArray());return c});r("row()",function(a,b){return bb(this.rows(a,b))});r("row().data()",function(a){var b=this.context;if(a===k)return b.length&&this.length?b[0].aoData[this[0]]._aData:k;b[0].aoData[this[0]]._aData=a;ca(b[0],
var b=this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?la(b,a)[0]:I(b,a)});return this.row(b[0])});var bb=function(a,b){var c=a.context;c.length&&(c=c[0].aoData[b!==l?b:a[0]],c._details&&(c._details.remove(),c._detailsShow=l,c._details=l))},Ub=function(a,b){var c=a.context;if(c.length&&a.length){var e=c[0].aoData[a[0]];if(e._details){(e._detailsShow=b)?e._details.insertAfter(e.nTr):e._details.detach();var d=c[0],f=new q(d),h=d.aoData;f.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details"); this[0],"data");return this});r("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});r("row.add()",function(a){a instanceof h&&a.length&&(a=a[0]);var b=this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?ma(b,a)[0]:J(b,a)});return this.row(b[0])});var cb=function(a,b){var c=a.context;c.length&&(c=c[0].aoData[b!==k?b:a[0]],c._details&&(c._details.remove(),c._detailsShow=k,c._details=k))},Vb=function(a,b){var c=
0<C(h,"_details").length&&(f.on("draw.dt.DT_details",function(a,b){d===b&&f.rows({page:"current"}).eq(0).each(function(a){a=h[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(d===b)for(var c,e=aa(b),f=0,g=h.length;f<g;f++)c=h[f],c._details&&c._details.children("td[colspan]").attr("colspan",e)}),f.on("destroy.dt.DT_details",function(a,b){if(d===b)for(var c=0,e=h.length;c<e;c++)h[c]._details&&bb(f,c)}))}}};r("row().child()",function(a,b){var c= a.context;if(c.length&&a.length){var e=c[0].aoData[a[0]];if(e._details){(e._detailsShow=b)?e._details.insertAfter(e.nTr):e._details.detach();var d=c[0],f=new t(d),g=d.aoData;f.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0<D(g,"_details").length&&(f.on("draw.dt.DT_details",function(a,b){d===b&&f.rows({page:"current"}).eq(0).each(function(a){a=g[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(d===b)for(var c,
this.context;if(a===l)return c.length&&this.length?c[0].aoData[this[0]]._details:l;if(!0===a)this.child.show();else if(!1===a)bb(this);else if(c.length&&this.length){var e=c[0],c=c[0].aoData[this[0]],d=[],f=function(a,b){if(a.nodeName&&"tr"===a.nodeName.toLowerCase())d.push(a);else{var c=g("<tr><td/></tr>").addClass(b);g("td",c).addClass(b).html(a)[0].colSpan=aa(e);d.push(c[0])}};if(g.isArray(a)||a instanceof g)for(var h=0,i=a.length;h<i;h++)f(a[h],b);else f(a,b);c._details&&c._details.remove();c._details= e=aa(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",e)}),f.on("destroy.dt.DT_details",function(a,b){if(d===b)for(var c=0,e=g.length;c<e;c++)g[c]._details&&cb(f,c)}))}}};r("row().child()",function(a,b){var c=this.context;if(a===k)return c.length&&this.length?c[0].aoData[this[0]]._details:k;if(!0===a)this.child.show();else if(!1===a)cb(this);else if(c.length&&this.length){var e=c[0],c=c[0].aoData[this[0]],d=[],f=function(a,b){if(h.isArray(a)||a instanceof
g(d);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});r(["row().child.show()","row().child().show()"],function(){Ub(this,!0);return this});r(["row().child.hide()","row().child().hide()"],function(){Ub(this,!1);return this});r(["row().child.remove()","row().child().remove()"],function(){bb(this);return this});r("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var cc=/^(.+):(name|visIdx|visible)$/,Vb=function(a, h)for(var c=0,k=a.length;c<k;c++)f(a[c],b);else a.nodeName&&"tr"===a.nodeName.toLowerCase()?d.push(a):(c=h("<tr><td/></tr>").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=aa(e),d.push(c[0]))};f(a,b);c._details&&c._details.remove();c._details=h(d);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});r(["row().child.show()","row().child().show()"],function(){Vb(this,!0);return this});r(["row().child.hide()","row().child().hide()"],function(){Vb(this,!1);return this});r(["row().child.remove()",
b,c,e,d){for(var c=[],e=0,f=d.length;e<f;e++)c.push(v(a,d[e],b));return c};r("columns()",function(a,b){a===l?a="":g.isPlainObject(a)&&(b=a,a="");var b=$a(b),c=this.iterator("table",function(c){var d=a,f=b,h=c.aoColumns,i=C(h,"sName"),j=C(h,"nTh");return Za(d,function(a){var b=Ob(a);if(a==="")return U(h.length);if(b!==null)return[b>=0?b:h.length+b];if(typeof a==="function"){var d=Ba(c,f);return g.map(h,function(b,f){return a(f,Vb(c,f,0,0,d),j[f])?f:null})}var k=typeof a==="string"?a.match(cc):"";if(k)switch(k[2]){case "visIdx":case "visible":b= "row().child().remove()"],function(){cb(this);return this});r("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var dc=/^(.+):(name|visIdx|visible)$/,Wb=function(a,b,c,e,d){for(var c=[],e=0,f=d.length;e<f;e++)c.push(y(a,d[e],b));return c};r("columns()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var d=a,f=b,g=c.aoColumns,i=D(g,"sName"),j=D(g,"nTh");return $a(d,function(a){var b=
parseInt(k[1],10);if(b<0){var l=g.map(h,function(a,b){return a.bVisible?b:null});return[l[l.length+b]]}return[ka(c,b)];case "name":return g.map(i,function(a,b){return a===k[1]?b:null})}else return g(j).filter(a).map(function(){return g.inArray(this,j)}).toArray()})},1);c.selector.cols=a;c.selector.opts=b;return c});t("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});t("columns().footer()","column().footer()",function(){return this.iterator("column", Pb(a);if(a==="")return U(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var d=Ca(c,f);return h.map(g,function(b,f){return a(f,Wb(c,f,0,0,d),j[f])?f:null})}var k=typeof a==="string"?a.match(dc):"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],10);if(b<0){var m=h.map(g,function(a,b){return a.bVisible?b:null});return[m[m.length+b]]}return[la(c,b)];case "name":return h.map(i,function(a,b){return a===k[1]?b:null})}else return h(j).filter(a).map(function(){return h.inArray(this,
function(a,b){return a.aoColumns[b].nTf},1)});t("columns().data()","column().data()",function(){return this.iterator("column-rows",Vb,1)});t("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});t("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,e,d,f){return ha(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});t("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows", j)}).toArray()})},1);c.selector.cols=a;c.selector.opts=b;return c});u("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});u("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});u("columns().data()","column().data()",function(){return this.iterator("column-rows",Wb,1)});u("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",
function(a,b,c,e,d){return ha(a.aoData,d,"anCells",b)},1)});t("columns().visible()","column().visible()",function(a,b){return this.iterator("column",function(c,e){if(a===l)return c.aoColumns[e].bVisible;var d=c.aoColumns,f=d[e],h=c.aoData,i,j,n;if(a!==l&&f.bVisible!==a){if(a){var m=g.inArray(!0,C(d,"bVisible"),e+1);i=0;for(j=h.length;i<j;i++)n=h[i].nTr,d=h[i].anCells,n&&n.insertBefore(d[e],d[m]||null)}else g(C(c.aoData,"anCells",e)).detach();f.bVisible=a;ea(c,c.aoHeader);ea(c,c.aoFooter);if(b===l|| function(a,b){return a.aoColumns[b].mData},1)});u("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,e,d,f){return ia(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});u("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,e,d){return ia(a.aoData,d,"anCells",b)},1)});u("columns().visible()","column().visible()",function(a,b){return this.iterator("column",function(c,e){if(a===k)return c.aoColumns[e].bVisible;
b)X(c),(c.oScroll.sX||c.oScroll.sY)&&Y(c);u(c,null,"column-visibility",[c,e,a]);xa(c)}})});t("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?$(b,c):c},1)});r("columns.adjust()",function(){return this.iterator("table",function(a){X(a)},1)});r("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return ka(c,b);if("fromData"===a||"toVisible"===a)return $(c,b)}});r("column()", var d=c.aoColumns,f=d[e],g=c.aoData,i,j,n;if(a!==k&&f.bVisible!==a){if(a){var l=h.inArray(!0,D(d,"bVisible"),e+1);i=0;for(j=g.length;i<j;i++)n=g[i].nTr,d=g[i].anCells,n&&n.insertBefore(d[e],d[l]||null)}else h(D(c.aoData,"anCells",e)).detach();f.bVisible=a;ea(c,c.aoHeader);ea(c,c.aoFooter);if(b===k||b)X(c),(c.oScroll.sX||c.oScroll.sY)&&Y(c);w(c,null,"column-visibility",[c,e,a]);ya(c)}})});u("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===
function(a,b){return ab(this.columns(a,b))});r("cells()",function(a,b,c){g.isPlainObject(a)&&(typeof a.row!==l?(c=b,b=null):(c=a,a=null));g.isPlainObject(b)&&(c=b,b=null);if(null===b||b===l)return this.iterator("table",function(b){var e=a,d=$a(c),f=b.aoData,h=Ba(b,d),d=Rb(ha(f,h,"anCells")),i=g([].concat.apply([],d)),j,m=b.aoColumns.length,n,p,r,q,s,t;return Za(e,function(a){var c=typeof a==="function";if(a===null||a===l||c){n=[];p=0;for(r=h.length;p<r;p++){j=h[p];for(q=0;q<m;q++){s={row:j,column:q}; a?$(b,c):c},1)});r("columns.adjust()",function(){return this.iterator("table",function(a){X(a)},1)});r("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return la(c,b);if("fromData"===a||"toVisible"===a)return $(c,b)}});r("column()",function(a,b){return bb(this.columns(a,b))});r("cells()",function(a,b,c){h.isPlainObject(a)&&(a.row===k?(c=a,a=null):(c=b,b=null));h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===k)return this.iterator("table",
if(c){t=b.aoData[j];a(s,v(b,j,q),t.anCells[q])&&n.push(s)}else n.push(s)}}return n}return g.isPlainObject(a)?[a]:i.filter(a).map(function(a,b){j=b.parentNode._DT_RowIndex;return{row:j,column:g.inArray(b,f[j].anCells)}}).toArray()})});var e=this.columns(b,c),d=this.rows(a,c),f,h,i,j,n,m=this.iterator("table",function(a,b){f=[];h=0;for(i=d[b].length;h<i;h++){j=0;for(n=e[b].length;j<n;j++)f.push({row:d[b][h],column:e[b][j]})}return f},1);g.extend(m.selector,{cols:b,rows:a,opts:c});return m});t("cells().nodes()", function(b){var d=a,e=ab(c),f=b.aoData,g=Ca(b,e),e=Sb(ia(f,g,"anCells")),i=h([].concat.apply([],e)),j,l=b.aoColumns.length,n,m,r,t,s,u;return $a(d,function(a){var c=typeof a==="function";if(a===null||a===k||c){n=[];m=0;for(r=g.length;m<r;m++){j=g[m];for(t=0;t<l;t++){s={row:j,column:t};if(c){u=b.aoData[j];a(s,y(b,j,t),u.anCells[t])&&n.push(s)}else n.push(s)}}return n}return h.isPlainObject(a)?[a]:i.filter(a).map(function(a,b){j=b.parentNode._DT_RowIndex;return{row:j,column:h.inArray(b,f[j].anCells)}}).toArray()})});
"cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b].anCells)?a[c]:l},1)});r("cells().data()",function(){return this.iterator("cell",function(a,b,c){return v(a,b,c)},1)});t("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,e){return b.aoData[c][a][e]},1)});t("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,e){return v(b,c,e,a)},1)});t("cells().indexes()", var e=this.columns(b,c),d=this.rows(a,c),f,g,i,j,n,l=this.iterator("table",function(a,b){f=[];g=0;for(i=d[b].length;g<i;g++){j=0;for(n=e[b].length;j<n;j++)f.push({row:d[b][g],column:e[b][j]})}return f},1);h.extend(l.selector,{cols:b,rows:a,opts:c});return l});u("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b].anCells)?a[c]:k},1)});r("cells().data()",function(){return this.iterator("cell",function(a,b,c){return y(a,b,c)},1)});u("cells().cache()",
"cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:$(a,c)}},1)});t("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,e){ca(b,c,a,e)})});r("cell()",function(a,b,c){return ab(this.cells(a,b,c))});r("cell().data()",function(a){var b=this.context,c=this[0];if(a===l)return b.length&&c.length?v(b[0],c[0].row,c[0].column):l;Ha(b[0],c[0].row,c[0].column,a);ca(b[0],c[0].row,"data",c[0].column);return this}); "cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,e){return b.aoData[c][a][e]},1)});u("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,e){return y(b,c,e,a)},1)});u("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:$(a,c)}},1)});u("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,
r("order()",function(a,b){var c=this.context;if(a===l)return 0!==c.length?c[0].aaSorting:l;"number"===typeof a?a=[[a,b]]:g.isArray(a[0])||(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=a.slice()})});r("order.listener()",function(a,b,c){return this.iterator("table",function(e){Na(e,a,b,c)})});r(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,e){var d=[];g.each(b[e],function(b,c){d.push([c,a])}); c,e){ca(b,c,a,e)})});r("cell()",function(a,b,c){return bb(this.cells(a,b,c))});r("cell().data()",function(a){var b=this.context,c=this[0];if(a===k)return b.length&&c.length?y(b[0],c[0].row,c[0].column):k;Ia(b[0],c[0].row,c[0].column,a);ca(b[0],c[0].row,"data",c[0].column);return this});r("order()",function(a,b){var c=this.context;if(a===k)return 0!==c.length?c[0].aaSorting:k;"number"===typeof a?a=[[a,b]]:h.isArray(a[0])||(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=
c.aaSorting=d})});r("search()",function(a,b,c,e){var d=this.context;return a===l?0!==d.length?d[0].oPreviousSearch.sSearch:l:this.iterator("table",function(d){d.oFeatures.bFilter&&fa(d,g.extend({},d.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===e?!0:e}),1)})});t("columns().search()","column().search()",function(a,b,c,e){return this.iterator("column",function(d,f){var h=d.aoPreSearchCols;if(a===l)return h[f].sSearch;d.oFeatures.bFilter&&(g.extend(h[f], a.slice()})});r("order.listener()",function(a,b,c){return this.iterator("table",function(e){Oa(e,a,b,c)})});r(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,e){var d=[];h.each(b[e],function(b,c){d.push([c,a])});c.aaSorting=d})});r("search()",function(a,b,c,e){var d=this.context;return a===k?0!==d.length?d[0].oPreviousSearch.sSearch:k:this.iterator("table",function(d){d.oFeatures.bFilter&&fa(d,h.extend({},d.oPreviousSearch,{sSearch:a+"",bRegex:null===
{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===e?!0:e}),fa(d,d.oPreviousSearch,1))})});r("state()",function(){return this.context.length?this.context[0].oSavedState:null});r("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});r("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null});r("state.save()",function(){return this.iterator("table",function(a){xa(a)})});p.versionCheck= b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===e?!0:e}),1)})});u("columns().search()","column().search()",function(a,b,c,e){return this.iterator("column",function(d,f){var g=d.aoPreSearchCols;if(a===k)return g[f].sSearch;d.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===e?!0:e}),fa(d,d.oPreviousSearch,1))})});r("state()",function(){return this.context.length?this.context[0].oSavedState:null});r("state.clear()",function(){return this.iterator("table",
p.fnVersionCheck=function(a){for(var b=p.version.split("."),a=a.split("."),c,e,d=0,f=a.length;d<f;d++)if(c=parseInt(b[d],10)||0,e=parseInt(a[d],10)||0,c!==e)return c>e;return!0};p.isDataTable=p.fnIsDataTable=function(a){var b=g(a).get(0),c=!1;g.each(p.settings,function(a,d){if(d.nTable===b||d.nScrollHead===b||d.nScrollFoot===b)c=!0});return c};p.tables=p.fnTables=function(a){return g.map(p.settings,function(b){if(!a||a&&g(b.nTable).is(":visible"))return b.nTable})};p.util={throttle:ta,escapeRegex:ua}; function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});r("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null});r("state.save()",function(){return this.iterator("table",function(a){ya(a)})});m.versionCheck=m.fnVersionCheck=function(a){for(var b=m.version.split("."),a=a.split("."),c,e,d=0,f=a.length;d<f;d++)if(c=parseInt(b[d],10)||0,e=parseInt(a[d],10)||0,c!==e)return c>e;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;h.each(m.settings,
p.camelToHungarian=G;r("$()",function(a,b){var c=this.rows(b).nodes(),c=g(c);return g([].concat(c.filter(a).toArray(),c.find(a).toArray()))});g.each(["on","one","off"],function(a,b){r(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0].match(/\.dt\b/)||(a[0]+=".dt");var e=g(this.tables().nodes());e[b].apply(e,a);return this})});r("clear()",function(){return this.iterator("table",function(a){na(a)})});r("settings()",function(){return new q(this.context,this.context)});r("data()",function(){return this.iterator("table", function(a,d){var f=d.nScrollHead?h("table",d.nScrollHead)[0]:null,g=d.nScrollFoot?h("table",d.nScrollFoot)[0]:null;if(d.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){return h.map(m.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable})};m.util={throttle:ua,escapeRegex:va};m.camelToHungarian=H;r("$()",function(a,b){var c=this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,
function(a){return C(a.aoData,"_aData")}).flatten()});r("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,e=b.oClasses,d=b.nTable,f=b.nTBody,h=b.nTHead,i=b.nTFoot,j=g(d),f=g(f),l=g(b.nTableWrapper),m=g.map(b.aoData,function(a){return a.nTr}),o;b.bDestroying=!0;u(b,"aoDestroyCallback","destroy",[b]);a||(new q(b)).columns().visible(!0);l.unbind(".DT").find(":not(tbody *)").unbind(".DT");g(Da).unbind(".DT-"+b.sInstance);d!=h.parentNode&&(j.children("thead").detach(), b){r(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0].match(/\.dt\b/)||(a[0]+=".dt");var e=h(this.tables().nodes());e[b].apply(e,a);return this})});r("clear()",function(){return this.iterator("table",function(a){oa(a)})});r("settings()",function(){return new t(this.context,this.context)});r("init()",function(){var a=this.context;return a.length?a[0].oInit:null});r("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});r("destroy()",
j.append(h));i&&d!=i.parentNode&&(j.children("tfoot").detach(),j.append(i));j.detach();l.detach();b.aaSorting=[];b.aaSortingFixed=[];wa(b);g(m).removeClass(b.asStripeClasses.join(" "));g("th, td",h).removeClass(e.sSortable+" "+e.sSortableAsc+" "+e.sSortableDesc+" "+e.sSortableNone);b.bJUI&&(g("th span."+e.sSortIcon+", td span."+e.sSortIcon,h).detach(),g("th, td",h).each(function(){var a=g("div."+e.sSortJUIWrapper,this);g(this).append(a.contents());a.detach()}));!a&&c&&c.insertBefore(d,b.nTableReinsertBefore); function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,e=b.oClasses,d=b.nTable,f=b.nTBody,g=b.nTHead,i=b.nTFoot,j=h(d),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),q;b.bDestroying=!0;w(b,"aoDestroyCallback","destroy",[b]);a||(new t(b)).columns().visible(!0);k.unbind(".DT").find(":not(tbody *)").unbind(".DT");h(Ea).unbind(".DT-"+b.sInstance);d!=g.parentNode&&(j.children("thead").detach(),j.append(g));i&&d!=i.parentNode&&(j.children("tfoot").detach(),
f.children().detach();f.append(m);j.css("width",b.sDestroyWidth).removeClass(e.sTable);(o=b.asDestroyStripes.length)&&f.children().each(function(a){g(this).addClass(b.asDestroyStripes[a%o])});c=g.inArray(b,p.settings);-1!==c&&p.settings.splice(c,1)})});p.version="1.10.4";p.settings=[];p.models={};p.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};p.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null};p.models.oColumn= j.append(i));j.detach();k.detach();b.aaSorting=[];b.aaSortingFixed=[];xa(b);h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(e.sSortable+" "+e.sSortableAsc+" "+e.sSortableDesc+" "+e.sSortableNone);b.bJUI&&(h("th span."+e.sSortIcon+", td span."+e.sSortIcon,g).detach(),h("th, td",g).each(function(){var a=h("div."+e.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));!a&&c&&c.insertBefore(d,b.nTableReinsertBefore);f.children().detach();f.append(l);j.css("width",b.sDestroyWidth).removeClass(e.sTable);
{idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender: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};p.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null, (q=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%q])});c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){r(b+"s().every()",function(a){return this.iterator(b,function(e,d,f){a.call((new t(e))[b](d,f))})})});m.version="1.10.6";m.settings=[];m.models={};m.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};m.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,
aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null, _sFilterRow:null,_sRowStripe:"",src:null};m.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender: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};m.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],
fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null, ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},
iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},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:"",sDecimal:"", fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,
sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:g.extend({},p.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null};V(p.defaults);p.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0, JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},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)",
bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};V(p.defaults.column);p.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null}, sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},m.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null};V(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,
oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[], asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};V(m.defaults.column);m.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,
sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:l,oAjaxData:l,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0, iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],
_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==A(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==A(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,e=this.aiDisplay.length,d=this.oFeatures,f=d.bPaginate;return d.bServerSide?!1===f||-1===a?b+e: aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,
Math.min(b+a,this._iRecordsDisplay):!f||c>e||-1===a?e:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{}};p.ext=w={classes:{},errMode:"alert",feature:[],search:[],internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:p.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:p.version};g.extend(w,{afnFiltering:w.search,aTypes:w.type.detect,ofnSearch:w.type.search, _iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==B(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==B(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,e=this.aiDisplay.length,d=this.oFeatures,f=d.bPaginate;return d.bServerSide?
oSort:w.type.order,afnSortData:w.order,aoFeatures:w.feature,oApi:w.internal,oStdClasses:w.classes,oPagination:w.pager});g.extend(p.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",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", !1===f||-1===a?b+e:Math.min(b+a,this._iRecordsDisplay):!f||c>e||-1===a?e:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{}};m.ext=x={buttons:{},classes:{},errMode:"alert",feature:[],search:[],internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:m.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:m.version};h.extend(x,{afnFiltering:x.search,aTypes:x.type.detect,
sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"", ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager});h.extend(m.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",
sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Ca="",Ca="",E=Ca+"ui-state-default",ia=Ca+"css_right ui-icon ui-icon-",Wb=Ca+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";g.extend(p.ext.oJUIClasses,p.ext.classes,{sPageButton:"fg-button ui-button "+E,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_", sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",
sSortAsc:E+" sorting_asc",sSortDesc:E+" sorting_desc",sSortable:E+" sorting",sSortableAsc:E+" sorting_asc_disabled",sSortableDesc:E+" sorting_desc_disabled",sSortableNone:E+" sorting_disabled",sSortJUIAsc:ia+"triangle-1-n",sSortJUIDesc:ia+"triangle-1-s",sSortJUI:ia+"carat-2-n-s",sSortJUIAscAllowed:ia+"carat-1-n",sSortJUIDescAllowed:ia+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+E,sScrollFoot:"dataTables_scrollFoot "+E, sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Da="",Da="",F=Da+"ui-state-default",ja=Da+"css_right ui-icon ui-icon-",Xb=Da+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";h.extend(m.ext.oJUIClasses,m.ext.classes,{sPageButton:"fg-button ui-button "+F,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",
sHeaderTH:E,sFooterTH:E,sJUIHeader:Wb+" ui-corner-tl ui-corner-tr",sJUIFooter:Wb+" ui-corner-bl ui-corner-br"});var Lb=p.ext.pager;g.extend(Lb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},simple_numbers:function(a,b){return["previous",Va(a,b),"next"]},full_numbers:function(a,b){return["first","previous",Va(a,b),"next","last"]},_numbers:Va,numbers_length:7});g.extend(!0,p.ext.renderer,{pageButton:{_:function(a,b,c,e,d,f){var h=a.oClasses,i= sSortAsc:F+" sorting_asc",sSortDesc:F+" sorting_desc",sSortable:F+" sorting",sSortableAsc:F+" sorting_asc_disabled",sSortableDesc:F+" sorting_desc_disabled",sSortableNone:F+" sorting_disabled",sSortJUIAsc:ja+"triangle-1-n",sSortJUIDesc:ja+"triangle-1-s",sSortJUI:ja+"carat-2-n-s",sSortJUIAscAllowed:ja+"carat-1-n",sSortJUIDescAllowed:ja+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+F,sScrollFoot:"dataTables_scrollFoot "+F,
a.oLanguage.oPaginate,j,l,m=0,o=function(b,e){var k,p,r,q,s=function(b){Sa(a,b.data.action,true)};k=0;for(p=e.length;k<p;k++){q=e[k];if(g.isArray(q)){r=g("<"+(q.DT_el||"div")+"/>").appendTo(b);o(r,q)}else{l=j="";switch(q){case "ellipsis":b.append("<span>&hellip;</span>");break;case "first":j=i.sFirst;l=q+(d>0?"":" "+h.sPageButtonDisabled);break;case "previous":j=i.sPrevious;l=q+(d>0?"":" "+h.sPageButtonDisabled);break;case "next":j=i.sNext;l=q+(d<f-1?"":" "+h.sPageButtonDisabled);break;case "last":j= sHeaderTH:F,sFooterTH:F,sJUIHeader:Xb+" ui-corner-tl ui-corner-tr",sJUIFooter:Xb+" ui-corner-bl ui-corner-br"});var Mb=m.ext.pager;h.extend(Mb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},simple_numbers:function(a,b){return["previous",Wa(a,b),"next"]},full_numbers:function(a,b){return["first","previous",Wa(a,b),"next","last"]},_numbers:Wa,numbers_length:7});h.extend(!0,m.ext.renderer,{pageButton:{_:function(a,b,c,e,d,f){var g=a.oClasses,i=
i.sLast;l=q+(d<f-1?"":" "+h.sPageButtonDisabled);break;default:j=q+1;l=d===q?h.sPageButtonActive:""}if(j){r=g("<a>",{"class":h.sPageButton+" "+l,"aria-controls":a.sTableId,"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof q==="string"?a.sTableId+"_"+q:null}).html(j).appendTo(b);Ua(r,{action:q},s);m++}}}};try{var k=g(P.activeElement).data("dt-idx");o(g(b).empty(),e);k!==null&&g(b).find("[data-dt-idx="+k+"]").focus()}catch(p){}}}});g.extend(p.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal; a.oLanguage.oPaginate,j,k,l=0,m=function(b,e){var o,r,t,s,u=function(b){Ta(a,b.data.action,true)};o=0;for(r=e.length;o<r;o++){s=e[o];if(h.isArray(s)){t=h("<"+(s.DT_el||"div")+"/>").appendTo(b);m(t,s)}else{k=j="";switch(s){case "ellipsis":b.append('<span class="ellipsis">&#x2026;</span>');break;case "first":j=i.sFirst;k=s+(d>0?"":" "+g.sPageButtonDisabled);break;case "previous":j=i.sPrevious;k=s+(d>0?"":" "+g.sPageButtonDisabled);break;case "next":j=i.sNext;k=s+(d<f-1?"":" "+g.sPageButtonDisabled);
return Ya(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&(!$b.test(a)||!ac.test(a)))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||H(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return Ya(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Qb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Qb(a,c,!0)?"html-num-fmt"+c:null},function(a){return H(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);g.extend(p.ext.type.search, break;case "last":j=i.sLast;k=s+(d<f-1?"":" "+g.sPageButtonDisabled);break;default:j=s+1;k=d===s?g.sPageButtonActive:""}if(j){t=h("<a>",{"class":g.sPageButton+" "+k,"aria-controls":a.sTableId,"data-dt-idx":l,tabindex:a.iTabIndex,id:c===0&&typeof s==="string"?a.sTableId+"_"+s:null}).html(j).appendTo(b);Va(t,{action:s},u);l++}}}},o;try{o=h(P.activeElement).data("dt-idx")}catch(r){}m(h(b).empty(),e);o&&h(b).find("[data-dt-idx="+o+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;
{html:function(a){return H(a)?a:"string"===typeof a?a.replace(Nb," ").replace(Aa,""):""},string:function(a){return H(a)?a:"string"===typeof a?a.replace(Nb," "):a}});var za=function(a,b,c,e){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Pb(a,b));a.replace&&(c&&(a=a.replace(c,"")),e&&(a=a.replace(e,"")));return 1*a};g.extend(w.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return H(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return H(a)? return Za(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&(!ac.test(a)||!bc.test(a)))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||I(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c,!0)?"html-num-fmt"+c:null},function(a){return I(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(m.ext.type.search,
"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<b?1:a>b?-1:0}});cb("");g.extend(!0,p.ext.renderer,{header:{_:function(a,b,c,e){g(a.nTable).on("order.dt.DT",function(d,f,h,g){if(a===f){d=c.idx;b.removeClass(c.sSortingClass+" "+e.sSortAsc+" "+e.sSortDesc).addClass(g[d]=="asc"?e.sSortAsc:g[d]=="desc"?e.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,e){g("<div/>").addClass(e.sSortJUIWrapper).append(b.contents()).append(g("<span/>").addClass(e.sSortIcon+ {html:function(a){return I(a)?a:"string"===typeof a?a.replace(Ob," ").replace(Ba,""):""},string:function(a){return I(a)?a:"string"===typeof a?a.replace(Ob," "):a}});var Aa=function(a,b,c,e){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")),e&&(a=a.replace(e,"")));return 1*a};h.extend(x.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return I(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return I(a)?
" "+c.sSortingClassJUI)).appendTo(b);g(a.nTable).on("order.dt.DT",function(d,f,g,i){if(a===f){d=c.idx;b.removeClass(e.sSortAsc+" "+e.sSortDesc).addClass(i[d]=="asc"?e.sSortAsc:i[d]=="desc"?e.sSortDesc:c.sSortingClass);b.find("span."+e.sSortIcon).removeClass(e.sSortJUIAsc+" "+e.sSortJUIDesc+" "+e.sSortJUI+" "+e.sSortJUIAscAllowed+" "+e.sSortJUIDescAllowed).addClass(i[d]=="asc"?e.sSortJUIAsc:i[d]=="desc"?e.sSortJUIDesc:c.sSortingClassJUI)}})}}});p.render={number:function(a,b,c,e){return{display:function(d){var f= "":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<b?1:a>b?-1:0}});db("");h.extend(!0,m.ext.renderer,{header:{_:function(a,b,c,e){h(a.nTable).on("order.dt.DT",function(d,f,g,h){if(a===f){d=c.idx;b.removeClass(c.sSortingClass+" "+e.sSortAsc+" "+e.sSortDesc).addClass(h[d]=="asc"?e.sSortAsc:h[d]=="desc"?e.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,e){h("<div/>").addClass(e.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(e.sSortIcon+
0>d?"-":"",d=Math.abs(parseFloat(d)),g=parseInt(d,10),d=c?b+(d-g).toFixed(c).substring(2):"";return f+(e||"")+g.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+d}}}};g.extend(p.ext.internal,{_fnExternApiFunc:Mb,_fnBuildAjax:qa,_fnAjaxUpdate:jb,_fnAjaxParameters:sb,_fnAjaxUpdateDraw:tb,_fnAjaxDataSrc:ra,_fnAddColumn:Ea,_fnColumnOptions:ja,_fnAdjustColumnSizing:X,_fnVisibleToColumnIndex:ka,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:Z,_fnColumnTypes:Ga,_fnApplyColumnDefs:hb,_fnHungarianMap:V, " "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(d,f,g,h){if(a===f){d=c.idx;b.removeClass(e.sSortAsc+" "+e.sSortDesc).addClass(h[d]=="asc"?e.sSortAsc:h[d]=="desc"?e.sSortDesc:c.sSortingClass);b.find("span."+e.sSortIcon).removeClass(e.sSortJUIAsc+" "+e.sSortJUIDesc+" "+e.sSortJUI+" "+e.sSortJUIAscAllowed+" "+e.sSortJUIDescAllowed).addClass(h[d]=="asc"?e.sSortJUIAsc:h[d]=="desc"?e.sSortJUIDesc:c.sSortingClassJUI)}})}}});m.render={number:function(a,b,c,e){return{display:function(d){if("number"!==
_fnCamelToHungarian:G,_fnLanguageCompat:O,_fnBrowserDetect:fb,_fnAddData:I,_fnAddTr:la,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==l?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return g.inArray(c,a.aoData[b].anCells)},_fnGetCellData:v,_fnSetCellData:Ha,_fnSplitObjNotation:Ja,_fnGetObjectDataFn:W,_fnSetObjectDataFn:Q,_fnGetDataMaster:Ka,_fnClearTable:na,_fnDeleteIndex:oa,_fnInvalidate:ca,_fnGetRowElements:ma,_fnCreateTr:Ia,_fnBuildHead:ib,_fnDrawHead:ea,_fnDraw:L,_fnReDraw:M, typeof d&&"string"!==typeof d)return d;var f=0>d?"-":"",d=Math.abs(parseFloat(d)),g=parseInt(d,10),d=c?b+(d-g).toFixed(c).substring(2):"";return f+(e||"")+g.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+d}}}};h.extend(m.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:ra,_fnAjaxUpdate:kb,_fnAjaxParameters:tb,_fnAjaxUpdateDraw:ub,_fnAjaxDataSrc:sa,_fnAddColumn:Fa,_fnColumnOptions:ka,_fnAdjustColumnSizing:X,_fnVisibleToColumnIndex:la,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:Z,_fnColumnTypes:Ha,
_fnAddOptionsHtml:lb,_fnDetectHeader:da,_fnGetUniqueThs:pa,_fnFeatureHtmlFilter:nb,_fnFilterComplete:fa,_fnFilterCustom:wb,_fnFilterColumn:vb,_fnFilter:ub,_fnFilterCreateSearch:Pa,_fnEscapeRegex:ua,_fnFilterData:xb,_fnFeatureHtmlInfo:qb,_fnUpdateInfo:Ab,_fnInfoMacros:Bb,_fnInitialise:ga,_fnInitComplete:sa,_fnLengthChange:Qa,_fnFeatureHtmlLength:mb,_fnFeatureHtmlPaginate:rb,_fnPageChange:Sa,_fnFeatureHtmlProcessing:ob,_fnProcessingDisplay:B,_fnFeatureHtmlTable:pb,_fnScrollDraw:Y,_fnApplyToChildren:F, _fnApplyColumnDefs:ib,_fnHungarianMap:V,_fnCamelToHungarian:H,_fnLanguageCompat:O,_fnBrowserDetect:gb,_fnAddData:J,_fnAddTr:ma,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==k?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:y,_fnSetCellData:Ia,_fnSplitObjNotation:Ka,_fnGetObjectDataFn:W,_fnSetObjectDataFn:Q,_fnGetDataMaster:La,_fnClearTable:oa,_fnDeleteIndex:pa,_fnInvalidate:ca,_fnGetRowElements:na,_fnCreateTr:Ja,_fnBuildHead:jb,
_fnCalculateColumnWidths:Fa,_fnThrottle:ta,_fnConvertToWidth:Cb,_fnScrollingWidthAdjust:Eb,_fnGetWidestNode:Db,_fnGetMaxLenString:Fb,_fnStringToCss:s,_fnScrollBarWidth:Gb,_fnSortFlatten:T,_fnSort:kb,_fnSortAria:Ib,_fnSortListener:Ta,_fnSortAttachListener:Na,_fnSortingClasses:wa,_fnSortData:Hb,_fnSaveState:xa,_fnLoadState:Jb,_fnSettingsFromNode:ya,_fnLog:R,_fnMap:D,_fnBindAction:Ua,_fnCallbackReg:x,_fnCallbackFire:u,_fnLengthOverflow:Ra,_fnRenderer:Oa,_fnDataSource:A,_fnRowAttributes:La,_fnCalculateEnd:function(){}}); _fnDrawHead:ea,_fnDraw:M,_fnReDraw:N,_fnAddOptionsHtml:mb,_fnDetectHeader:da,_fnGetUniqueThs:qa,_fnFeatureHtmlFilter:ob,_fnFilterComplete:fa,_fnFilterCustom:xb,_fnFilterColumn:wb,_fnFilter:vb,_fnFilterCreateSearch:Qa,_fnEscapeRegex:va,_fnFilterData:yb,_fnFeatureHtmlInfo:rb,_fnUpdateInfo:Bb,_fnInfoMacros:Cb,_fnInitialise:ga,_fnInitComplete:ta,_fnLengthChange:Ra,_fnFeatureHtmlLength:nb,_fnFeatureHtmlPaginate:sb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:pb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:qb,
g.fn.dataTable=p;g.fn.dataTableSettings=p.settings;g.fn.dataTableExt=p.ext;g.fn.DataTable=function(a){return g(this).dataTable(a).api()};g.each(p,function(a,b){g.fn.DataTable[a]=b});return g.fn.dataTable};"function"===typeof define&&define.amd?define("datatables",["jquery"],O):"object"===typeof exports?O(require("jquery")):jQuery&&!jQuery.fn.dataTable&&O(jQuery)})(window,document); _fnScrollDraw:Y,_fnApplyToChildren:G,_fnCalculateColumnWidths:Ga,_fnThrottle:ua,_fnConvertToWidth:Db,_fnScrollingWidthAdjust:Fb,_fnGetWidestNode:Eb,_fnGetMaxLenString:Gb,_fnStringToCss:s,_fnScrollBarWidth:Hb,_fnSortFlatten:T,_fnSort:lb,_fnSortAria:Jb,_fnSortListener:Ua,_fnSortAttachListener:Oa,_fnSortingClasses:xa,_fnSortData:Ib,_fnSaveState:ya,_fnLoadState:Kb,_fnSettingsFromNode:za,_fnLog:R,_fnMap:E,_fnBindAction:Va,_fnCallbackReg:z,_fnCallbackFire:w,_fnLengthOverflow:Sa,_fnRenderer:Pa,_fnDataSource:B,
_fnRowAttributes:Ma,_fnCalculateEnd:function(){}});h.fn.dataTable=m;h.fn.dataTableSettings=m.settings;h.fn.dataTableExt=m.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};h.each(m,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable};"function"===typeof define&&define.amd?define("datatables",["jquery"],O):"object"===typeof exports?module.exports=O(require("jquery")):jQuery&&!jQuery.fn.dataTable&&O(jQuery)})(window,document);

View File

@@ -31,6 +31,6 @@
"commit": "0b924144a95a54fa738d0450ff66c1dabd11ae74" "commit": "0b924144a95a54fa738d0450ff66c1dabd11ae74"
}, },
"_source": "git://github.com/FortAwesome/Font-Awesome.git", "_source": "git://github.com/FortAwesome/Font-Awesome.git",
"_target": "~4.2", "_target": "~4.2.0",
"_originalSource": "font-awesome" "_originalSource": "font-awesome"
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "raphael", "name": "raphael",
"version": "2.1.2", "version": "2.1.4",
"main": "raphael.js", "main": "raphael.js",
"ignore": [ "ignore": [
"eve", "eve",
@@ -17,11 +17,11 @@
"reference.js" "reference.js"
], ],
"homepage": "https://github.com/DmitryBaranovskiy/raphael", "homepage": "https://github.com/DmitryBaranovskiy/raphael",
"_release": "2.1.2", "_release": "2.1.4",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v2.1.2", "tag": "v2.1.4",
"commit": "3331359c102e23dc72a224ba65e4fdec6f20894c" "commit": "a29d980d1f6b0aed9a0f18d751a76e862f5fbc4f"
}, },
"_source": "git://github.com/DmitryBaranovskiy/raphael.git", "_source": "git://github.com/DmitryBaranovskiy/raphael.git",
"_target": ">= 2.0", "_target": ">= 2.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "raphael", "name": "raphael",
"version": "2.1.1", "version": "2.1.4",
"main": "raphael.js", "main": "raphael.js",
"ignore": [ "ignore": [
"eve", "eve",

View File

@@ -1,6 +1,6 @@
require(['../raphael'], function(Raphael){ require(['../raphael'], function(Raphael){
var paper = Raphael(0, 0, 640, 720, "container"); var paper = Raphael(0, 0, 640, 720, "container");
//paper.circle(100, 100, 100); //example
// Work here // Work here
}); });

8
bower_components/raphael/dev/index.js vendored Normal file
View File

@@ -0,0 +1,8 @@
var core = require('./raphael.core');
if(core.svg){
require('./raphael.svg');
}
if(core.vml){
require('./raphael.vml');
}
module.exports = core;

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
// ┌────────────────────────────────────────────────────────────────────┐ \\ // ┌────────────────────────────────────────────────────────────────────┐ \\
// │ Raphaël 2.1.1 - JavaScript Vector Library │ \\ // │ Raphaël 2.1.4 - JavaScript Vector Library │ \\
// ├────────────────────────────────────────────────────────────────────┤ \\ // ├────────────────────────────────────────────────────────────────────┤ \\
// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ // │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\
// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ // │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\
@@ -376,9 +376,9 @@
return "You are running Eve " + version; return "You are running Eve " + version;
}; };
(typeof module != "undefined" && module.exports) ? (module.exports = eve) : (typeof define != "undefined" ? (define("eve", [], function() { return eve; })) : (glob.eve = eve)); (typeof module != "undefined" && module.exports) ? (module.exports = eve) : (typeof define != "undefined" ? (define("eve", [], function() { return eve; })) : (glob.eve = eve));
})(this); })(window || this);
// ┌─────────────────────────────────────────────────────────────────────┐ \\ // ┌─────────────────────────────────────────────────────────────────────┐ \\
// │ "Raphaël 2.1.0" - JavaScript Vector Library │ \\ // │ "Raphaël 2.1.2" - JavaScript Vector Library │ \\
// ├─────────────────────────────────────────────────────────────────────┤ \\ // ├─────────────────────────────────────────────────────────────────────┤ \\
// │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ // │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\
// │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\ // │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\
@@ -395,7 +395,7 @@
} else { } else {
// Browser globals (glob is window) // Browser globals (glob is window)
// Raphael adds itself to window // Raphael adds itself to window
factory(glob, glob.eve); factory(glob, glob.eve || (typeof require == "function" && require('eve')) );
} }
}(this, function (window, eve) { }(this, function (window, eve) {
/*\ /*\
@@ -465,7 +465,7 @@
} }
} }
} }
R.version = "2.1.0"; R.version = "2.1.2";
R.eve = eve; R.eve = eve;
var loaded, var loaded,
separator = /[, ]+/, separator = /[, ]+/,
@@ -546,7 +546,7 @@
objectToString = Object.prototype.toString, objectToString = Object.prototype.toString,
paper = {}, paper = {},
push = "push", push = "push",
ISURL = R._ISURL = /^url\(['"]?([^\)]+?)['"]?\)$/i, ISURL = R._ISURL = /^url\(['"]?(.+?)['"]?\)$/i,
colourRegExp = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i, colourRegExp = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,
isnan = {"NaN": 1, "Infinity": 1, "-Infinity": 1}, isnan = {"NaN": 1, "Infinity": 1, "-Infinity": 1},
bezierrg = /^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/, bezierrg = /^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,
@@ -771,7 +771,7 @@
* Raphael.is * Raphael.is
[ method ] [ method ]
** **
* Handfull replacement for `typeof` operator. * Handful of replacements for `typeof` operator.
> Parameters > Parameters
- o (…) any object or primitive - o (…) any object or primitive
- type (string) name of the type, i.e. “string”, “function”, “number”, etc. - type (string) name of the type, i.e. “string”, “function”, “number”, etc.
@@ -847,11 +847,11 @@
** **
* Transform angle to degrees * Transform angle to degrees
> Parameters > Parameters
- deg (number) angle in radians - rad (number) angle in radians
= (number) angle in degrees. = (number) angle in degrees.
\*/ \*/
R.deg = function (rad) { R.deg = function (rad) {
return rad * 180 / PI % 360; return Math.round ((rad * 180 / PI% 360)* 1000) / 1000;
}; };
/*\ /*\
* Raphael.snapTo * Raphael.snapTo
@@ -1070,8 +1070,8 @@
if (this.is(h, "object") && "h" in h && "s" in h && "b" in h) { if (this.is(h, "object") && "h" in h && "s" in h && "b" in h) {
v = h.b; v = h.b;
s = h.s; s = h.s;
h = h.h;
o = h.o; o = h.o;
h = h.h;
} }
h *= 360; h *= 360;
var R, G, B, X, C; var R, G, B, X, C;
@@ -2362,11 +2362,11 @@
attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null}, attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},
attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null}, attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},
processPath = function (path, d, pcom) { processPath = function (path, d, pcom) {
var nx, ny; var nx, ny, tq = {T:1, Q:1};
if (!path) { if (!path) {
return ["C", d.x, d.y, d.x, d.y, d.x, d.y]; return ["C", d.x, d.y, d.x, d.y, d.x, d.y];
} }
!(path[0] in {T:1, Q:1}) && (d.qx = d.qy = null); !(path[0] in tq) && (d.qx = d.qy = null);
switch (path[0]) { switch (path[0]) {
case "M": case "M":
d.X = path[1]; d.X = path[1];
@@ -2422,6 +2422,8 @@
pp[i].shift(); pp[i].shift();
var pi = pp[i]; var pi = pp[i];
while (pi.length) { while (pi.length) {
pcoms1[i]="A"; // if created multiple C:s, their original seg is saved
p2 && (pcoms2[i]="A"); // the same as above
pp.splice(i++, 0, ["C"][concat](pi.splice(0, 6))); pp.splice(i++, 0, ["C"][concat](pi.splice(0, 6)));
} }
pp.splice(i, 1); pp.splice(i, 1);
@@ -2437,12 +2439,40 @@
a1.y = path1[i][2]; a1.y = path1[i][2];
ii = mmax(p.length, p2 && p2.length || 0); ii = mmax(p.length, p2 && p2.length || 0);
} }
}; },
pcoms1 = [], // path commands of original path p
pcoms2 = [], // path commands of original path p2
pfirst = "", // temporary holder for original path command
pcom = ""; // holder for previous path command of original path
for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0); i < ii; i++) { for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0); i < ii; i++) {
p[i] = processPath(p[i], attrs); p[i] && (pfirst = p[i][0]); // save current path command
fixArc(p, i);
p2 && (p2[i] = processPath(p2[i], attrs2)); if (pfirst != "C") // C is not saved yet, because it may be result of conversion
p2 && fixArc(p2, i); {
pcoms1[i] = pfirst; // Save current path command
i && ( pcom = pcoms1[i-1]); // Get previous path command pcom
}
p[i] = processPath(p[i], attrs, pcom); // Previous path command is inputted to processPath
if (pcoms1[i] != "A" && pfirst == "C") pcoms1[i] = "C"; // A is the only command
// which may produce multiple C:s
// so we have to make sure that C is also C in original path
fixArc(p, i); // fixArc adds also the right amount of A:s to pcoms1
if (p2) { // the same procedures is done to p2
p2[i] && (pfirst = p2[i][0]);
if (pfirst != "C")
{
pcoms2[i] = pfirst;
i && (pcom = pcoms2[i-1]);
}
p2[i] = processPath(p2[i], attrs2, pcom);
if (pcoms2[i]!="A" && pfirst=="C") pcoms2[i]="C";
fixArc(p2, i);
}
fixM(p, p2, attrs, attrs2, i); fixM(p, p2, attrs, attrs2, i);
fixM(p2, p, attrs2, attrs, i); fixM(p2, p, attrs2, attrs, i);
var seg = p[i], var seg = p[i],
@@ -3125,7 +3155,7 @@
obj.removeEventListener(type, f, false); obj.removeEventListener(type, f, false);
if (supportsTouch && touchMap[type]) if (supportsTouch && touchMap[type])
obj.removeEventListener(touchMap[type], f, false); obj.removeEventListener(touchMap[type], _f, false);
return true; return true;
}; };
@@ -3848,6 +3878,21 @@
delete this.__set__; delete this.__set__;
return out; return out;
}; };
/*\
* Paper.getSize
[ method ]
**
* Obtains current paper actual size.
**
= (object)
\*/
paperproto.getSize = function () {
var container = this.canvas.parentNode;
return {
width: container.offsetWidth,
height: container.offsetHeight
};
};
/*\ /*\
* Paper.setSize * Paper.setSize
[ method ] [ method ]
@@ -4982,7 +5027,21 @@
p[attr] = params[attr]; p[attr] = params[attr];
} }
if (!json) { if (!json) {
return new Animation(params, ms); // if percent-like syntax is used and end-of-all animation callback used
if(callback){
// find the last one
var lastKey = 0;
for(var i in params){
var percent = toInt(i);
if(params[has](i) && percent > lastKey){
lastKey = percent;
}
}
lastKey += '%';
// if already defined callback in the last keyframe, skip
!params[lastKey].callback && (params[lastKey].callback = callback);
}
return new Animation(params, ms);
} else { } else {
easing && (p.easing = easing); easing && (p.easing = easing);
callback && (p.callback = callback); callback && (p.callback = callback);
@@ -5254,7 +5313,7 @@
* Set.clear * Set.clear
[ method ] [ method ]
** **
* Removeds all elements from the set * Removes all elements from the set
\*/ \*/
setproto.clear = function () { setproto.clear = function () {
while (this.length) { while (this.length) {
@@ -5412,7 +5471,6 @@
var isPointInside = false; var isPointInside = false;
this.forEach(function (el) { this.forEach(function (el) {
if (el.isPointInside(x, y)) { if (el.isPointInside(x, y)) {
console.log('runned');
isPointInside = true; isPointInside = true;
return false; // stop loop return false; // stop loop
} }
@@ -5732,6 +5790,11 @@
| paper.set(paper.circle(100, 100, 20), paper.circle(110, 100, 20)).red(); | paper.set(paper.circle(100, 100, 20), paper.circle(110, 100, 20)).red();
\*/ \*/
R.st = setproto; R.st = setproto;
eve.on("raphael.DOMload", function () {
loaded = true;
});
// Firefox <3.6 fix: http://webreflection.blogspot.com/2009/11/195-chars-to-help-lazy-loading.html // Firefox <3.6 fix: http://webreflection.blogspot.com/2009/11/195-chars-to-help-lazy-loading.html
(function (doc, loaded, f) { (function (doc, loaded, f) {
if (doc.readyState == null && doc.addEventListener){ if (doc.readyState == null && doc.addEventListener){
@@ -5747,10 +5810,6 @@
isLoaded(); isLoaded();
})(document, "DOMContentLoaded"); })(document, "DOMContentLoaded");
eve.on("raphael.DOMload", function () {
loaded = true;
});
// ┌─────────────────────────────────────────────────────────────────────┐ \\ // ┌─────────────────────────────────────────────────────────────────────┐ \\
// │ Raphaël - JavaScript Vector Library │ \\ // │ Raphaël - JavaScript Vector Library │ \\
// ├─────────────────────────────────────────────────────────────────────┤ \\ // ├─────────────────────────────────────────────────────────────────────┤ \\
@@ -5883,7 +5942,7 @@
} }
} }
$(o, { $(o, {
fill: "url(#" + id + ")", fill: "url('" + document.location + "#" + id + "')",
opacity: 1, opacity: 1,
"fill-opacity": 1 "fill-opacity": 1
}); });
@@ -5960,7 +6019,7 @@
} }
if (type != "none") { if (type != "none") {
var pathId = "raphael-marker-" + type, var pathId = "raphael-marker-" + type,
markerId = "raphael-marker-" + se + type + w + h; markerId = "raphael-marker-" + se + type + w + h + "-obj" + o.id;
if (!R._g.doc.getElementById(pathId)) { if (!R._g.doc.getElementById(pathId)) {
p.defs.appendChild($($("path"), { p.defs.appendChild($($("path"), {
"stroke-linecap": "round", "stroke-linecap": "round",
@@ -6078,13 +6137,20 @@
case "blur": case "blur":
o.blur(value); o.blur(value);
break; break;
case "href":
case "title": case "title":
var hl = $("title"); var title = node.getElementsByTagName("title");
var val = R._g.doc.createTextNode(value);
hl.appendChild(val); // Use the existing <title>.
node.appendChild(hl); if (title.length && (title = title[0])) {
title.firstChild.nodeValue = value;
} else {
title = $("title");
var val = R._g.doc.createTextNode(value);
title.appendChild(val);
node.appendChild(title);
}
break; break;
case "href":
case "target": case "target":
var pn = node.parentNode; var pn = node.parentNode;
if (pn.tagName.toLowerCase() != "a") { if (pn.tagName.toLowerCase() != "a") {
@@ -6210,9 +6276,6 @@
if (o._.sx != 1 || o._.sy != 1) { if (o._.sx != 1 || o._.sy != 1) {
value /= mmax(abs(o._.sx), abs(o._.sy)) || 1; value /= mmax(abs(o._.sx), abs(o._.sy)) || 1;
} }
if (o.paper._vbSize) {
value *= o.paper._vbSize;
}
node.setAttribute(att, value); node.setAttribute(att, value);
if (attrs["stroke-dasharray"]) { if (attrs["stroke-dasharray"]) {
addDashes(o, attrs["stroke-dasharray"], params); addDashes(o, attrs["stroke-dasharray"], params);
@@ -6353,6 +6416,13 @@
dif = a.y - (bb.y + bb.height / 2); dif = a.y - (bb.y + bb.height / 2);
dif && R.is(dif, "finite") && $(tspans[0], {dy: dif}); dif && R.is(dif, "finite") && $(tspans[0], {dy: dif});
}, },
getRealNode = function (node) {
if (node.parentNode && node.parentNode.tagName.toLowerCase() === "a") {
return node.parentNode;
} else {
return node;
}
},
Element = function (node, svg) { Element = function (node, svg) {
var X = 0, var X = 0,
Y = 0; Y = 0;
@@ -6388,7 +6458,7 @@
* Element.id * Element.id
[ property (number) ] [ property (number) ]
** **
* Unique id of the element. Especially usesful when you want to listen to events of the element, * Unique id of the element. Especially useful when you want to listen to events of the element,
* because all events are fired in format `<module>.<action>.<id>`. Also useful for @Paper.getById method. * because all events are fired in format `<module>.<action>.<id>`. Also useful for @Paper.getById method.
\*/ \*/
this.id = R._oid++; this.id = R._oid++;
@@ -6630,7 +6700,8 @@
* Removes element from the paper. * Removes element from the paper.
\*/ \*/
elproto.remove = function () { elproto.remove = function () {
if (this.removed || !this.node.parentNode) { var node = getRealNode(this.node);
if (this.removed || !node.parentNode) {
return; return;
} }
var paper = this.paper; var paper = this.paper;
@@ -6640,11 +6711,12 @@
paper.defs.removeChild(this.gradient); paper.defs.removeChild(this.gradient);
} }
R._tear(this, paper); R._tear(this, paper);
if (this.node.parentNode.tagName.toLowerCase() == "a") {
this.node.parentNode.parentNode.removeChild(this.node.parentNode); node.parentNode.removeChild(node);
} else {
this.node.parentNode.removeChild(this.node); // Remove custom data for element
} this.removeData();
for (var i in this) { for (var i in this) {
this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null; this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
} }
@@ -6655,13 +6727,35 @@
this.show(); this.show();
var hide = true; var hide = true;
} }
var canvasHidden = false,
containerStyle;
if (this.paper.canvas.parentElement) {
containerStyle = this.paper.canvas.parentElement.style;
} //IE10+ can't find parentElement
else if (this.paper.canvas.parentNode) {
containerStyle = this.paper.canvas.parentNode.style;
}
if(containerStyle && containerStyle.display == "none") {
canvasHidden = true;
containerStyle.display = "";
}
var bbox = {}; var bbox = {};
try { try {
bbox = this.node.getBBox(); bbox = this.node.getBBox();
} catch(e) { } catch(e) {
// Firefox 3.0.x plays badly here // Firefox 3.0.x, 25.0.1 (probably more versions affected) play badly here - possible fix
bbox = {
x: this.node.clientLeft,
y: this.node.clientTop,
width: this.node.clientWidth,
height: this.node.clientHeight
}
} finally { } finally {
bbox = bbox || {}; bbox = bbox || {};
if(canvasHidden){
containerStyle.display = "none";
}
} }
hide && this.hide(); hide && this.hide();
return bbox; return bbox;
@@ -6818,11 +6912,8 @@
if (this.removed) { if (this.removed) {
return this; return this;
} }
if (this.node.parentNode.tagName.toLowerCase() == "a") { var node = getRealNode(this.node);
this.node.parentNode.parentNode.appendChild(this.node.parentNode); node.parentNode.appendChild(node);
} else {
this.node.parentNode.appendChild(this.node);
}
var svg = this.paper; var svg = this.paper;
svg.top != this && R._tofront(this, svg); svg.top != this && R._tofront(this, svg);
return this; return this;
@@ -6838,12 +6929,9 @@
if (this.removed) { if (this.removed) {
return this; return this;
} }
var parent = this.node.parentNode; var node = getRealNode(this.node);
if (parent.tagName.toLowerCase() == "a") { var parentNode = node.parentNode;
parent.parentNode.insertBefore(this.node.parentNode, this.node.parentNode.parentNode.firstChild); parentNode.insertBefore(node, parentNode.firstChild);
} else if (parent.firstChild != this.node) {
parent.insertBefore(this.node, this.node.parentNode.firstChild);
}
R._toback(this, this.paper); R._toback(this, this.paper);
var svg = this.paper; var svg = this.paper;
return this; return this;
@@ -6856,14 +6944,16 @@
= (object) @Element = (object) @Element
\*/ \*/
elproto.insertAfter = function (element) { elproto.insertAfter = function (element) {
if (this.removed) { if (this.removed || !element) {
return this; return this;
} }
var node = element.node || element[element.length - 1].node;
if (node.nextSibling) { var node = getRealNode(this.node);
node.parentNode.insertBefore(this.node, node.nextSibling); var afterNode = getRealNode(element.node || element[element.length - 1].node);
if (afterNode.nextSibling) {
afterNode.parentNode.insertBefore(node, afterNode.nextSibling);
} else { } else {
node.parentNode.appendChild(this.node); afterNode.parentNode.appendChild(node);
} }
R._insertafter(this, element, this.paper); R._insertafter(this, element, this.paper);
return this; return this;
@@ -6876,11 +6966,13 @@
= (object) @Element = (object) @Element
\*/ \*/
elproto.insertBefore = function (element) { elproto.insertBefore = function (element) {
if (this.removed) { if (this.removed || !element) {
return this; return this;
} }
var node = element.node || element[0].node;
node.parentNode.insertBefore(this.node, node); var node = getRealNode(this.node);
var beforeNode = getRealNode(element.node || element[0].node);
beforeNode.parentNode.insertBefore(node, beforeNode);
R._insertbefore(this, element, this.paper); R._insertbefore(this, element, this.paper);
return this; return this;
}; };
@@ -6920,7 +7012,7 @@
var el = $("rect"); var el = $("rect");
svg.canvas && svg.canvas.appendChild(el); svg.canvas && svg.canvas.appendChild(el);
var res = new Element(el, svg); var res = new Element(el, svg);
res.attrs = {x: x, y: y, width: w, height: h, r: r || 0, rx: r || 0, ry: r || 0, fill: "none", stroke: "#000"}; res.attrs = {x: x, y: y, width: w, height: h, rx: r || 0, ry: r || 0, fill: "none", stroke: "#000"};
res.type = "rect"; res.type = "rect";
$(el, res.attrs); $(el, res.attrs);
return res; return res;
@@ -6953,7 +7045,8 @@
y: y, y: y,
"text-anchor": "middle", "text-anchor": "middle",
text: text, text: text,
font: R._availableAttrs.font, "font-family": R._availableAttrs["font-family"],
"font-size": R._availableAttrs["font-size"],
stroke: "none", stroke: "none",
fill: "#000" fill: "#000"
}; };
@@ -6992,7 +7085,8 @@
height: height, height: height,
version: 1.1, version: 1.1,
width: width, width: width,
xmlns: "http://www.w3.org/2000/svg" xmlns: "http://www.w3.org/2000/svg",
"xmlns:xlink": "http://www.w3.org/1999/xlink"
}); });
if (container == 1) { if (container == 1) {
cnvs.style.cssText = css + "position:absolute;left:" + x + "px;top:" + y + "px"; cnvs.style.cssText = css + "position:absolute;left:" + x + "px;top:" + y + "px";
@@ -7018,9 +7112,10 @@
}; };
R._engine.setViewBox = function (x, y, w, h, fit) { R._engine.setViewBox = function (x, y, w, h, fit) {
eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]); eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]);
var size = mmax(w / this.width, h / this.height), var paperSize = this.getSize(),
size = mmax(w / paperSize.width, h / paperSize.height),
top = this.top, top = this.top,
aspectRatio = fit ? "meet" : "xMinYMin", aspectRatio = fit ? "xMidYMid meet" : "xMinYMin",
vb, vb,
sw; sw;
if (x == null) { if (x == null) {
@@ -7154,7 +7249,7 @@
bites = /([clmz]),?([^clmz]*)/gi, bites = /([clmz]),?([^clmz]*)/gi,
blurregexp = / progid:\S+Blur\([^\)]+\)/g, blurregexp = / progid:\S+Blur\([^\)]+\)/g,
val = /-?[^,\s-]+/g, val = /-?[^,\s-]+/g,
cssDot = "position:absolute;left:0;top:0;width:1px;height:1px", cssDot = "position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)",
zoom = 21600, zoom = 21600,
pathTypes = {path: 1, rect: 1, image: 1}, pathTypes = {path: 1, rect: 1, image: 1},
ovalTypes = {circle: 1, ellipse: 1}, ovalTypes = {circle: 1, ellipse: 1},
@@ -7298,6 +7393,7 @@
"blur" in params && o.blur(params.blur); "blur" in params && o.blur(params.blur);
if (params.path && o.type == "path" || newpath) { if (params.path && o.type == "path" || newpath) {
node.path = path2vml(~Str(a.path).toLowerCase().indexOf("r") ? R._pathToAbsolute(a.path) : a.path); node.path = path2vml(~Str(a.path).toLowerCase().indexOf("r") ? R._pathToAbsolute(a.path) : a.path);
o._.dirty = 1;
if (o.type == "image") { if (o.type == "image") {
o._.fillpos = [a.x, a.y]; o._.fillpos = [a.x, a.y];
o._.fillsize = [a.width, a.height]; o._.fillsize = [a.width, a.height];
@@ -7433,7 +7529,7 @@
params["stroke-linejoin"] && (stroke.joinstyle = params["stroke-linejoin"] || "miter"); params["stroke-linejoin"] && (stroke.joinstyle = params["stroke-linejoin"] || "miter");
stroke.miterlimit = params["stroke-miterlimit"] || 8; stroke.miterlimit = params["stroke-miterlimit"] || 8;
params["stroke-linecap"] && (stroke.endcap = params["stroke-linecap"] == "butt" ? "flat" : params["stroke-linecap"] == "square" ? "square" : "round"); params["stroke-linecap"] && (stroke.endcap = params["stroke-linecap"] == "butt" ? "flat" : params["stroke-linecap"] == "square" ? "square" : "round");
if (params["stroke-dasharray"]) { if ("stroke-dasharray" in params) {
var dasharray = { var dasharray = {
"-": "shortdash", "-": "shortdash",
".": "shortdot", ".": "shortdot",
@@ -7623,7 +7719,10 @@
skew.matrix = Str(matrix); skew.matrix = Str(matrix);
skew.offset = matrix.offset(); skew.offset = matrix.offset();
} }
oldt && (this._.transform = oldt); if (oldt !== null) { // empty string value is true as well
this._.transform = oldt;
R._extractTransform(this, oldt);
}
return this; return this;
}; };
elproto.rotate = function (deg, cx, cy) { elproto.rotate = function (deg, cx, cy) {
@@ -7699,6 +7798,26 @@
!this.removed && (this.node.style.display = E); !this.removed && (this.node.style.display = E);
return this; return this;
}; };
// Needed to fix the vml setViewBox issues
elproto.auxGetBBox = R.el.getBBox;
elproto.getBBox = function(){
var b = this.auxGetBBox();
if (this.paper && this.paper._viewBoxShift)
{
var c = {};
var z = 1/this.paper._viewBoxShift.scale;
c.x = b.x - this.paper._viewBoxShift.dx;
c.x *= z;
c.y = b.y - this.paper._viewBoxShift.dy;
c.y *= z;
c.width = b.width * z;
c.height = b.height * z;
c.x2 = c.x + c.width;
c.y2 = c.y + c.height;
return c;
}
return b;
};
elproto._getBBox = function () { elproto._getBBox = function () {
if (this.removed) { if (this.removed) {
return {}; return {};
@@ -7988,9 +8107,9 @@
}; };
R._engine.setViewBox = function (x, y, w, h, fit) { R._engine.setViewBox = function (x, y, w, h, fit) {
R.eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]); R.eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]);
var width = this.width, var paperSize = this.getSize(),
height = this.height, width = paperSize.width,
size = 1 / mmax(w / width, h / height), height = paperSize.height,
H, W; H, W;
if (fit) { if (fit) {
H = height / h; H = height / h;
@@ -8006,7 +8125,7 @@
this._viewBoxShift = { this._viewBoxShift = {
dx: -x, dx: -x,
dy: -y, dy: -y,
scale: size scale: paperSize
}; };
this.forEach(function (el) { this.forEach(function (el) {
el.transform("..."); el.transform("...");
@@ -8016,7 +8135,13 @@
var createNode; var createNode;
R._engine.initWin = function (win) { R._engine.initWin = function (win) {
var doc = win.document; var doc = win.document;
doc.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)"); if (doc.styleSheets.length < 31) {
doc.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)");
} else {
// no more room, add to the existing one
// http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx
doc.styleSheets[0].addRule(".rvml", "behavior:url(#default#VML)");
}
try { try {
!doc.namespaces.rvml && doc.namespaces.add("rvml", "urn:schemas-microsoft-com:vml"); !doc.namespaces.rvml && doc.namespaces.add("rvml", "urn:schemas-microsoft-com:vml");
createNode = function (tagName) { createNode = function (tagName) {
@@ -8107,5 +8232,8 @@
// Even with AMD, Raphael should be defined globally // Even with AMD, Raphael should be defined globally
oldRaphael.was ? (g.win.Raphael = R) : (Raphael = R); oldRaphael.was ? (g.win.Raphael = R) : (Raphael = R);
if(typeof exports == "object"){
module.exports = R;
}
return R; return R;
})); }));

View File

@@ -379,7 +379,7 @@
<div class="col-lg-12"> <div class="col-lg-12">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
All available icons All available icons (font-awesome)
</div> </div>
<div class="panel-body"> <div class="panel-body">
<div class="row"> <div class="row">
@@ -906,6 +906,291 @@
<!-- /.col-lg-12 --> <!-- /.col-lg-12 -->
</div> </div>
<!-- /.row --> <!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
All available icons (bootstrap)
</div>
<div class="panel-body">
<div class="row">
<div class="bs-glyphicons col-lg-4">
<span class="glyphicon glyphicon-asterisk"> glyphicon-asterisk </span><br/>
<span class="glyphicon glyphicon-plus"> glyphicon-plus </span><br/>
<span class="glyphicon glyphicon-euro"> glyphicon-euro </span><br/>
<span class="glyphicon glyphicon-eur"> glyphicon-eur </span><br/>
<span class="glyphicon glyphicon-minus"> glyphicon-minus </span><br/>
<span class="glyphicon glyphicon-cloud"> glyphicon-cloud </span><br/>
<span class="glyphicon glyphicon-envelope"> glyphicon-envelope </span><br/>
<span class="glyphicon glyphicon-pencil"> glyphicon-pencil </span><br/>
<span class="glyphicon glyphicon-glass"> glyphicon-glass </span><br/>
<span class="glyphicon glyphicon-music"> glyphicon-music </span><br/>
<span class="glyphicon glyphicon-search"> glyphicon-search </span><br/>
<span class="glyphicon glyphicon-heart"> glyphicon-heart </span><br/>
<span class="glyphicon glyphicon-star"> glyphicon-star </span><br/>
<span class="glyphicon glyphicon-star-empty"> glyphicon-star-empty </span><br/>
<span class="glyphicon glyphicon-user"> glyphicon-user </span><br/>
<span class="glyphicon glyphicon-film"> glyphicon-film </span><br/>
<span class="glyphicon glyphicon-th-large"> glyphicon-th-large </span><br/>
<span class="glyphicon glyphicon-th"> glyphicon-th </span><br/>
<span class="glyphicon glyphicon-th-list"> glyphicon-th-list </span><br/>
<span class="glyphicon glyphicon-ok"> glyphicon-ok </span><br/>
<span class="glyphicon glyphicon-remove"> glyphicon-remove </span><br/>
<span class="glyphicon glyphicon-zoom-in"> glyphicon-zoom-in </span><br/>
<span class="glyphicon glyphicon-zoom-out"> glyphicon-zoom-out </span><br/>
<span class="glyphicon glyphicon-off"> glyphicon-off </span><br/>
<span class="glyphicon glyphicon-signal"> glyphicon-signal </span><br/>
<span class="glyphicon glyphicon-cog"> glyphicon-cog </span><br/>
<span class="glyphicon glyphicon-trash"> glyphicon-trash </span><br/>
<span class="glyphicon glyphicon-home"> glyphicon-home </span><br/>
<span class="glyphicon glyphicon-file"> glyphicon-file </span><br/>
<span class="glyphicon glyphicon-time"> glyphicon-time </span><br/>
<span class="glyphicon glyphicon-road"> glyphicon-road </span><br/>
<span class="glyphicon glyphicon-download-alt"> glyphicon-download-alt </span><br/>
<span class="glyphicon glyphicon-download"> glyphicon-download </span><br/>
<span class="glyphicon glyphicon-upload"> glyphicon-upload </span><br/>
<span class="glyphicon glyphicon-inbox"> glyphicon-inbox </span><br/>
<span class="glyphicon glyphicon-play-circle"> glyphicon-play-circle </span><br/>
<span class="glyphicon glyphicon-repeat"> glyphicon-repeat </span><br/>
<span class="glyphicon glyphicon-refresh"> glyphicon-refresh </span><br/>
<span class="glyphicon glyphicon-list-alt"> glyphicon-list-alt </span><br/>
<span class="glyphicon glyphicon-lock"> glyphicon-lock </span><br/>
<span class="glyphicon glyphicon-flag"> glyphicon-flag </span><br/>
<span class="glyphicon glyphicon-headphones"> glyphicon-headphones </span><br/>
<span class="glyphicon glyphicon-volume-off"> glyphicon-volume-off </span><br/>
<span class="glyphicon glyphicon-volume-down"> glyphicon-volume-down </span><br/>
<span class="glyphicon glyphicon-volume-up"> glyphicon-volume-up </span><br/>
<span class="glyphicon glyphicon-qrcode"> glyphicon-qrcode </span><br/>
<span class="glyphicon glyphicon-barcode"> glyphicon-barcode </span><br/>
<span class="glyphicon glyphicon-tag"> glyphicon-tag </span><br/>
<span class="glyphicon glyphicon-tags"> glyphicon-tags </span><br/>
<span class="glyphicon glyphicon-book"> glyphicon-book </span><br/>
<span class="glyphicon glyphicon-bookmark"> glyphicon-bookmark </span><br/>
<span class="glyphicon glyphicon-print"> glyphicon-print </span><br/>
<span class="glyphicon glyphicon-camera"> glyphicon-camera </span><br/>
<span class="glyphicon glyphicon-font"> glyphicon-font </span><br/>
<span class="glyphicon glyphicon-bold"> glyphicon-bold </span><br/>
<span class="glyphicon glyphicon-italic"> glyphicon-italic </span><br/>
<span class="glyphicon glyphicon-text-height"> glyphicon-text-height </span><br/>
<span class="glyphicon glyphicon-text-width"> glyphicon-text-width </span><br/>
<span class="glyphicon glyphicon-align-left"> glyphicon-align-left </span><br/>
<span class="glyphicon glyphicon-align-center"> glyphicon-align-center </span><br/>
<span class="glyphicon glyphicon-align-right"> glyphicon-align-right </span><br/>
<span class="glyphicon glyphicon-align-justify"> glyphicon-align-justify </span><br/>
<span class="glyphicon glyphicon-list"> glyphicon-list </span><br/>
<span class="glyphicon glyphicon-indent-left"> glyphicon-indent-left </span><br/>
<span class="glyphicon glyphicon-indent-right"> glyphicon-indent-right </span><br/>
<span class="glyphicon glyphicon-facetime-video"> glyphicon-facetime-video </span><br/>
<span class="glyphicon glyphicon-picture"> glyphicon-picture </span><br/>
<span class="glyphicon glyphicon-map-marker"> glyphicon-map-marker </span><br/>
<span class="glyphicon glyphicon-adjust"> glyphicon-adjust </span><br/>
<span class="glyphicon glyphicon-tint"> glyphicon-tint </span><br/>
<span class="glyphicon glyphicon-edit"> glyphicon-edit </span><br/>
<span class="glyphicon glyphicon-share"> glyphicon-share </span><br/>
<span class="glyphicon glyphicon-check"> glyphicon-check </span><br/>
<span class="glyphicon glyphicon-move"> glyphicon-move </span><br/>
<span class="glyphicon glyphicon-step-backward"> glyphicon-step-backward </span><br/>
<span class="glyphicon glyphicon-fast-backward"> glyphicon-fast-backward </span><br/>
<span class="glyphicon glyphicon-backward"> glyphicon-backward </span><br/>
<span class="glyphicon glyphicon-play"> glyphicon-play </span><br/>
<span class="glyphicon glyphicon-pause"> glyphicon-pause </span><br/>
<span class="glyphicon glyphicon-stop"> glyphicon-stop </span><br/>
<span class="glyphicon glyphicon-forward"> glyphicon-forward </span><br/>
<span class="glyphicon glyphicon-fast-forward"> glyphicon-fast-forward </span><br/>
<span class="glyphicon glyphicon-step-forward"> glyphicon-step-forward </span><br/>
<span class="glyphicon glyphicon-eject"> glyphicon-eject </span><br/>
<span class="glyphicon glyphicon-chevron-left"> glyphicon-chevron-left </span><br/>
<span class="glyphicon glyphicon-chevron-right"> glyphicon-chevron-right </span><br/>
<span class="glyphicon glyphicon-plus-sign"> glyphicon-plus-sign </span><br/>
</div>
<div class="bs-glyphicons col-lg-4">
<span class="glyphicon glyphicon-minus-sign"> glyphicon-minus-sign </span><br/>
<span class="glyphicon glyphicon-remove-sign"> glyphicon-remove-sign </span><br/>
<span class="glyphicon glyphicon-ok-sign"> glyphicon-ok-sign </span><br/>
<span class="glyphicon glyphicon-question-sign"> glyphicon-question-sign </span><br/>
<span class="glyphicon glyphicon-info-sign"> glyphicon-info-sign </span><br/>
<span class="glyphicon glyphicon-screenshot"> glyphicon-screenshot </span><br/>
<span class="glyphicon glyphicon-remove-circle"> glyphicon-remove-circle </span><br/>
<span class="glyphicon glyphicon-ok-circle"> glyphicon-ok-circle </span><br/>
<span class="glyphicon glyphicon-ban-circle"> glyphicon-ban-circle </span><br/>
<span class="glyphicon glyphicon-arrow-left"> glyphicon-arrow-left </span><br/>
<span class="glyphicon glyphicon-arrow-right"> glyphicon-arrow-right </span><br/>
<span class="glyphicon glyphicon-arrow-up"> glyphicon-arrow-up </span><br/>
<span class="glyphicon glyphicon-arrow-down"> glyphicon-arrow-down </span><br/>
<span class="glyphicon glyphicon-share-alt"> glyphicon-share-alt </span><br/>
<span class="glyphicon glyphicon-resize-full"> glyphicon-resize-full </span><br/>
<span class="glyphicon glyphicon-resize-small"> glyphicon-resize-small </span><br/>
<span class="glyphicon glyphicon-exclamation-sign"> glyphicon-exclamation-sign </span><br/>
<span class="glyphicon glyphicon-gift"> glyphicon-gift </span><br/>
<span class="glyphicon glyphicon-leaf"> glyphicon-leaf </span><br/>
<span class="glyphicon glyphicon-fire"> glyphicon-fire </span><br/>
<span class="glyphicon glyphicon-eye-open"> glyphicon-eye-open </span><br/>
<span class="glyphicon glyphicon-eye-close"> glyphicon-eye-close </span><br/>
<span class="glyphicon glyphicon-warning-sign"> glyphicon-warning-sign </span><br/>
<span class="glyphicon glyphicon-plane"> glyphicon-plane </span><br/>
<span class="glyphicon glyphicon-calendar"> glyphicon-calendar </span><br/>
<span class="glyphicon glyphicon-random"> glyphicon-random </span><br/>
<span class="glyphicon glyphicon-comment"> glyphicon-comment </span><br/>
<span class="glyphicon glyphicon-magnet"> glyphicon-magnet </span><br/>
<span class="glyphicon glyphicon-chevron-up"> glyphicon-chevron-up </span><br/>
<span class="glyphicon glyphicon-chevron-down"> glyphicon-chevron-down </span><br/>
<span class="glyphicon glyphicon-retweet"> glyphicon-retweet </span><br/>
<span class="glyphicon glyphicon-shopping-cart"> glyphicon-shopping-cart </span><br/>
<span class="glyphicon glyphicon-folder-close"> glyphicon-folder-close </span><br/>
<span class="glyphicon glyphicon-folder-open"> glyphicon-folder-open </span><br/>
<span class="glyphicon glyphicon-resize-vertical"> glyphicon-resize-vertical </span><br/>
<span class="glyphicon glyphicon-resize-horizontal"> glyphicon-resize-horizontal </span><br/>
<span class="glyphicon glyphicon-hdd"> glyphicon-hdd </span><br/>
<span class="glyphicon glyphicon-bullhorn"> glyphicon-bullhorn </span><br/>
<span class="glyphicon glyphicon-bell"> glyphicon-bell </span><br/>
<span class="glyphicon glyphicon-certificate"> glyphicon-certificate </span><br/>
<span class="glyphicon glyphicon-thumbs-up"> glyphicon-thumbs-up </span><br/>
<span class="glyphicon glyphicon-thumbs-down"> glyphicon-thumbs-down </span><br/>
<span class="glyphicon glyphicon-hand-right"> glyphicon-hand-right </span><br/>
<span class="glyphicon glyphicon-hand-left"> glyphicon-hand-left </span><br/>
<span class="glyphicon glyphicon-hand-up"> glyphicon-hand-up </span><br/>
<span class="glyphicon glyphicon-hand-down"> glyphicon-hand-down </span><br/>
<span class="glyphicon glyphicon-circle-arrow-right"> glyphicon-circle-arrow-right </span><br/>
<span class="glyphicon glyphicon-circle-arrow-left"> glyphicon-circle-arrow-left </span><br/>
<span class="glyphicon glyphicon-circle-arrow-up"> glyphicon-circle-arrow-up </span><br/>
<span class="glyphicon glyphicon-circle-arrow-down"> glyphicon-circle-arrow-down </span><br/>
<span class="glyphicon glyphicon-globe"> glyphicon-globe </span><br/>
<span class="glyphicon glyphicon-wrench"> glyphicon-wrench </span><br/>
<span class="glyphicon glyphicon-tasks"> glyphicon-tasks </span><br/>
<span class="glyphicon glyphicon-filter"> glyphicon-filter </span><br/>
<span class="glyphicon glyphicon-briefcase"> glyphicon-briefcase </span><br/>
<span class="glyphicon glyphicon-fullscreen"> glyphicon-fullscreen </span><br/>
<span class="glyphicon glyphicon-dashboard"> glyphicon-dashboard </span><br/>
<span class="glyphicon glyphicon-paperclip"> glyphicon-paperclip </span><br/>
<span class="glyphicon glyphicon-heart-empty"> glyphicon-heart-empty </span><br/>
<span class="glyphicon glyphicon-link"> glyphicon-link </span><br/>
<span class="glyphicon glyphicon-phone"> glyphicon-phone </span><br/>
<span class="glyphicon glyphicon-pushpin"> glyphicon-pushpin </span><br/>
<span class="glyphicon glyphicon-usd"> glyphicon-usd </span><br/>
<span class="glyphicon glyphicon-gbp"> glyphicon-gbp </span><br/>
<span class="glyphicon glyphicon-sort"> glyphicon-sort </span><br/>
<span class="glyphicon glyphicon-sort-by-alphabet"> glyphicon-sort-by-alphabet </span><br/>
<span class="glyphicon glyphicon-sort-by-alphabet-alt"> glyphicon-sort-by-alphabet-alt </span><br/>
<span class="glyphicon glyphicon-sort-by-order"> glyphicon-sort-by-order </span><br/>
<span class="glyphicon glyphicon-sort-by-order-alt"> glyphicon-sort-by-order-alt </span><br/>
<span class="glyphicon glyphicon-sort-by-attributes"> glyphicon-sort-by-attributes </span><br/>
<span class="glyphicon glyphicon-sort-by-attributes-alt"> glyphicon-sort-by-attributes-alt </span><br/>
<span class="glyphicon glyphicon-unchecked"> glyphicon-unchecked </span><br/>
<span class="glyphicon glyphicon-expand"> glyphicon-expand </span><br/>
<span class="glyphicon glyphicon-collapse-down"> glyphicon-collapse-down </span><br/>
<span class="glyphicon glyphicon-collapse-up"> glyphicon-collapse-up </span><br/>
<span class="glyphicon glyphicon-log-in"> glyphicon-log-in </span><br/>
<span class="glyphicon glyphicon-flash"> glyphicon-flash </span><br/>
<span class="glyphicon glyphicon-log-out"> glyphicon-log-out </span><br/>
<span class="glyphicon glyphicon-new-window"> glyphicon-new-window </span><br/>
<span class="glyphicon glyphicon-record"> glyphicon-record </span><br/>
<span class="glyphicon glyphicon-save"> glyphicon-save </span><br/>
<span class="glyphicon glyphicon-open"> glyphicon-open </span><br/>
<span class="glyphicon glyphicon-saved"> glyphicon-saved </span><br/>
<span class="glyphicon glyphicon-import"> glyphicon-import </span><br/>
<span class="glyphicon glyphicon-export"> glyphicon-export </span><br/>
<span class="glyphicon glyphicon-send"> glyphicon-send </span><br/>
</div>
<div class="bs-glyphicons col-lg-4">
<span class="glyphicon glyphicon-floppy-disk"> glyphicon-floppy-disk </span><br/>
<span class="glyphicon glyphicon-floppy-saved"> glyphicon-floppy-saved </span><br/>
<span class="glyphicon glyphicon-floppy-remove"> glyphicon-floppy-remove </span><br/>
<span class="glyphicon glyphicon-floppy-save"> glyphicon-floppy-save </span><br/>
<span class="glyphicon glyphicon-floppy-open"> glyphicon-floppy-open </span><br/>
<span class="glyphicon glyphicon-credit-card"> glyphicon-credit-card </span><br/>
<span class="glyphicon glyphicon-transfer"> glyphicon-transfer </span><br/>
<span class="glyphicon glyphicon-cutlery"> glyphicon-cutlery </span><br/>
<span class="glyphicon glyphicon-header"> glyphicon-header </span><br/>
<span class="glyphicon glyphicon-compressed"> glyphicon-compressed </span><br/>
<span class="glyphicon glyphicon-earphone"> glyphicon-earphone </span><br/>
<span class="glyphicon glyphicon-phone-alt"> glyphicon-phone-alt </span><br/>
<span class="glyphicon glyphicon-tower"> glyphicon-tower </span><br/>
<span class="glyphicon glyphicon-stats"> glyphicon-stats </span><br/>
<span class="glyphicon glyphicon-sd-video"> glyphicon-sd-video </span><br/>
<span class="glyphicon glyphicon-hd-video"> glyphicon-hd-video </span><br/>
<span class="glyphicon glyphicon-subtitles"> glyphicon-subtitles </span><br/>
<span class="glyphicon glyphicon-sound-stereo"> glyphicon-sound-stereo </span><br/>
<span class="glyphicon glyphicon-sound-dolby"> glyphicon-sound-dolby </span><br/>
<span class="glyphicon glyphicon-sound-5-1"> glyphicon-sound-5-1 </span><br/>
<span class="glyphicon glyphicon-sound-6-1"> glyphicon-sound-6-1 </span><br/>
<span class="glyphicon glyphicon-sound-7-1"> glyphicon-sound-7-1 </span><br/>
<span class="glyphicon glyphicon-copyright-mark"> glyphicon-copyright-mark </span><br/>
<span class="glyphicon glyphicon-registration-mark"> glyphicon-registration-mark </span><br/>
<span class="glyphicon glyphicon-cloud-download"> glyphicon-cloud-download </span><br/>
<span class="glyphicon glyphicon-cloud-upload"> glyphicon-cloud-upload </span><br/>
<span class="glyphicon glyphicon-tree-conifer"> glyphicon-tree-conifer </span><br/>
<span class="glyphicon glyphicon-tree-deciduous"> glyphicon-tree-deciduous </span><br/>
<span class="glyphicon glyphicon-cd"> glyphicon-cd </span><br/>
<span class="glyphicon glyphicon-save-file"> glyphicon-save-file </span><br/>
<span class="glyphicon glyphicon-open-file"> glyphicon-open-file </span><br/>
<span class="glyphicon glyphicon-level-up"> glyphicon-level-up </span><br/>
<span class="glyphicon glyphicon-copy"> glyphicon-copy </span><br/>
<span class="glyphicon glyphicon-paste"> glyphicon-paste </span><br/>
<span class="glyphicon glyphicon-alert"> glyphicon-alert </span><br/>
<span class="glyphicon glyphicon-equalizer"> glyphicon-equalizer </span><br/>
<span class="glyphicon glyphicon-king"> glyphicon-king </span><br/>
<span class="glyphicon glyphicon-queen"> glyphicon-queen </span><br/>
<span class="glyphicon glyphicon-pawn"> glyphicon-pawn </span><br/>
<span class="glyphicon glyphicon-bishop"> glyphicon-bishop </span><br/>
<span class="glyphicon glyphicon-knight"> glyphicon-knight </span><br/>
<span class="glyphicon glyphicon-baby-formula"> glyphicon-baby-formula </span><br/>
<span class="glyphicon glyphicon-tent"> glyphicon-tent </span><br/>
<span class="glyphicon glyphicon-blackboard"> glyphicon-blackboard </span><br/>
<span class="glyphicon glyphicon-bed"> glyphicon-bed </span><br/>
<span class="glyphicon glyphicon-apple"> glyphicon-apple </span><br/>
<span class="glyphicon glyphicon-erase"> glyphicon-erase </span><br/>
<span class="glyphicon glyphicon-hourglass"> glyphicon-hourglass </span><br/>
<span class="glyphicon glyphicon-lamp"> glyphicon-lamp </span><br/>
<span class="glyphicon glyphicon-duplicate"> glyphicon-duplicate </span><br/>
<span class="glyphicon glyphicon-piggy-bank"> glyphicon-piggy-bank </span><br/>
<span class="glyphicon glyphicon-scissors"> glyphicon-scissors </span><br/>
<span class="glyphicon glyphicon-bitcoin"> glyphicon-bitcoin </span><br/>
<span class="glyphicon glyphicon-yen"> glyphicon-yen </span><br/>
<span class="glyphicon glyphicon-ruble"> glyphicon-ruble </span><br/>
<span class="glyphicon glyphicon-scale"> glyphicon-scale </span><br/>
<span class="glyphicon glyphicon-ice-lolly"> glyphicon-ice-lolly </span><br/>
<span class="glyphicon glyphicon-ice-lolly-tasted"> glyphicon-ice-lolly-tasted </span><br/>
<span class="glyphicon glyphicon-education"> glyphicon-education </span><br/>
<span class="glyphicon glyphicon-option-horizontal"> glyphicon-option-horizontal </span><br/>
<span class="glyphicon glyphicon-option-vertical"> glyphicon-option-vertical </span><br/>
<span class="glyphicon glyphicon-menu-hamburger"> glyphicon-menu-hamburger </span><br/>
<span class="glyphicon glyphicon-modal-window"> glyphicon-modal-window </span><br/>
<span class="glyphicon glyphicon-oil"> glyphicon-oil </span><br/>
<span class="glyphicon glyphicon-grain"> glyphicon-grain </span><br/>
<span class="glyphicon glyphicon-sunglasses"> glyphicon-sunglasses </span><br/>
<span class="glyphicon glyphicon-text-size"> glyphicon-text-size </span><br/>
<span class="glyphicon glyphicon-text-color"> glyphicon-text-color </span><br/>
<span class="glyphicon glyphicon-text-background"> glyphicon-text-background </span><br/>
<span class="glyphicon glyphicon-object-align-top"> glyphicon-object-align-top </span><br/>
<span class="glyphicon glyphicon-object-align-bottom"> glyphicon-object-align-bottom </span><br/>
<span class="glyphicon glyphicon-object-align-horizontal"> glyphicon-object-align-horizontal </span><br/>
<span class="glyphicon glyphicon-object-align-left"> glyphicon-object-align-left </span><br/>
<span class="glyphicon glyphicon-object-align-vertical"> glyphicon-object-align-vertical </span><br/>
<span class="glyphicon glyphicon-object-align-right"> glyphicon-object-align-right </span><br/>
<span class="glyphicon glyphicon-triangle-right"> glyphicon-triangle-right </span><br/>
<span class="glyphicon glyphicon-triangle-left"> glyphicon-triangle-left </span><br/>
<span class="glyphicon glyphicon-triangle-bottom"> glyphicon-triangle-bottom </span><br/>
<span class="glyphicon glyphicon-triangle-top"> glyphicon-triangle-top </span><br/>
<span class="glyphicon glyphicon-console"> glyphicon-console </span><br/>
<span class="glyphicon glyphicon-superscript"> glyphicon-superscript </span><br/>
<span class="glyphicon glyphicon-subscript"> glyphicon-subscript </span><br/>
<span class="glyphicon glyphicon-menu-left"> glyphicon-menu-left </span><br/>
<span class="glyphicon glyphicon-menu-right"> glyphicon-menu-right </span><br/>
<span class="glyphicon glyphicon-menu-down"> glyphicon-menu-down </span><br/>
<span class="glyphicon glyphicon-menu-up"> glyphicon-menu-up </span><br/>
</div>
<!-- /.col-lg-6 (nested) -->
</div>
<!-- /.row (nested) -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
</div> </div>
<!-- /#page-wrapper --> <!-- /#page-wrapper -->

View File

@@ -1125,7 +1125,7 @@
<script src="../bower_components/metisMenu/dist/metisMenu.min.js"></script> <script src="../bower_components/metisMenu/dist/metisMenu.min.js"></script>
<!-- DataTables JavaScript --> <!-- DataTables JavaScript -->
<script src="../bower_components/DataTables/media/js/jquery.dataTables.min.js"></script> <script src="../bower_components/datatables/media/js/jquery.dataTables.min.js"></script>
<script src="../bower_components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js"></script> <script src="../bower_components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js"></script>
<!-- Custom Theme JavaScript --> <!-- Custom Theme JavaScript -->