added vendor directory and gulp support for better dependency organization and compiling less and js files
removed timeline css and merged it with the theme css and added gulp support for a browser sync task as well for easier development removed composer package until the repo issue is resolved - added minified versions into the bower.json for when the repo issue is resolved
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
node_modules
|
||||||
|
bower_components
|
||||||
@@ -9,6 +9,14 @@ To begin using this template, choose one of the following options to get started
|
|||||||
* Clone the repo: `git clone https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git`
|
* Clone the repo: `git clone https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git`
|
||||||
* Fork the repo
|
* Fork the repo
|
||||||
|
|
||||||
|
## Using the Source Files
|
||||||
|
|
||||||
|
After cloning the repo take a look at the `gulpfile.js` and check out the tasks available:
|
||||||
|
* `gulp` The default task will compile the LESS and JS into the `dist` directory and minify the output, and it will copy all vendor libraries from `bower_components` into the `vendor` directory
|
||||||
|
* `gulp dev` The dev task will serve up a local version of the template and will watch the LESS, JS, and HTML files for changes and reload the browser windo automatically
|
||||||
|
|
||||||
|
To update dependencies, run `bower update` and then run `gulp copy` to copy the updated dependencies into the `vendor` directory
|
||||||
|
|
||||||
## Bugs and Issues
|
## Bugs and Issues
|
||||||
|
|
||||||
Have a bug or an issue with this template? [Open a new issue](https://github.com/BlackrockDigital/startbootstrap-sb-admin-2/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](http://startbootstrap.com/template-overviews/sb-admin-2/).
|
Have a bug or an issue with this template? [Open a new issue](https://github.com/BlackrockDigital/startbootstrap-sb-admin-2/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](http://startbootstrap.com/template-overviews/sb-admin-2/).
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "startbootstrap-sb-admin-2",
|
"name": "startbootstrap-sb-admin-2",
|
||||||
"homepage": "http://startbootstrap.com/template-overviews/sb-admin-2/",
|
"homepage": "http://startbootstrap.com/template-overviews/sb-admin-2/",
|
||||||
"version": "3.3.7",
|
"version": "3.3.7+1",
|
||||||
"authors": [
|
"authors": [
|
||||||
"David Miller"
|
"David Miller"
|
||||||
],
|
],
|
||||||
@@ -23,7 +23,9 @@
|
|||||||
],
|
],
|
||||||
"main": [
|
"main": [
|
||||||
"dist/css/sb-admin-2.css",
|
"dist/css/sb-admin-2.css",
|
||||||
"dist/js/sb-admin-2.js"
|
"dist/css/sb-admin-2.min.css",
|
||||||
|
"dist/js/sb-admin-2.js",
|
||||||
|
"dist/js/sb-admin-2.min.js"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bootstrap": "~3.3.7",
|
"bootstrap": "~3.3.7",
|
||||||
|
|||||||
@@ -19,8 +19,7 @@
|
|||||||
"tag": "4.8.0",
|
"tag": "4.8.0",
|
||||||
"commit": "918fc55c3c938377a7618ec0f115846e50d4b883"
|
"commit": "918fc55c3c938377a7618ec0f115846e50d4b883"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/lipis/bootstrap-social.git",
|
"_source": "https://github.com/lipis/bootstrap-social.git",
|
||||||
"_target": "~4.8.0",
|
"_target": "~4.8.0",
|
||||||
"_originalSource": "bootstrap-social",
|
"_originalSource": "bootstrap-social"
|
||||||
"_direct": true
|
|
||||||
}
|
}
|
||||||
@@ -8,8 +8,7 @@
|
|||||||
"tag": "1.0.1",
|
"tag": "1.0.1",
|
||||||
"commit": "a94e328df63c79af43123b99ada5ff88d601a31d"
|
"commit": "a94e328df63c79af43123b99ada5ff88d601a31d"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/DataTables/Plugins.git",
|
"_source": "https://github.com/DataTables/Plugins.git",
|
||||||
"_target": "~1.0.1",
|
"_target": "~1.0.1",
|
||||||
"_originalSource": "datatables-plugins",
|
"_originalSource": "datatables-plugins"
|
||||||
"_direct": true
|
|
||||||
}
|
}
|
||||||
10
bower_components/datatables/.bower.json
vendored
10
bower_components/datatables/.bower.json
vendored
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "datatables",
|
"name": "datatables",
|
||||||
"version": "1.10.10",
|
|
||||||
"main": [
|
"main": [
|
||||||
"media/js/jquery.dataTables.js",
|
"media/js/jquery.dataTables.js",
|
||||||
"media/css/jquery.dataTables.css",
|
"media/css/jquery.dataTables.css",
|
||||||
@@ -30,13 +29,14 @@
|
|||||||
"package.json"
|
"package.json"
|
||||||
],
|
],
|
||||||
"homepage": "https://github.com/DataTables/DataTables",
|
"homepage": "https://github.com/DataTables/DataTables",
|
||||||
"_release": "1.10.10",
|
"version": "1.10.12",
|
||||||
|
"_release": "1.10.12",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.10.10",
|
"tag": "1.10.12",
|
||||||
"commit": "74fd9c1901fb2b494f8395959a708e6eb8978bbd"
|
"commit": "b31abf704462a45f6ba7db439862d23c8cedc1f4"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/DataTables/DataTables.git",
|
"_source": "https://github.com/DataTables/DataTables.git",
|
||||||
"_target": "~1.10.4",
|
"_target": "~1.10.4",
|
||||||
"_originalSource": "datatables"
|
"_originalSource": "datatables"
|
||||||
}
|
}
|
||||||
12
bower_components/datatables/Readme.md
vendored
12
bower_components/datatables/Readme.md
vendored
@@ -11,9 +11,15 @@ To meet this goal, DataTables is developed with two distinct groups of users in
|
|||||||
* End users. For those using the interface DataTables presents, actions to get the most from the information contained in tables, such as sorting and filtering, along with paging and scrolling of the data in table, are easy to use, intuitive and fast.
|
* End users. For those using the interface DataTables presents, actions to get the most from the information contained in tables, such as sorting and filtering, along with paging and scrolling of the data in table, are easy to use, intuitive and fast.
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## Installing DataTables
|
||||||
|
|
||||||
In most cases, to use DataTables all you need to do is include jQuery, the DataTables Javascript and DataTables CSS files in your HTML page. See the [DataTables manual](http://datatables.net/manual/installation#Including-Javascript-/-CSS) for details on how to do this using the latest version of DataTables.
|
To use DataTables, the primary way to obtain the software is to use the [DataTables downloader](//datatables.net/download). You can also include the individual files from the [DataTables CDN](//cdn.datatables.net). See the [documentation](//datatables.net/manual/installation) for full details.
|
||||||
|
|
||||||
|
### NPM and Bower
|
||||||
|
|
||||||
|
If you prefer to use a package manager such as NPM or Bower, distribution repositories are available with software built from this repository under the name `datatables.net`. Styling packages for Bootstrap, Foundation and other styling libraries are also available by adding a suffix to the package name.
|
||||||
|
|
||||||
|
Please see the DataTables [NPM](//datatables.net/download/npm) and [Bower](//datatables.net/download/bower) installation pages for further information. The [DataTables installation manual](//datatables.net/manual/installation) also has details on how to use package managers with DataTables.
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@@ -40,7 +46,7 @@ A full list of the options available for DataTables are available in the [docume
|
|||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
Full documentation of the DataTables options, API and pug-in interface are available on the [DataTables web-site](//datatables.net). The site also contains information on the wide variety of plug-ins that are available for DataTables, which can be used to enhance and customise your table even further.
|
Full documentation of the DataTables options, API and plug-in interface are available on the [DataTables web-site](//datatables.net). The site also contains information on the wide variety of plug-ins that are available for DataTables, which can be used to enhance and customise your table even further.
|
||||||
|
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|||||||
1
bower_components/datatables/bower.json
vendored
1
bower_components/datatables/bower.json
vendored
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "datatables",
|
"name": "datatables",
|
||||||
"version": "1.10.10",
|
|
||||||
"main": [
|
"main": [
|
||||||
"media/js/jquery.dataTables.js",
|
"media/js/jquery.dataTables.js",
|
||||||
"media/css/jquery.dataTables.css",
|
"media/css/jquery.dataTables.css",
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ table.dataTable {
|
|||||||
margin-top: 6px !important;
|
margin-top: 6px !important;
|
||||||
margin-bottom: 6px !important;
|
margin-bottom: 6px !important;
|
||||||
max-width: none !important;
|
max-width: none !important;
|
||||||
|
border-collapse: separate !important;
|
||||||
}
|
}
|
||||||
table.dataTable td,
|
table.dataTable td,
|
||||||
table.dataTable th {
|
table.dataTable th {
|
||||||
@@ -155,9 +156,6 @@ table.dataTable.table-condensed .sorting_desc:after {
|
|||||||
right: 6px;
|
right: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.table-bordered.dataTable {
|
|
||||||
border-collapse: separate !important;
|
|
||||||
}
|
|
||||||
table.table-bordered.dataTable th,
|
table.table-bordered.dataTable th,
|
||||||
table.table-bordered.dataTable td {
|
table.table-bordered.dataTable td {
|
||||||
border-left-width: 0;
|
border-left-width: 0;
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}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{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable{border-collapse:separate !important}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0}
|
table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}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{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ table.dataTable {
|
|||||||
table.dataTable td,
|
table.dataTable td,
|
||||||
table.dataTable th {
|
table.dataTable th {
|
||||||
-webkit-box-sizing: content-box;
|
-webkit-box-sizing: content-box;
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
}
|
}
|
||||||
table.dataTable td.dataTables_empty,
|
table.dataTable td.dataTables_empty,
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
table.dataTable{clear:both;margin:0.5em 0 !important;max-width:none !important;width:100%}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper{position:relative}div.dataTables_wrapper div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_wrapper div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter input{display:inline-block !important;width:auto !important;margin-bottom:0;margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:2px}div.dataTables_wrapper div.dataTables_paginate{float:right;margin:0}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1rem 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:1.5rem}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer}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{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}div.dataTables_scrollHead table{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}
|
table.dataTable{clear:both;margin:0.5em 0 !important;max-width:none !important;width:100%}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper{position:relative}div.dataTables_wrapper div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_wrapper div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter input{display:inline-block !important;width:auto !important;margin-bottom:0;margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:2px}div.dataTables_wrapper div.dataTables_paginate{float:right;margin:0}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1rem 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:1.5rem}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer}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{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}div.dataTables_scrollHead table{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}
|
||||||
|
|||||||
@@ -234,7 +234,6 @@ table.dataTable,
|
|||||||
table.dataTable th,
|
table.dataTable th,
|
||||||
table.dataTable td {
|
table.dataTable td {
|
||||||
-webkit-box-sizing: content-box;
|
-webkit-box-sizing: content-box;
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -265,7 +265,6 @@ table.dataTable,
|
|||||||
table.dataTable th,
|
table.dataTable th,
|
||||||
table.dataTable td {
|
table.dataTable td {
|
||||||
-webkit-box-sizing: content-box;
|
-webkit-box-sizing: content-box;
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -178,43 +178,5 @@ DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, bu
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TableTools Bootstrap compatibility
|
|
||||||
* Required TableTools 2.1+
|
|
||||||
*/
|
|
||||||
if ( DataTable.TableTools ) {
|
|
||||||
// Set the classes that TableTools uses to something suitable for Bootstrap
|
|
||||||
$.extend( true, DataTable.TableTools.classes, {
|
|
||||||
"container": "DTTT btn-group",
|
|
||||||
"buttons": {
|
|
||||||
"normal": "btn btn-default",
|
|
||||||
"disabled": "disabled"
|
|
||||||
},
|
|
||||||
"collection": {
|
|
||||||
"container": "DTTT_dropdown dropdown-menu",
|
|
||||||
"buttons": {
|
|
||||||
"normal": "",
|
|
||||||
"disabled": "disabled"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"print": {
|
|
||||||
"info": "DTTT_print_info"
|
|
||||||
},
|
|
||||||
"select": {
|
|
||||||
"row": "active"
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
// Have the collection use a bootstrap compatible drop down
|
|
||||||
$.extend( true, DataTable.TableTools.DEFAULTS.oTags, {
|
|
||||||
"collection": {
|
|
||||||
"container": "ul",
|
|
||||||
"button": "li",
|
|
||||||
"liner": "a"
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable;
|
return DataTable;
|
||||||
}));
|
}));
|
||||||
@@ -2,8 +2,7 @@
|
|||||||
DataTables Bootstrap 3 integration
|
DataTables Bootstrap 3 integration
|
||||||
©2011-2015 SpryMedia Ltd - datatables.net/license
|
©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
*/
|
*/
|
||||||
(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,e){a||(a=window);if(!e||!e.fn.dataTable)e=require("datatables.net")(a,e).$;return b(e,a,a.document)}:b(jQuery,window,document)})(function(b,a,e){var d=b.fn.dataTable;b.extend(!0,d.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-5'i><'col-sm-7'p>>",renderer:"bootstrap"});b.extend(d.ext.classes,
|
(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(a,d).$;return b(d,a,a.document)}:b(jQuery,window,document)})(function(b,a,d){var f=b.fn.dataTable;b.extend(!0,f.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-5'i><'col-sm-7'p>>",renderer:"bootstrap"});b.extend(f.ext.classes,
|
||||||
{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm",sProcessing:"dataTables_processing panel panel-default"});d.ext.renderer.pageButton.bootstrap=function(a,h,r,m,j,n){var o=new d.Api(a),s=a.oClasses,k=a.oLanguage.oPaginate,t=a.oLanguage.oAria.paginate||{},f,g,p=0,q=function(d,e){var l,h,i,c,m=function(a){a.preventDefault();!b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&o.page(a.data.action).draw("page")};
|
{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm",sProcessing:"dataTables_processing panel panel-default"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,m,j,n){var o=new f.Api(a),s=a.oClasses,k=a.oLanguage.oPaginate,t=a.oLanguage.oAria.paginate||{},e,g,p=0,q=function(d,f){var l,h,i,c,m=function(a){a.preventDefault();!b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&o.page(a.data.action).draw("page")};
|
||||||
l=0;for(h=e.length;l<h;l++)if(c=e[l],b.isArray(c))q(d,c);else{g=f="";switch(c){case "ellipsis":f="…";g="disabled";break;case "first":f=k.sFirst;g=c+(0<j?"":" disabled");break;case "previous":f=k.sPrevious;g=c+(0<j?"":" disabled");break;case "next":f=k.sNext;g=c+(j<n-1?"":" disabled");break;case "last":f=k.sLast;g=c+(j<n-1?"":" disabled");break;default:f=c+1,g=j===c?"active":""}f&&(i=b("<li>",{"class":s.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+"_"+c:null}).append(b("<a>",{href:"#",
|
l=0;for(h=f.length;l<h;l++)if(c=f[l],b.isArray(c))q(d,c);else{g=e="";switch(c){case "ellipsis":e="…";g="disabled";break;case "first":e=k.sFirst;g=c+(0<j?"":" disabled");break;case "previous":e=k.sPrevious;g=c+(0<j?"":" disabled");break;case "next":e=k.sNext;g=c+(j<n-1?"":" disabled");break;case "last":e=k.sLast;g=c+(j<n-1?"":" disabled");break;default:e=c+1,g=j===c?"active":""}e&&(i=b("<li>",{"class":s.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+"_"+c:null}).append(b("<a>",{href:"#",
|
||||||
"aria-controls":a.sTableId,"aria-label":t[c],"data-dt-idx":p,tabindex:a.iTabIndex}).html(f)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(e.activeElement).data("dt-idx")}catch(u){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),m);i&&b(h).find("[data-dt-idx="+i+"]").focus()};d.TableTools&&(b.extend(!0,d.TableTools.classes,{container:"DTTT btn-group",buttons:{normal:"btn btn-default",disabled:"disabled"},collection:{container:"DTTT_dropdown dropdown-menu",
|
"aria-controls":a.sTableId,"aria-label":t[c],"data-dt-idx":p,tabindex:a.iTabIndex}).html(e)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(d.activeElement).data("dt-idx")}catch(u){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),m);i&&b(h).find("[data-dt-idx="+i+"]").focus()};return f});
|
||||||
buttons:{normal:"",disabled:"disabled"}},print:{info:"DTTT_print_info"},select:{row:"active"}}),b.extend(!0,d.TableTools.DEFAULTS.oTags,{collection:{container:"ul",button:"li",liner:"a"}}));return d});
|
|
||||||
|
|||||||
@@ -39,6 +39,11 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
var DataTable = $.fn.dataTable;
|
var DataTable = $.fn.dataTable;
|
||||||
|
|
||||||
|
// Detect Foundation 5 / 6 as they have different element and class requirements
|
||||||
|
var meta = $('<meta class="foundation-mq"/>').appendTo('head');
|
||||||
|
DataTable.ext.foundationVersion = meta.css('font-family').match(/small|medium|large/) ? 6 : 5;
|
||||||
|
meta.remove();
|
||||||
|
|
||||||
|
|
||||||
$.extend( DataTable.ext.classes, {
|
$.extend( DataTable.ext.classes, {
|
||||||
sWrapper: "dataTables_wrapper dt-foundation",
|
sWrapper: "dataTables_wrapper dt-foundation",
|
||||||
@@ -63,6 +68,8 @@ DataTable.ext.renderer.pageButton.foundation = function ( settings, host, idx, b
|
|||||||
var lang = settings.oLanguage.oPaginate;
|
var lang = settings.oLanguage.oPaginate;
|
||||||
var aria = settings.oLanguage.oAria.paginate || {};
|
var aria = settings.oLanguage.oAria.paginate || {};
|
||||||
var btnDisplay, btnClass;
|
var btnDisplay, btnClass;
|
||||||
|
var tag;
|
||||||
|
var v5 = DataTable.ext.foundationVersion === 5;
|
||||||
|
|
||||||
var attach = function( container, buttons ) {
|
var attach = function( container, buttons ) {
|
||||||
var i, ien, node, button;
|
var i, ien, node, button;
|
||||||
@@ -82,44 +89,56 @@ DataTable.ext.renderer.pageButton.foundation = function ( settings, host, idx, b
|
|||||||
else {
|
else {
|
||||||
btnDisplay = '';
|
btnDisplay = '';
|
||||||
btnClass = '';
|
btnClass = '';
|
||||||
|
tag = null;
|
||||||
|
|
||||||
switch ( button ) {
|
switch ( button ) {
|
||||||
case 'ellipsis':
|
case 'ellipsis':
|
||||||
btnDisplay = '…';
|
btnDisplay = '…';
|
||||||
btnClass = 'unavailable';
|
btnClass = 'unavailable disabled';
|
||||||
|
tag = null;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'first':
|
case 'first':
|
||||||
btnDisplay = lang.sFirst;
|
btnDisplay = lang.sFirst;
|
||||||
btnClass = button + (page > 0 ?
|
btnClass = button + (page > 0 ?
|
||||||
'' : ' unavailable');
|
'' : ' unavailable disabled');
|
||||||
|
tag = page > 0 ? 'a' : null;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'previous':
|
case 'previous':
|
||||||
btnDisplay = lang.sPrevious;
|
btnDisplay = lang.sPrevious;
|
||||||
btnClass = button + (page > 0 ?
|
btnClass = button + (page > 0 ?
|
||||||
'' : ' unavailable');
|
'' : ' unavailable disabled');
|
||||||
|
tag = page > 0 ? 'a' : null;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'next':
|
case 'next':
|
||||||
btnDisplay = lang.sNext;
|
btnDisplay = lang.sNext;
|
||||||
btnClass = button + (page < pages-1 ?
|
btnClass = button + (page < pages-1 ?
|
||||||
'' : ' unavailable');
|
'' : ' unavailable disabled');
|
||||||
|
tag = page < pages-1 ? 'a' : null;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'last':
|
case 'last':
|
||||||
btnDisplay = lang.sLast;
|
btnDisplay = lang.sLast;
|
||||||
btnClass = button + (page < pages-1 ?
|
btnClass = button + (page < pages-1 ?
|
||||||
'' : ' unavailable');
|
'' : ' unavailable disabled');
|
||||||
|
tag = page < pages-1 ? 'a' : null;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
btnDisplay = button + 1;
|
btnDisplay = button + 1;
|
||||||
btnClass = page === button ?
|
btnClass = page === button ?
|
||||||
'current' : '';
|
'current' : '';
|
||||||
|
tag = page === button ?
|
||||||
|
null : 'a';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( v5 ) {
|
||||||
|
tag = 'a';
|
||||||
|
}
|
||||||
|
|
||||||
if ( btnDisplay ) {
|
if ( btnDisplay ) {
|
||||||
node = $('<li>', {
|
node = $('<li>', {
|
||||||
'class': classes.sPageButton+' '+btnClass,
|
'class': classes.sPageButton+' '+btnClass,
|
||||||
@@ -130,10 +149,9 @@ DataTable.ext.renderer.pageButton.foundation = function ( settings, host, idx, b
|
|||||||
settings.sTableId +'_'+ button :
|
settings.sTableId +'_'+ button :
|
||||||
null
|
null
|
||||||
} )
|
} )
|
||||||
.append( $('<a>', {
|
.append( tag ?
|
||||||
'href': '#'
|
$('<'+tag+'/>', {'href': '#'} ).html( btnDisplay ) :
|
||||||
} )
|
btnDisplay
|
||||||
.html( btnDisplay )
|
|
||||||
)
|
)
|
||||||
.appendTo( container );
|
.appendTo( container );
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
DataTables Foundation integration
|
DataTables Foundation integration
|
||||||
©2011-2015 SpryMedia Ltd - datatables.net/license
|
©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||||
*/
|
*/
|
||||||
(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return d(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net")(a,b).$;return d(b,a,a.document)}:d(jQuery,window,document)})(function(d){var a=d.fn.dataTable;d.extend(a.ext.classes,{sWrapper:"dataTables_wrapper dt-foundation",sProcessing:"dataTables_processing panel"});d.extend(!0,a.defaults,{dom:"<'row'<'small-6 columns'l><'small-6 columns'f>r>t<'row'<'small-6 columns'i><'small-6 columns'p>>",
|
(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return d(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net")(a,b).$;return d(b,a,a.document)}:d(jQuery,window,document)})(function(d){var a=d.fn.dataTable,b=d('<meta class="foundation-mq"/>').appendTo("head");a.ext.foundationVersion=b.css("font-family").match(/small|medium|large/)?6:5;b.remove();d.extend(a.ext.classes,
|
||||||
renderer:"foundation"});a.ext.renderer.pageButton.foundation=function(b,j,q,r,g,k){var l=new a.Api(b),s=b.oClasses,h=b.oLanguage.oPaginate,t=b.oLanguage.oAria.paginate||{},e,f,p=function(a,m){var i,n,o,c,j=function(a){a.preventDefault();!d(a.currentTarget).hasClass("unavailable")&&l.page()!=a.data.action&&l.page(a.data.action).draw("page")};i=0;for(n=m.length;i<n;i++)if(c=m[i],d.isArray(c))p(a,c);else{f=e="";switch(c){case "ellipsis":e="…";f="unavailable";break;case "first":e=h.sFirst;f=c+
|
{sWrapper:"dataTables_wrapper dt-foundation",sProcessing:"dataTables_processing panel"});d.extend(!0,a.defaults,{dom:"<'row'<'small-6 columns'l><'small-6 columns'f>r>t<'row'<'small-6 columns'i><'small-6 columns'p>>",renderer:"foundation"});a.ext.renderer.pageButton.foundation=function(b,l,r,s,e,i){var m=new a.Api(b),t=b.oClasses,j=b.oLanguage.oPaginate,u=b.oLanguage.oAria.paginate||{},f,h,g,v=5===a.ext.foundationVersion,q=function(a,n){var k,o,p,c,l=function(a){a.preventDefault();!d(a.currentTarget).hasClass("unavailable")&&
|
||||||
(0<g?"":" unavailable");break;case "previous":e=h.sPrevious;f=c+(0<g?"":" unavailable");break;case "next":e=h.sNext;f=c+(g<k-1?"":" unavailable");break;case "last":e=h.sLast;f=c+(g<k-1?"":" unavailable");break;default:e=c+1,f=g===c?"current":""}e&&(o=d("<li>",{"class":s.sPageButton+" "+f,"aria-controls":b.sTableId,"aria-label":t[c],tabindex:b.iTabIndex,id:0===q&&"string"===typeof c?b.sTableId+"_"+c:null}).append(d("<a>",{href:"#"}).html(e)).appendTo(a),b.oApi._fnBindAction(o,{action:c},j))}};p(d(j).empty().html('<ul class="pagination"/>').children("ul"),
|
m.page()!=a.data.action&&m.page(a.data.action).draw("page")};k=0;for(o=n.length;k<o;k++)if(c=n[k],d.isArray(c))q(a,c);else{h=f="";g=null;switch(c){case "ellipsis":f="…";h="unavailable disabled";g=null;break;case "first":f=j.sFirst;h=c+(0<e?"":" unavailable disabled");g=0<e?"a":null;break;case "previous":f=j.sPrevious;h=c+(0<e?"":" unavailable disabled");g=0<e?"a":null;break;case "next":f=j.sNext;h=c+(e<i-1?"":" unavailable disabled");g=e<i-1?"a":null;break;case "last":f=j.sLast;h=c+(e<i-1?
|
||||||
r)};return a});
|
"":" unavailable disabled");g=e<i-1?"a":null;break;default:f=c+1,h=e===c?"current":"",g=e===c?null:"a"}v&&(g="a");f&&(p=d("<li>",{"class":t.sPageButton+" "+h,"aria-controls":b.sTableId,"aria-label":u[c],tabindex:b.iTabIndex,id:0===r&&"string"===typeof c?b.sTableId+"_"+c:null}).append(g?d("<"+g+"/>",{href:"#"}).html(f):f).appendTo(a),b.oApi._fnBindAction(p,{action:c},l))}};q(d(l).empty().html('<ul class="pagination"/>').children("ul"),s)};return a});
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,164 +1,166 @@
|
|||||||
/*!
|
/*!
|
||||||
DataTables 1.10.10
|
DataTables 1.10.12
|
||||||
©2008-2015 SpryMedia Ltd - datatables.net/license
|
©2008-2015 SpryMedia Ltd - datatables.net/license
|
||||||
*/
|
*/
|
||||||
(function(h){"function"===typeof define&&define.amd?define(["jquery"],function(E){return h(E,window,document)}):"object"===typeof exports?module.exports=function(E,H){E||(E=window);H||(H="undefined"!==typeof window?require("jquery"):require("jquery")(E));return h(H,E,E.document)}:h(jQuery,window,document)})(function(h,E,H,k){function Y(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),
|
(function(h){"function"===typeof define&&define.amd?define(["jquery"],function(D){return h(D,window,document)}):"object"===typeof exports?module.exports=function(D,I){D||(D=window);I||(I="undefined"!==typeof window?require("jquery"):require("jquery")(D));return h(I,D,D.document)}:h(jQuery,window,document)})(function(h,D,I,k){function X(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),
|
||||||
d[c]=e,"o"===b[1]&&Y(a[e])});a._hungarianMap=d}function J(a,b,c){a._hungarianMap||Y(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==k&&(c||b[d]===k))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),J(a[d],b[d],c)):b[d]=b[e]})}function Fa(a){var b=m.defaults.oLanguage,c=a.sZeroRecords;!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&F(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&F(a,a,"sZeroRecords","sLoadingRecords");
|
d[c]=e,"o"===b[1]&&X(a[e])});a._hungarianMap=d}function K(a,b,c){a._hungarianMap||X(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==k&&(c||b[d]===k))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),K(a[d],b[d],c)):b[d]=b[e]})}function Da(a){var b=m.defaults.oLanguage,c=a.sZeroRecords;!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");A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":"");"boolean"===typeof a.scrollX&&(a.scrollX=
|
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");A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":"");"boolean"===typeof a.scrollX&&(a.scrollX=
|
||||||
a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&J(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){if(!m.__browser){var b={};m.__browser=b;var c=h("<div/>").css({position:"fixed",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("<div/>").css({position:"absolute",top:1,left:1,
|
a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&K(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){if(!m.__browser){var b={};m.__browser=b;var c=h("<div/>").css({position:"fixed",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("<div/>").css({position:"absolute",top:1,left:1,
|
||||||
width:100,overflow:"scroll"}).append(h("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}h.extend(a.oBrowser,m.__browser);a.oScroll.iBarWidth=m.__browser.barWidth}function hb(a,b,c,d,e,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&&
|
width:100,overflow:"scroll"}).append(h("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}h.extend(a.oBrowser,m.__browser);a.oScroll.iBarWidth=m.__browser.barWidth}function hb(a,b,c,d,e,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&&
|
||||||
(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ga(a,b){var c=m.defaults.column,d=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:H.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},m.models.oSearch,c[d]);la(a,d,h(b).data())}function la(a,b,c){var b=a.aoColumns[b],d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=
|
(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ea(a,b){var c=m.defaults.column,d=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:I.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},m.models.oSearch,c[d]);ja(a,d,h(b).data())}function ja(a,b,c){var b=a.aoColumns[b],d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=
|
||||||
(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),J(m.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),h.extend(b,c),F(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),F(b,c,"aDataSort"));var g=b.mData,j=Q(g),i=b.mRender?Q(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&
|
(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),K(m.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(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,j=Q(g),i=b.mRender?Q(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 d=j(a,b,k,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return R(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=
|
(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(a,b,c){var d=j(a,b,k,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return R(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):
|
||||||
d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function U(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Ha(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&Z(a);v(a,null,"column-sizing",[a])}function $(a,b){var c=aa(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function ba(a,b){var c=aa(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function ca(a){return aa(a,
|
!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function Y(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Fa(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&ka(a);u(a,null,"column-sizing",[a])}function Z(a,b){var c=la(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function $(a,b){var c=la(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}
|
||||||
"bVisible").length}function aa(a,b){var c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ia(a){var b=a.aoColumns,c=a.aoData,d=m.ext.type.detect,e,f,g,j,i,h,l,q,u;e=0;for(f=b.length;e<f;e++)if(l=b[e],u=[],!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){g=0;for(j=d.length;g<j;g++){i=0;for(h=c.length;i<h;i++){u[i]===k&&(u[i]=B(a,i,e,"type"));q=d[g](u[i],a);if(!q&&g!==d.length-1)break;if("html"===q)break}if(q){l.sType=q;break}}l.sType||(l.sType="string")}}function ib(a,
|
function aa(a){var b=0;h.each(a.aoColumns,function(a,d){d.bVisible&&"none"!==h(d.nTh).css("display")&&b++});return b}function la(a,b){var c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ga(a){var b=a.aoColumns,c=a.aoData,d=m.ext.type.detect,e,f,g,j,i,h,l,q,t;e=0;for(f=b.length;e<f;e++)if(l=b[e],t=[],!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){g=0;for(j=d.length;g<j;g++){i=0;for(h=c.length;i<h;i++){t[i]===k&&(t[i]=B(a,i,e,"type"));q=d[g](t[i],a);if(!q&&
|
||||||
b,c,d){var e,f,g,j,i,o,l=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){o=b[e];var q=o.targets!==k?o.targets:o.aTargets;h.isArray(q)||(q=[q]);f=0;for(g=q.length;f<g;f++)if("number"===typeof q[f]&&0<=q[f]){for(;l.length<=q[f];)Ga(a);d(q[f],o)}else if("number"===typeof q[f]&&0>q[f])d(l.length+q[f],o);else if("string"===typeof q[f]){j=0;for(i=l.length;j<i;j++)("_all"==q[f]||h(l[j].nTh).hasClass(q[f]))&&d(j,o)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function N(a,b,c,d){var e=a.aoData.length,f=h.extend(!0,
|
g!==d.length-1)break;if("html"===q)break}if(q){l.sType=q;break}}l.sType||(l.sType="string")}}function ib(a,b,c,d){var e,f,g,j,i,n,l=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){n=b[e];var q=n.targets!==k?n.targets:n.aTargets;h.isArray(q)||(q=[q]);f=0;for(g=q.length;f<g;f++)if("number"===typeof q[f]&&0<=q[f]){for(;l.length<=q[f];)Ea(a);d(q[f],n)}else if("number"===typeof q[f]&&0>q[f])d(l.length+q[f],n);else if("string"===typeof q[f]){j=0;for(i=l.length;j<i;j++)("_all"==q[f]||h(l[j].nTh).hasClass(q[f]))&&
|
||||||
{},m.models.oRow,{src:c?"dom":"data",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,j=0,i=g.length;j<i;j++)g[j].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==k&&(a.aIds[b]=f);(c||!a.oFeatures.bDeferRender)&&Ja(a,e,c,d);return e}function ma(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,e){c=Ka(a,e);return N(a,c.data,e,c.cells)})}function B(a,b,c,d){var e=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,j=f.sDefaultContent,i=f.fnGetData(g,d,{settings:a,row:b,col:c});
|
d(j,n)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function N(a,b,c,d){var e=a.aoData.length,f=h.extend(!0,{},m.models.oRow,{src:c?"dom":"data",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,j=0,i=g.length;j<i;j++)g[j].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==k&&(a.aIds[b]=f);(c||!a.oFeatures.bDeferRender)&&Ha(a,e,c,d);return e}function ma(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,e){c=Ia(a,e);return N(a,c.data,e,c.cells)})}function B(a,b,c,d){var e=a.iDraw,
|
||||||
if(i===k)return a.iDrawError!=e&&null===j&&(K(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),j;if((i===g||null===i)&&null!==j)i=j;else if("function"===typeof i)return i.call(g);return null===i&&"display"==d?"":i}function jb(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function La(a){return h.map(a.match(/(\\.|[^\.])+/g)||[""],function(a){return a.replace(/\\./g,".")})}function Q(a){if(h.isPlainObject(a)){var b=
|
f=a.aoColumns[c],g=a.aoData[b]._aData,j=f.sDefaultContent,i=f.fnGetData(g,d,{settings:a,row:b,col:c});if(i===k)return a.iDrawError!=e&&null===j&&(L(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),j;if((i===g||null===i)&&null!==j&&d!==k)i=j;else if("function"===typeof i)return i.call(g);return null===i&&"display"==d?"":i}function jb(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}
|
||||||
{};h.each(a,function(a,c){c&&(b[a]=Q(c))});return function(a,c,f,g){var j=b[c]||b._;return j!==k?j(a,c,f,g):a}}if(null===a)return function(a){return a};if("function"===typeof 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,j;if(""!==f){j=La(f);for(var i=0,o=j.length;i<o;i++){f=j[i].match(da);g=j[i].match(V);if(f){j[i]=j[i].replace(da,"");""!==j[i]&&(a=a[j[i]]);g=[];j.splice(0,i+1);j=
|
function Ja(a){return h.map(a.match(/(\\.|[^\.])+/g)||[""],function(a){return a.replace(/\\./g,".")})}function Q(a){if(h.isPlainObject(a)){var b={};h.each(a,function(a,c){c&&(b[a]=Q(c))});return function(a,c,f,g){var j=b[c]||b._;return j!==k?j(a,c,f,g):a}}if(null===a)return function(a){return a};if("function"===typeof 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,j;if(""!==f){j=Ja(f);
|
||||||
j.join(".");if(h.isArray(a)){i=0;for(o=a.length;i<o;i++)g.push(c(a[i],b,j))}a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else if(g){j[i]=j[i].replace(V,"");a=a[j[i]]();continue}if(null===a||a[j[i]]===k)return k;a=a[j[i]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}function R(a){if(h.isPlainObject(a))return R(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"===typeof a&&(-1!==a.indexOf(".")||
|
for(var i=0,n=j.length;i<n;i++){f=j[i].match(ba);g=j[i].match(U);if(f){j[i]=j[i].replace(ba,"");""!==j[i]&&(a=a[j[i]]);g=[];j.splice(0,i+1);j=j.join(".");if(h.isArray(a)){i=0;for(n=a.length;i<n;i++)g.push(c(a[i],b,j))}a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else if(g){j[i]=j[i].replace(U,"");a=a[j[i]]();continue}if(null===a||a[j[i]]===k)return k;a=a[j[i]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}function R(a){if(h.isPlainObject(a))return R(a._);
|
||||||
-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=La(e),f;f=e[e.length-1];for(var g,j,i=0,o=e.length-1;i<o;i++){g=e[i].match(da);j=e[i].match(V);if(g){e[i]=e[i].replace(da,"");a[e[i]]=[];f=e.slice();f.splice(0,i+1);g=f.join(".");if(h.isArray(d)){j=0;for(o=d.length;j<o;j++)f={},b(f,d[j],g),a[e[i]].push(f)}else a[e[i]]=d;return}j&&(e[i]=e[i].replace(V,""),a=a[e[i]](d));if(null===a[e[i]]||a[e[i]]===k)a[e[i]]={};a=a[e[i]]}if(f.match(V))a[f.replace(V,"")](d);else a[f.replace(da,"")]=
|
if(null===a)return function(){};if("function"===typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=Ja(e),f;f=e[e.length-1];for(var g,j,i=0,n=e.length-1;i<n;i++){g=e[i].match(ba);j=e[i].match(U);if(g){e[i]=e[i].replace(ba,"");a[e[i]]=[];f=e.slice();f.splice(0,i+1);g=f.join(".");if(h.isArray(d)){j=0;for(n=d.length;j<n;j++)f={},b(f,d[j],g),a[e[i]].push(f)}else a[e[i]]=d;return}j&&(e[i]=e[i].replace(U,
|
||||||
d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ma(a){return D(a.aoData,"_aData")}function na(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function oa(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,1)}function ea(a,b,c,d){var e=a.aoData[b],f,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=B(a,b,d,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=
|
""),a=a[e[i]](d));if(null===a[e[i]]||a[e[i]]===k)a[e[i]]={};a=a[e[i]]}if(f.match(U))a[f.replace(U,"")](d);else a[f.replace(ba,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ka(a){return G(a.aoData,"_aData")}function na(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function oa(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,1)}function ca(a,b,c,d){var e=a.aoData[b],f,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);
|
||||||
Ka(a,e,d,d===k?k:e._aData).data;else{var j=e.anCells;if(j)if(d!==k)g(j[d],d);else{c=0;for(f=j.length;c<f;c++)g(j[c],c)}}e._aSortData=null;e._aFilterData=null;g=a.aoColumns;if(d!==k)g[d].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;Na(a,e)}}function Ka(a,b,c,d){var e=[],f=b.firstChild,g,j,i=0,o,l=a.aoColumns,q=a._rowReadObject,d=d!==k?d:q?{}:[],u=function(a,b){if("string"===typeof a){var c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),R(a)(d,b.getAttribute(c)))}},S=function(a){if(c===k||
|
c.innerHTML=B(a,b,d,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=Ia(a,e,d,d===k?k:e._aData).data;else{var j=e.anCells;if(j)if(d!==k)g(j[d],d);else{c=0;for(f=j.length;c<f;c++)g(j[c],c)}}e._aSortData=null;e._aFilterData=null;g=a.aoColumns;if(d!==k)g[d].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;La(a,e)}}function Ia(a,b,c,d){var e=[],f=b.firstChild,g,j,i=0,n,l=a.aoColumns,q=a._rowReadObject,d=d!==k?d:q?{}:[],t=function(a,b){if("string"===typeof a){var c=a.indexOf("@");
|
||||||
c===i)j=l[i],o=h.trim(a.innerHTML),j&&j._bAttrSrc?(R(j.mData._)(d,o),u(j.mData.sort,a),u(j.mData.type,a),u(j.mData.filter,a)):q?(j._setter||(j._setter=R(j.mData)),j._setter(d,o)):d[i]=o;i++};if(f)for(;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)S(f),e.push(f);f=f.nextSibling}else{e=b.anCells;f=0;for(g=e.length;f<g;f++)S(e[f])}if(b=b.firstChild?b:b.nTr)(b=b.getAttribute("id"))&&R(a.rowId)(d,b);return{data:d,cells:e}}function Ja(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],j,i,h,l,q;if(null===
|
-1!==c&&(c=a.substring(c+1),R(a)(d,b.getAttribute(c)))}},S=function(a){if(c===k||c===i)j=l[i],n=h.trim(a.innerHTML),j&&j._bAttrSrc?(R(j.mData._)(d,n),t(j.mData.sort,a),t(j.mData.type,a),t(j.mData.filter,a)):q?(j._setter||(j._setter=R(j.mData)),j._setter(d,n)):d[i]=n;i++};if(f)for(;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)S(f),e.push(f);f=f.nextSibling}else{e=b.anCells;f=0;for(g=e.length;f<g;f++)S(e[f])}if(b=b.firstChild?b:b.nTr)(b=b.getAttribute("id"))&&R(a.rowId)(d,b);return{data:d,cells:e}}
|
||||||
e.nTr){j=c||H.createElement("tr");e.nTr=j;e.anCells=g;j._DT_RowIndex=b;Na(a,e);l=0;for(q=a.aoColumns.length;l<q;l++){h=a.aoColumns[l];i=c?d[l]:H.createElement(h.sCellType);i._DT_CellIndex={row:b,column:l};g.push(i);if(!c||h.mRender||h.mData!==l)i.innerHTML=B(a,b,l,"display");h.sClass&&(i.className+=" "+h.sClass);h.bVisible&&!c?j.appendChild(i):!h.bVisible&&c&&i.parentNode.removeChild(i);h.fnCreatedCell&&h.fnCreatedCell.call(a.oInstance,i,B(a,b,l),f,b,l)}v(a,"aoRowCreatedCallback",null,[j,f,b])}e.nTr.setAttribute("role",
|
function Ha(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],j,i,n,l,q;if(null===e.nTr){j=c||I.createElement("tr");e.nTr=j;e.anCells=g;j._DT_RowIndex=b;La(a,e);l=0;for(q=a.aoColumns.length;l<q;l++){n=a.aoColumns[l];i=c?d[l]:I.createElement(n.sCellType);i._DT_CellIndex={row:b,column:l};g.push(i);if((!c||n.mRender||n.mData!==l)&&(!h.isPlainObject(n.mData)||n.mData._!==l+".display"))i.innerHTML=B(a,b,l,"display");n.sClass&&(i.className+=" "+n.sClass);n.bVisible&&!c?j.appendChild(i):!n.bVisible&&c&&i.parentNode.removeChild(i);
|
||||||
"row")}function Na(a,b){var c=b.nTr,d=b._aData;if(c){var e=a.rowIdFn(d);e&&(c.id=e);d.DT_RowClass&&(e=d.DT_RowClass.split(" "),b.__rowc=b.__rowc?pa(b.__rowc.concat(e)):e,h(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));d.DT_RowAttr&&h(c).attr(d.DT_RowAttr);d.DT_RowData&&h(c).data(d.DT_RowData)}}function kb(a){var b,c,d,e,f,g=a.nTHead,j=a.nTFoot,i=0===h("th, td",g).length,o=a.oClasses,l=a.aoColumns;i&&(e=h("<tr/>").appendTo(g));b=0;for(c=l.length;b<c;b++)f=l[b],d=h(f.nTh).addClass(f.sClass),
|
n.fnCreatedCell&&n.fnCreatedCell.call(a.oInstance,i,B(a,b,l),f,b,l)}u(a,"aoRowCreatedCallback",null,[j,f,b])}e.nTr.setAttribute("role","row")}function La(a,b){var c=b.nTr,d=b._aData;if(c){var e=a.rowIdFn(d);e&&(c.id=e);d.DT_RowClass&&(e=d.DT_RowClass.split(" "),b.__rowc=b.__rowc?pa(b.__rowc.concat(e)):e,h(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));d.DT_RowAttr&&h(c).attr(d.DT_RowAttr);d.DT_RowData&&h(c).data(d.DT_RowData)}}function kb(a){var b,c,d,e,f,g=a.nTHead,j=a.nTFoot,i=0===
|
||||||
i&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Oa(a,f.nTh,b))),f.sTitle!=d[0].innerHTML&&d.html(f.sTitle),Pa(a,"header")(a,d,f,o);i&&fa(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(o.sHeaderTH);h(j).find(">tr>th, >tr>td").addClass(o.sFooterTH);if(null!==j){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)}}
|
h("th, td",g).length,n=a.oClasses,l=a.aoColumns;i&&(e=h("<tr/>").appendTo(g));b=0;for(c=l.length;b<c;b++)f=l[b],d=h(f.nTh).addClass(f.sClass),i&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Ma(a,f.nTh,b))),f.sTitle!=d[0].innerHTML&&d.html(f.sTitle),Na(a,"header")(a,d,f,n);i&&da(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(n.sHeaderTH);h(j).find(">tr>th, >tr>td").addClass(n.sFooterTH);
|
||||||
function ga(a,b,c){var d,e,f,g=[],j=[],i=a.aoColumns.length,o;if(b){c===k&&(c=!1);d=0;for(e=b.length;d<e;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=i-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);j.push([])}d=0;for(e=g.length;d<e;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(o=i=1,j[d][f]===k){a.appendChild(g[d][f].cell);for(j[d][f]=1;g[d+i]!==k&&g[d][f].cell==g[d+i][f].cell;)j[d+i][f]=1,i++;for(;g[d][f+o]!==k&&g[d][f].cell==g[d][f+o].cell;){for(c=
|
if(null!==j){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 d,e,f,g=[],j=[],i=a.aoColumns.length,n;if(b){c===k&&(c=!1);d=0;for(e=b.length;d<e;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=i-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);j.push([])}d=0;for(e=g.length;d<e;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(n=i=1,j[d][f]===k){a.appendChild(g[d][f].cell);
|
||||||
0;c<i;c++)j[d+c][f+o]=1;o++}h(g[d][f].cell).attr("rowspan",i).attr("colspan",o)}}}}function O(a){var b=v(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,g=a.iInitDisplayStart,j="ssp"==y(a),i=a.aiDisplay;a.bDrawing=!0;g!==k&&-1!==g&&(a._iDisplayStart=j?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,o=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&
|
for(j[d][f]=1;g[d+i]!==k&&g[d][f].cell==g[d+i][f].cell;)j[d+i][f]=1,i++;for(;g[d][f+n]!==k&&g[d][f].cell==g[d][f+n].cell;){for(c=0;c<i;c++)j[d+c][f+n]=1;n++}h(g[d][f].cell).attr("rowspan",i).attr("colspan",n)}}}}function O(a){var b=u(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,g=a.iInitDisplayStart,j="ssp"==y(a),i=a.aiDisplay;a.bDrawing=!0;g!==k&&-1!==g&&(a._iDisplayStart=j?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=
|
||||||
!lb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:o;for(j=j?0:g;j<f;j++){var l=i[j],q=a.aoData[l];null===q.nTr&&Ja(a,l);l=q.nTr;if(0!==e){var u=d[c%e];q._sRowStripe!=u&&(h(l).removeClass(q._sRowStripe).addClass(u),q._sRowStripe=u)}v(a,"aoRowCallback",null,[l,q._aData,c,j]);b.push(l);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==y(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":e?d[0]:""}).append(h("<td />",{valign:"top",colSpan:ca(a),
|
-1);var g=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!lb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:n;for(j=j?0:g;j<f;j++){var l=i[j],q=a.aoData[l];null===q.nTr&&Ha(a,l);l=q.nTr;if(0!==e){var t=d[c%e];q._sRowStripe!=t&&(h(l).removeClass(q._sRowStripe).addClass(t),q._sRowStripe=t)}u(a,"aoRowCallback",null,[l,q._aData,c,j]);b.push(l);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==y(a)?c=f.sLoadingRecords:
|
||||||
"class":a.oClasses.sRowEmpty}).html(c))[0];v(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ma(a),g,o,i]);v(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ma(a),g,o,i]);d=h(a.nTBody);d.children().detach();d.append(h(b));v(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function T(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&mb(a);d?ha(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;O(a);a._drawHold=
|
f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":e?d[0]:""}).append(h("<td />",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];u(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ka(a),g,n,i]);u(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ka(a),g,n,i]);d=h(a.nTBody);d.children().detach();d.append(h(b));u(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function T(a,b){var c=a.oFeatures,d=c.bFilter;
|
||||||
!1}function nb(a){var b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),d=a.oFeatures,e=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,o,l,q,u=0;u<f.length;u++){g=null;j=f[u];if("<"==j){i=h("<div/>")[0];o=f[u+1];if("'"==o||'"'==o){l="";for(q=2;f[u+q]!=o;)l+=f[u+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(o=l.split("."),
|
c.bSort&&mb(a);d?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;O(a);a._drawHold=!1}function nb(a){var b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),d=a.oFeatures,e=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,n,l,q,t=0;t<f.length;t++){g=null;j=f[t];if("<"==j){i=h("<div/>")[0];
|
||||||
i.id=o[0].substr(1,o[0].length-1),i.className=o[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;u+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=ob(a);else if("f"==j&&d.bFilter)g=pb(a);else if("r"==j&&d.bProcessing)g=qb(a);else if("t"==j)g=rb(a);else if("i"==j&&d.bInfo)g=sb(a);else if("p"==j&&d.bPaginate)g=tb(a);else if(0!==m.ext.feature.length){i=m.ext.feature;q=0;for(o=i.length;q<o;q++)if(j==i[q].cFeature){g=i[q].fnInit(a);break}}g&&
|
n=f[t+1];if("'"==n||'"'==n){l="";for(q=2;f[t+q]!=n;)l+=f[t+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(n=l.split("."),i.id=n[0].substr(1,n[0].length-1),i.className=n[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;t+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=ob(a);else if("f"==j&&d.bFilter)g=pb(a);else if("r"==j&&d.bProcessing)g=qb(a);else if("t"==j)g=rb(a);else if("i"==j&&d.bInfo)g=sb(a);else if("p"==
|
||||||
(i=a.aanFeatures,i[j]||(i[j]=[]),i[j].push(g),e.append(g))}c.replaceWith(e);a.nHolding=null}function fa(a,b){var c=h(b).children("tr"),d,e,f,g,j,i,o,l,q,u;a.splice(0,a.length);f=0;for(i=c.length;f<i;f++)a.push([]);f=0;for(i=c.length;f<i;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){l=1*e.getAttribute("colspan");q=1*e.getAttribute("rowspan");l=!l||0===l||1===l?1:l;q=!q||0===q||1===q?1:q;g=0;for(j=a[f];j[g];)g++;o=g;u=1===l?!0:!1;for(j=0;j<l;j++)for(g=
|
j&&d.bPaginate)g=tb(a);else if(0!==m.ext.feature.length){i=m.ext.feature;q=0;for(n=i.length;q<n;q++)if(j==i[q].cFeature){g=i[q].fnInit(a);break}}g&&(i=a.aanFeatures,i[j]||(i[j]=[]),i[j].push(g),e.append(g))}c.replaceWith(e);a.nHolding=null}function da(a,b){var c=h(b).children("tr"),d,e,f,g,j,i,n,l,q,t;a.splice(0,a.length);f=0;for(i=c.length;f<i;f++)a.push([]);f=0;for(i=c.length;f<i;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){l=1*e.getAttribute("colspan");
|
||||||
0;g<q;g++)a[f+g][o+j]={cell:e,unique:u},a[f+g].nTr=d}e=e.nextSibling}}}function qa(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],fa(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function ra(a,b,c){v(a,"aoServerParams","serverParams",[b]);if(b&&h.isArray(b)){var d={},e=/(.*?)\[\]$/;h.each(b,function(a,b){var c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,g=a.ajax,
|
q=1*e.getAttribute("rowspan");l=!l||0===l||1===l?1:l;q=!q||0===q||1===q?1:q;g=0;for(j=a[f];j[g];)g++;n=g;t=1===l?!0:!1;for(j=0;j<l;j++)for(g=0;g<q;g++)a[f+g][n+j]={cell:e,unique:t},a[f+g].nTr=d}e=e.nextSibling}}}function qa(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],da(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function ra(a,b,c){u(a,"aoServerParams","serverParams",[b]);if(b&&h.isArray(b)){var d={},
|
||||||
j=a.oInstance,i=function(b){v(a,null,"xhr",[a,b,a.jqXHR]);c(b)};if(h.isPlainObject(g)&&g.data){f=g.data;var o=h.isFunction(f)?f(b,a):f,b=h.isFunction(f)&&o?o:h.extend(!0,b,o);delete g.data}o={data:b,success:function(b){var c=b.error||b.sError;c&&K(a,0,c);a.json=b;i(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=v(a,null,"xhr",[a,null,a.jqXHR]);-1===h.inArray(!0,d)&&("parsererror"==c?K(a,0,"Invalid JSON response",1):4===b.readyState&&K(a,0,"Ajax error",7));C(a,!1)}};a.oAjaxData=
|
e=/(.*?)\[\]$/;h.each(b,function(a,b){var c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,g=a.ajax,j=a.oInstance,i=function(b){u(a,null,"xhr",[a,b,a.jqXHR]);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&&L(a,0,c);a.json=b;i(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=u(a,null,"xhr",
|
||||||
b;v(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(j,a.sAjaxSource,h.map(b,function(a,b){return{name:b,value:a}}),i,a):a.sAjaxSource||"string"===typeof g?a.jqXHR=h.ajax(h.extend(o,{url:g||a.sAjaxSource})):h.isFunction(g)?a.jqXHR=g.call(j,b,i,a):(a.jqXHR=h.ajax(h.extend(o,g)),g.data=f)}function lb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,!0),ra(a,ub(a),function(b){vb(a,b)}),!1):!0}function ub(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,j=[],i,o,
|
[a,null,a.jqXHR]);-1===h.inArray(!0,d)&&("parsererror"==c?L(a,0,"Invalid JSON response",1):4===b.readyState&&L(a,0,"Ajax error",7));C(a,!1)}};a.oAjaxData=b;u(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(j,a.sAjaxSource,h.map(b,function(a,b){return{name:b,value:a}}),i,a):a.sAjaxSource||"string"===typeof g?a.jqXHR=h.ajax(h.extend(n,{url:g||a.sAjaxSource})):h.isFunction(g)?a.jqXHR=g.call(j,b,i,a):(a.jqXHR=h.ajax(h.extend(n,g)),g.data=f)}function lb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,
|
||||||
l,q=W(a);g=a._iDisplayStart;i=!1!==d.bPaginate?a._iDisplayLength:-1;var k=function(a,b){j.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",D(b,"sName").join(","));k("iDisplayStart",g);k("iDisplayLength",i);var S={draw:a.iDraw,columns:[],order:[],start:g,length:i,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g<c;g++)o=b[g],l=f[g],i="function"==typeof o.mData?"function":o.mData,S.columns.push({data:i,name:o.sName,searchable:o.bSearchable,orderable:o.bSortable,search:{value:l.sSearch,
|
!0),ra(a,ub(a),function(b){vb(a,b)}),!1):!0}function ub(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,j=[],i,n,l,q=V(a);g=a._iDisplayStart;i=!1!==d.bPaginate?a._iDisplayLength:-1;var k=function(a,b){j.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",G(b,"sName").join(","));k("iDisplayStart",g);k("iDisplayLength",i);var S={draw:a.iDraw,columns:[],order:[],start:g,length:i,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g<c;g++)n=b[g],
|
||||||
regex:l.bRegex}}),k("mDataProp_"+g,i),d.bFilter&&(k("sSearch_"+g,l.sSearch),k("bRegex_"+g,l.bRegex),k("bSearchable_"+g,o.bSearchable)),d.bSort&&k("bSortable_"+g,o.bSortable);d.bFilter&&(k("sSearch",e.sSearch),k("bRegex",e.bRegex));d.bSort&&(h.each(q,function(a,b){S.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+a,b.dir)}),k("iSortingCols",q.length));b=m.ext.legacy.ajax;return null===b?a.sAjaxSource?j:S:b?j:S}function vb(a,b){var c=sa(a,b),d=b.sEcho!==k?b.sEcho:b.draw,e=
|
l=f[g],i="function"==typeof n.mData?"function":n.mData,S.columns.push({data:i,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:l.sSearch,regex:l.bRegex}}),k("mDataProp_"+g,i),d.bFilter&&(k("sSearch_"+g,l.sSearch),k("bRegex_"+g,l.bRegex),k("bSearchable_"+g,n.bSearchable)),d.bSort&&k("bSortable_"+g,n.bSortable);d.bFilter&&(k("sSearch",e.sSearch),k("bRegex",e.bRegex));d.bSort&&(h.each(q,function(a,b){S.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+
|
||||||
b.iTotalRecords!==k?b.iTotalRecords:b.recordsTotal,f=b.iTotalDisplayRecords!==k?b.iTotalDisplayRecords:b.recordsFiltered;if(d){if(1*d<a.iDraw)return;a.iDraw=1*d}na(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(f,10);d=0;for(e=c.length;d<e;d++)N(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;O(a);a._bInitComplete||ta(a,b);a.bAjaxDataGet=!0;C(a,!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||
|
a,b.dir)}),k("iSortingCols",q.length));b=m.ext.legacy.ajax;return null===b?a.sAjaxSource?j:S:b?j:S}function vb(a,b){var c=sa(a,b),d=b.sEcho!==k?b.sEcho:b.draw,e=b.iTotalRecords!==k?b.iTotalRecords:b.recordsTotal,f=b.iTotalDisplayRecords!==k?b.iTotalDisplayRecords:b.recordsFiltered;if(d){if(1*d<a.iDraw)return;a.iDraw=1*d}na(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(f,10);d=0;for(e=c.length;d<e;d++)N(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;O(a);a._bInitComplete||
|
||||||
b[c]:""!==c?Q(c)(b):b}function pb(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",g):j+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(j)),f=function(){var b=!this.value?"":this.value;b!=e.sSearch&&(ha(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,O(a))},g=null!==
|
ta(a,b);a.bAjaxDataGet=!0;C(a,!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?Q(c)(b):b}function pb(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",g):j+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(j)),f=function(){var b=!this.value?
|
||||||
a.searchDelay?a.searchDelay:"ssp"===y(a)?400:0,i=h("input",b).val(e.sSearch).attr("placeholder",d.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{i[0]!==H.activeElement&&i.val(e.sSearch)}catch(d){}});return b[0]}function ha(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;
|
"":this.value;b!=e.sSearch&&(fa(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,O(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===y(a)?400:0,i=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",g?Oa(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{i[0]!==I.activeElement&&i.val(e.sSearch)}catch(d){}});
|
||||||
d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ia(a);if("ssp"!=y(a)){wb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)xb(a,e[b].sSearch,b,e[b].bEscapeRegex!==k?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);yb(a)}else f(b);a.bFiltered=!0;v(a,null,"search",[a])}function yb(a){for(var b=m.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var j=[],i=0,o=c.length;i<o;i++)e=c[i],d=a.aoData[e],b[f](a,
|
return b[0]}function fa(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ga(a);if("ssp"!=y(a)){wb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)xb(a,e[b].sSearch,b,e[b].bEscapeRegex!==k?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);yb(a)}else f(b);a.bFiltered=!0;u(a,null,"search",[a])}function yb(a){for(var b=
|
||||||
d._aFilterData,e,d._aData,i)&&j.push(e);c.length=0;h.merge(c,j)}}function xb(a,b,c,d,e,f){if(""!==b)for(var g=a.aiDisplay,d=Qa(b,d,e,f),e=g.length-1;0<=e;e--)b=a.aoData[g[e]]._aFilterData[c],d.test(b)||g.splice(e,1)}function wb(a,b,c,d,e,f){var d=Qa(b,d,e,f),e=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,g;0!==m.ext.search.length&&(c=!0);g=zb(a);if(0>=b.length)a.aiDisplay=f.slice();else{if(g||c||e.length>b.length||0!==b.indexOf(e)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=
|
m.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var j=[],i=0,n=c.length;i<n;i++)e=c[i],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,i)&&j.push(e);c.length=0;h.merge(c,j)}}function xb(a,b,c,d,e,f){if(""!==b)for(var g=a.aiDisplay,d=Pa(b,d,e,f),e=g.length-1;0<=e;e--)b=a.aoData[g[e]]._aFilterData[c],d.test(b)||g.splice(e,1)}function wb(a,b,c,d,e,f){var d=Pa(b,d,e,f),e=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,g;0!==m.ext.search.length&&(c=!0);g=zb(a);if(0>=b.length)a.aiDisplay=f.slice();
|
||||||
c;c--)d.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Qa(a,b,c,d){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,d?"i":"")}function va(a){return a.replace(Yb,"\\$1")}function zb(a){var b=a.aoColumns,c,d,e,f,g,j,i,h,l=m.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<f;d++)if(h=a.aoData[d],!h._aFilterData){j=[];e=0;for(g=b.length;e<
|
else{if(g||c||e.length>b.length||0!==b.indexOf(e)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)d.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Pa(a,b,c,d){a=b?a:Qa(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,d?"i":"")}function zb(a){var b=a.aoColumns,c,d,e,f,g,j,i,h,l=m.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<
|
||||||
g;e++)c=b[e],c.bSearchable?(i=B(a,d,e,"filter"),l[c.sType]&&(i=l[c.sType](i)),null===i&&(i=""),"string"!==typeof i&&i.toString&&(i=i.toString())):i="",i.indexOf&&-1!==i.indexOf("&")&&(wa.innerHTML=i,i=Zb?wa.textContent:wa.innerText),i.replace&&(i=i.replace(/[\r\n]/g,"")),j.push(i);h._aFilterData=j;h._sFilterRow=j.join(" ");c=!0}return c}function Ab(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function Bb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,
|
f;d++)if(h=a.aoData[d],!h._aFilterData){j=[];e=0;for(g=b.length;e<g;e++)c=b[e],c.bSearchable?(i=B(a,d,e,"filter"),l[c.sType]&&(i=l[c.sType](i)),null===i&&(i=""),"string"!==typeof i&&i.toString&&(i=i.toString())):i="",i.indexOf&&-1!==i.indexOf("&")&&(ua.innerHTML=i,i=Zb?ua.textContent:ua.innerText),i.replace&&(i=i.replace(/[\r\n]/g,"")),j.push(i);h._aFilterData=j;h._sFilterRow=j.join(" ");c=!0}return c}function Ab(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}
|
||||||
bCaseInsensitive:a.caseInsensitive}}function sb(a){var b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Cb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function Cb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&
|
function Bb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function sb(a){var b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Cb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function Cb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),
|
||||||
(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Db(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Db(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).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,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/
|
g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Db(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Db(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).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,g?1:Math.ceil(d/
|
||||||
e)))}function ia(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;var g=a.bDeferLoading;if(a.bInitialised){nb(a);kb(a);ga(a,a.aoHeader);ga(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Ha(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=w(f.sWidth));v(a,null,"preInit",[a]);T(a);e=y(a);if("ssp"!=e||g)"ajax"==e?ra(a,[],function(c){var f=sa(a,c);for(b=0;b<f.length;b++)N(a,f[b]);a.iInitDisplayStart=d;T(a);C(a,!1);ta(a,c)},a):(C(a,!1),ta(a))}else setTimeout(function(){ia(a)},200)}
|
e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function ga(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;var g=a.bDeferLoading;if(a.bInitialised){nb(a);kb(a);ea(a,a.aoHeader);ea(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Fa(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=x(f.sWidth));u(a,null,"preInit",[a]);T(a);e=y(a);if("ssp"!=e||g)"ajax"==e?ra(a,[],function(c){var f=sa(a,c);for(b=0;b<f.length;b++)N(a,f[b]);a.iInitDisplayStart=d;T(a);C(a,!1);ta(a,c)},a):(C(a,!1),
|
||||||
function ta(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&U(a);v(a,null,"plugin-init",[a,b]);v(a,"aoInitComplete","init",[a,b])}function Ra(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Sa(a);v(a,null,"length",[a,c])}function ob(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=e?d[0]:d,d=e?d[1]:d,e=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,j=f.length;g<j;g++)e[0][g]=new Option(d[g],f[g]);var i=h("<div><label/></div>").addClass(b.sLength);
|
ta(a))}else setTimeout(function(){ga(a)},200)}function ta(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&Y(a);u(a,null,"plugin-init",[a,b]);u(a,"aoInitComplete","init",[a,b])}function Ra(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Sa(a);u(a,null,"length",[a,c])}function ob(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=e?d[0]:d,d=e?d[1]:d,e=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,j=f.length;g<j;g++)e[0][g]=new Option(d[g],f[g]);var i=
|
||||||
a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());O(a)});h(a.nTable).bind("length.dt.DT",function(b,c,d){a===c&&h("select",i).val(d)});return i[0]}function tb(a){var b=a.sPaginationType,c=m.ext.pager[b],d="function"===typeof c,e=function(a){O(a)},b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+
|
h("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());O(a)});h(a.nTable).bind("length.dt.DT",function(b,c,d){a===c&&h("select",i).val(d)});return i[0]}function tb(a){var b=a.sPaginationType,c=m.ext.pager[b],d="function"===typeof c,e=function(a){O(a)},b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;
|
||||||
"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),k,l=0;for(k=f.p.length;l<k;l++)Pa(a,"pageButton")(a,f.p[l],l,h,b,i)}else c.fnUpdate(a,e)},sName:"pagination"}));return b}function Ta(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==
|
d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),k,l=0;for(k=f.p.length;l<k;l++)Na(a,"pageButton")(a,f.p[l],l,h,b,i)}else c.fnUpdate(a,e)},sName:"pagination"}));return b}function Ta(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:
|
||||||
b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:K(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(v(a,null,"page",[a]),c&&O(a));return b}function qb(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");v(a,null,"processing",[a,b])}function rb(a){var b=h(a.nTable);b.attr("role",
|
"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:L(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(u(a,null,"page",[a]),c&&O(a));return b}function qb(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");u(a,null,"processing",
|
||||||
"grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),o=h(b[0].cloneNode(!1)),l=b.children("tfoot");l.length||(l=null);i=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:w(d):"100%"}).append(h("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||
|
[a,b])}function rb(a){var b=h(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),n=h(b[0].cloneNode(!1)),l=b.children("tfoot");l.length||(l=null);i=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:x(d):"100%"}).append(h("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",
|
||||||
"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("<div/>",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:!d?null:w(d)}).append(b));l&&i.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:w(d):"100%"}).append(h("<div/>",{"class":f.sScrollFootInner}).append(o.removeAttr("id").css("margin-left",0).append("bottom"===j?g:null).append(b.children("tfoot")))));var b=i.children(),
|
width:c.sXInner||"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("<div/>",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:!d?null:x(d)}).append(b));l&&i.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:x(d):"100%"}).append(h("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append("bottom"===j?g:null).append(b.children("tfoot")))));
|
||||||
k=b[0],f=b[1],u=l?b[2]:null;if(d)h(f).on("scroll.DT",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(u.scrollLeft=a)});h(f).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=u;a.aoDrawCallback.push({fn:Z,sName:"scrolling"});return i[0]}function Z(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,f=h(a.nScrollHead),g=f[0].style,j=f.children("div"),i=j[0].style,o=j.children("table"),j=a.nScrollBody,l=h(j),q=j.style,u=h(a.nScrollFoot).children("div"),
|
var b=i.children(),k=b[0],f=b[1],t=l?b[2]:null;if(d)h(f).on("scroll.DT",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(t.scrollLeft=a)});h(f).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:ka,sName:"scrolling"});return i[0]}function ka(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,f=h(a.nScrollHead),g=f[0].style,j=f.children("div"),i=j[0].style,n=j.children("table"),j=a.nScrollBody,l=h(j),q=j.style,t=h(a.nScrollFoot).children("div"),
|
||||||
m=u.children("table"),n=h(a.nTHead),p=h(a.nTable),t=p[0],v=t.style,r=a.nTFoot?h(a.nTFoot):null,Eb=a.oBrowser,Ua=Eb.bScrollOversize,s,L,P,x,y=[],z=[],A=[],B,C=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};L=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==L&&a.scrollBarVis!==k)a.scrollBarVis=L,U(a);else{a.scrollBarVis=L;p.children("thead, tfoot").remove();x=n.clone().prependTo(p);n=n.find("tr");L=x.find("tr");x.find("th, td").removeAttr("tabindex");
|
m=t.children("table"),o=h(a.nTHead),F=h(a.nTable),p=F[0],r=p.style,u=a.nTFoot?h(a.nTFoot):null,Eb=a.oBrowser,Ua=Eb.bScrollOversize,s=G(a.aoColumns,"nTh"),P,v,w,y,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};v=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==v&&a.scrollBarVis!==k)a.scrollBarVis=v,Y(a);else{a.scrollBarVis=v;F.children("thead, tfoot").remove();u&&(w=u.clone().prependTo(F),P=u.find("tr"),w=
|
||||||
r&&(P=r.clone().prependTo(p),s=r.find("tr"),P=P.find("tr"));c||(q.width="100%",f[0].style.width="100%");h.each(qa(a,x),function(b,c){B=$(a,b);c.style.width=a.aoColumns[B].sWidth});r&&I(function(a){a.style.width=""},P);f=p.outerWidth();if(""===c){v.width="100%";if(Ua&&(p.find("tbody").height()>j.offsetHeight||"scroll"==l.css("overflow-y")))v.width=w(p.outerWidth()-b);f=p.outerWidth()}else""!==d&&(v.width=w(d),f=p.outerWidth());I(C,L);I(function(a){A.push(a.innerHTML);y.push(w(h(a).css("width")))},
|
w.find("tr"));y=o.clone().prependTo(F);o=o.find("tr");v=y.find("tr");y.find("th, td").removeAttr("tabindex");c||(q.width="100%",f[0].style.width="100%");h.each(qa(a,y),function(b,c){D=Z(a,b);c.style.width=a.aoColumns[D].sWidth});u&&J(function(a){a.style.width=""},w);f=F.outerWidth();if(""===c){r.width="100%";if(Ua&&(F.find("tbody").height()>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=x(F.outerWidth()-b);f=F.outerWidth()}else""!==d&&(r.width=x(d),f=F.outerWidth());J(E,v);J(function(a){B.push(a.innerHTML);
|
||||||
L);I(function(a,b){a.style.width=y[b]},n);h(L).height(0);r&&(I(C,P),I(function(a){z.push(w(h(a).css("width")))},P),I(function(a,b){a.style.width=z[b]},s),h(P).height(0));I(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+A[b]+"</div>";a.style.width=y[b]},L);r&&I(function(a,b){a.innerHTML="";a.style.width=z[b]},P);if(p.outerWidth()<f){s=j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(Ua&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))v.width=
|
z.push(x(h(a).css("width")))},v);J(function(a,b){if(h.inArray(a,s)!==-1)a.style.width=z[b]},o);h(v).height(0);u&&(J(E,w),J(function(a){C.push(a.innerHTML);A.push(x(h(a).css("width")))},w),J(function(a,b){a.style.width=A[b]},P),h(w).height(0));J(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+B[b]+"</div>";a.style.width=z[b]},v);u&&J(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+C[b]+"</div>";a.style.width=
|
||||||
w(s-b);(""===c||""!==d)&&K(a,1,"Possible column misalignment",6)}else s="100%";q.width=w(s);g.width=w(s);r&&(a.nScrollFoot.style.width=w(s));!e&&Ua&&(q.height=w(t.offsetHeight+b));c=p.outerWidth();o[0].style.width=w(c);i.width=w(c);d=p.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+(Eb.bScrollbarLeft?"Left":"Right");i[e]=d?b+"px":"0px";r&&(m[0].style.width=w(c),u[0].style.width=w(c),u[0].style[e]=d?b+"px":"0px");l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=
|
A[b]},w);if(F.outerWidth()<f){P=j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(Ua&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=x(P-b);(""===c||""!==d)&&L(a,1,"Possible column misalignment",6)}else P="100%";q.width=x(P);g.width=x(P);u&&(a.nScrollFoot.style.width=x(P));!e&&Ua&&(q.height=x(p.offsetHeight+b));c=F.outerWidth();n[0].style.width=x(c);i.width=x(c);d=F.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+(Eb.bScrollbarLeft?"Left":
|
||||||
0}}function I(a,b,c){for(var d=0,e=0,f=b.length,g,j;e<f;){g=b[e].firstChild;for(j=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,j,d):a(g,d),d++),g=g.nextSibling,j=c?j.nextSibling:null;e++}}function Ha(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,j=c.length,i=aa(a,"bVisible"),o=h("th",a.nTHead),l=b.getAttribute("width"),k=b.parentNode,u=!1,m,n,p=a.oBrowser,d=p.bScrollOversize;(m=b.style.width)&&-1!==m.indexOf("%")&&(l=m);for(m=0;m<i.length;m++)n=c[i[m]],null!==n.sWidth&&
|
"Right");i[e]=d?b+"px":"0px";u&&(m[0].style.width=x(c),t[0].style.width=x(c),t[0].style[e]=d?b+"px":"0px");F.children("colgroup").insertBefore(F.children("thead"));l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}}function J(a,b,c){for(var d=0,e=0,f=b.length,g,j;e<f;){g=b[e].firstChild;for(j=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,j,d):a(g,d),d++),g=g.nextSibling,j=c?j.nextSibling:null;e++}}function Fa(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,
|
||||||
(n.sWidth=Fb(n.sWidthOrig,k),u=!0);if(d||!u&&!f&&!e&&j==ca(a)&&j==o.length)for(m=0;m<j;m++)i=$(a,m),null!==i&&(c[i].sWidth=w(o.eq(m).width()));else{j=h(b).clone().css("visibility","hidden").removeAttr("id");j.find("tbody tr").remove();var t=h("<tr/>").appendTo(j.find("tbody"));j.find("thead, tfoot").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find("tfoot th, tfoot td").css("width","");o=qa(a,j.find("thead")[0]);for(m=0;m<i.length;m++)n=c[i[m]],o[m].style.width=null!==n.sWidthOrig&&
|
j=c.length,i=la(a,"bVisible"),n=h("th",a.nTHead),l=b.getAttribute("width"),k=b.parentNode,t=!1,m,o,p=a.oBrowser,d=p.bScrollOversize;(m=b.style.width)&&-1!==m.indexOf("%")&&(l=m);for(m=0;m<i.length;m++)o=c[i[m]],null!==o.sWidth&&(o.sWidth=Fb(o.sWidthOrig,k),t=!0);if(d||!t&&!f&&!e&&j==aa(a)&&j==n.length)for(m=0;m<j;m++)i=Z(a,m),null!==i&&(c[i].sWidth=x(n.eq(m).width()));else{j=h(b).clone().css("visibility","hidden").removeAttr("id");j.find("tbody tr").remove();var r=h("<tr/>").appendTo(j.find("tbody"));
|
||||||
""!==n.sWidthOrig?w(n.sWidthOrig):"",n.sWidthOrig&&f&&h(o[m]).append(h("<div/>").css({width:n.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(m=0;m<i.length;m++)u=i[m],n=c[u],h(Gb(a,u)).clone(!1).append(n.sContentPadding).appendTo(t);n=h("<div/>").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css("width","auto"),j.removeAttr("width"),j.width()<k.clientWidth&&l&&j.width(k.clientWidth)):e?j.width(k.clientWidth):
|
j.find("thead, tfoot").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find("tfoot th, tfoot td").css("width","");n=qa(a,j.find("thead")[0]);for(m=0;m<i.length;m++)o=c[i[m]],n[m].style.width=null!==o.sWidthOrig&&""!==o.sWidthOrig?x(o.sWidthOrig):"",o.sWidthOrig&&f&&h(n[m]).append(h("<div/>").css({width:o.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(m=0;m<i.length;m++)t=i[m],o=c[t],h(Gb(a,t)).clone(!1).append(o.sContentPadding).appendTo(r);h("[name]",
|
||||||
l&&j.width(l);for(m=e=0;m<i.length;m++)k=h(o[m]),g=k.outerWidth()-k.width(),k=p.bBounding?Math.ceil(o[m].getBoundingClientRect().width):k.outerWidth(),e+=k,c[i[m]].sWidth=w(k-g);b.style.width=w(e);n.remove()}l&&(b.style.width=w(l));if((l||f)&&!a._reszEvt)b=function(){h(E).bind("resize.DT-"+a.sInstance,ua(function(){U(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0}function ua(a,b){var c=b!==k?b:200,d,e;return function(){var b=this,g=+new Date,j=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=
|
j).removeAttr("name");o=h("<div/>").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css("width","auto"),j.removeAttr("width"),j.width()<k.clientWidth&&l&&j.width(k.clientWidth)):e?j.width(k.clientWidth):l&&j.width(l);for(m=e=0;m<i.length;m++)k=h(n[m]),g=k.outerWidth()-k.width(),k=p.bBounding?Math.ceil(n[m].getBoundingClientRect().width):k.outerWidth(),e+=k,c[i[m]].sWidth=x(k-g);b.style.width=x(e);o.remove()}l&&(b.style.width=
|
||||||
k;a.apply(b,j)},c)):(d=g,a.apply(b,j))}}function Fb(a,b){if(!a)return 0;var c=h("<div/>").css("width",w(a)).appendTo(b||H.body),d=c[0].offsetWidth;c.remove();return d}function Gb(a,b){var c=Hb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h("<td/>").html(B(a,c,b,"display"))[0]:d.anCells[b]}function Hb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=B(a,f,b,"display")+"",c=c.replace($b,""),c=c.replace(/ /g," "),c.length>d&&(d=c.length,e=f);return e}function w(a){return null===
|
x(l));if((l||f)&&!a._reszEvt)b=function(){h(D).bind("resize.DT-"+a.sInstance,Oa(function(){Y(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0}function Fb(a,b){if(!a)return 0;var c=h("<div/>").css("width",x(a)).appendTo(b||I.body),d=c[0].offsetWidth;c.remove();return d}function Gb(a,b){var c=Hb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h("<td/>").html(B(a,c,b,"display"))[0]:d.anCells[b]}function Hb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=B(a,f,b,"display")+"",c=c.replace($b,
|
||||||
a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function W(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var o=[];f=function(a){a.length&&!h.isArray(a[0])?o.push(a):h.merge(o,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<o.length;a++){i=o[a][0];f=e[i].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],j=e[g].sType||"string",o[a]._idx===k&&(o[a]._idx=h.inArray(o[a][1],e[g].asSorting)),d.push({src:i,col:g,dir:o[a][1],
|
""),c=c.replace(/ /g," "),c.length>d&&(d=c.length,e=f);return e}function x(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function V(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var n=[];f=function(a){a.length&&!h.isArray(a[0])?n.push(a):h.merge(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<n.length;a++){i=n[a][0];f=e[i].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],j=e[g].sType||
|
||||||
index:o[a]._idx,type:j,formatter:m.ext.type.order[j+"-pre"]})}return d}function mb(a){var b,c,d=[],e=m.ext.type.order,f=a.aoData,g=0,j,i=a.aiDisplayMaster,h;Ia(a);h=W(a);b=0;for(c=h.length;b<c;b++)j=h[b],j.formatter&&g++,Ib(a,j.col);if("ssp"!=y(a)&&0!==h.length){b=0;for(c=i.length;b<c;b++)d[i[b]]=b;g===h.length?i.sort(function(a,b){var c,e,g,j,i=h.length,k=f[a]._aSortData,m=f[b]._aSortData;for(g=0;g<i;g++)if(j=h[g],c=k[j.col],e=m[j.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===j.dir?c:-c;c=d[a];e=d[b];
|
"string",n[a]._idx===k&&(n[a]._idx=h.inArray(n[a][1],e[g].asSorting)),d.push({src:i,col:g,dir:n[a][1],index:n[a]._idx,type:j,formatter:m.ext.type.order[j+"-pre"]})}return d}function mb(a){var b,c,d=[],e=m.ext.type.order,f=a.aoData,g=0,j,i=a.aiDisplayMaster,h;Ga(a);h=V(a);b=0;for(c=h.length;b<c;b++)j=h[b],j.formatter&&g++,Ib(a,j.col);if("ssp"!=y(a)&&0!==h.length){b=0;for(c=i.length;b<c;b++)d[i[b]]=b;g===h.length?i.sort(function(a,b){var c,e,g,j,i=h.length,k=f[a]._aSortData,m=f[b]._aSortData;for(g=
|
||||||
return c<e?-1:c>e?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,m=f[a]._aSortData,p=f[b]._aSortData;for(j=0;j<k;j++)if(i=h[j],c=m[i.col],g=p[i.col],i=e[i.type+"-"+i.dir]||e["string-"+i.dir],c=i(c,g),0!==c)return c;c=d[a];g=d[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,d=a.aoColumns,e=W(a),a=a.oLanguage.oAria,f=0,g=d.length;f<g;f++){c=d[f];var j=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(i.setAttribute("aria-sort",
|
0;g<i;g++)if(j=h[g],c=k[j.col],e=m[j.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===j.dir?c:-c;c=d[a];e=d[b];return c<e?-1:c>e?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,m=f[a]._aSortData,p=f[b]._aSortData;for(j=0;j<k;j++)if(i=h[j],c=m[i.col],g=p[i.col],i=e[i.type+"-"+i.dir]||e["string-"+i.dir],c=i(c,g),0!==c)return c;c=d[a];g=d[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,d=a.aoColumns,e=V(a),a=a.oLanguage.oAria,f=0,g=d.length;f<g;f++){c=d[f];var j=c.asSorting;b=c.sTitle.replace(/<.*?>/g,
|
||||||
"asc"==e[0].dir?"ascending":"descending"),c=j[e[0].index+1]||j[0]):c=j[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);i.setAttribute("aria-label",b)}}function Va(a,b,c,d){var e=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+1<f.length?c+1:b?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,D(e,"0")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=
|
"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(i.setAttribute("aria-sort","asc"==e[0].dir?"ascending":"descending"),c=j[e[0].index+1]||j[0]):c=j[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);i.setAttribute("aria-label",b)}}function Va(a,b,c,d){var e=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+1<f.length?c+1:b?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,
|
||||||
b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);T(a);"function"==typeof d&&d(a)}function Oa(a,b,c,d){var e=a.aoColumns[c];Wa(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Va(a,c,b.shiftKey,d);"ssp"!==y(a)&&C(a,!1)},0)):Va(a,c,b.shiftKey,d))})}function xa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=W(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=
|
G(e,"0")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);T(a);"function"==typeof d&&d(a)}function Ma(a,b,c,d){var e=a.aoColumns[c];Wa(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Va(a,c,b.shiftKey,d);"ssp"!==y(a)&&C(a,!1)},0)):Va(a,c,b.shiftKey,d))})}
|
||||||
0;for(f=b.length;e<f;e++)g=b[e].src,h(D(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)g=d[e].src,h(D(a.aoData,"anCells",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function Ib(a,b){var c=a.aoColumns[b],d=m.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ba(a,b)));for(var f,g=m.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j<i;j++)if(c=a.aoData[j],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[j]:B(a,j,b,"sort"),c._aSortData[b]=g?g(f):f}function ya(a){if(a.oFeatures.bStateSave&&
|
function va(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=V(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)g=b[e].src,h(G(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)g=d[e].src,h(G(a.aoData,"anCells",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function Ib(a,b){var c=a.aoColumns[b],d=m.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,$(a,b)));for(var f,g=m.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j<i;j++)if(c=a.aoData[j],
|
||||||
!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:Ab(a.oPreviousSearch),columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:Ab(a.aoPreSearchCols[d])}})};v(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function Kb(a){var b,c,d=a.aoColumns;if(a.oFeatures.bStateSave){var e=a.fnStateLoadCallback.call(a.oInstance,a);if(e&&e.time&&(b=v(a,"aoStateLoadParams",
|
c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[j]:B(a,j,b,"sort"),c._aSortData[b]=g?g(f):f}function wa(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:Ab(a.oPreviousSearch),columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:Ab(a.aoPreSearchCols[d])}})};u(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,
|
||||||
"stateLoadParams",[a,e]),-1===h.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&e.time<+new Date-1E3*b)&&d.length===e.columns.length))){a.oLoadedState=h.extend(!0,{},e);e.start!==k&&(a._iDisplayStart=e.start,a.iInitDisplayStart=e.start);e.length!==k&&(a._iDisplayLength=e.length);e.order!==k&&(a.aaSorting=[],h.each(e.order,function(b,c){a.aaSorting.push(c[0]>=d.length?[0,c[1]]:c)}));e.search!==k&&h.extend(a.oPreviousSearch,Bb(e.search));b=0;for(c=e.columns.length;b<c;b++){var f=e.columns[b];f.visible!==
|
b)}}function Kb(a){var b,c,d=a.aoColumns;if(a.oFeatures.bStateSave){var e=a.fnStateLoadCallback.call(a.oInstance,a);if(e&&e.time&&(b=u(a,"aoStateLoadParams","stateLoadParams",[a,e]),-1===h.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&e.time<+new Date-1E3*b)&&d.length===e.columns.length))){a.oLoadedState=h.extend(!0,{},e);e.start!==k&&(a._iDisplayStart=e.start,a.iInitDisplayStart=e.start);e.length!==k&&(a._iDisplayLength=e.length);e.order!==k&&(a.aaSorting=[],h.each(e.order,function(b,c){a.aaSorting.push(c[0]>=
|
||||||
k&&(d[b].bVisible=f.visible);f.search!==k&&h.extend(a.aoPreSearchCols[b],Bb(f.search))}v(a,"aoStateLoaded","stateLoaded",[a,e])}}}function za(a){var b=m.settings,a=h.inArray(a,D(b,"nTable"));return-1!==a?b[a]:null}function K(a,b,c,d){c="DataTables warning: "+(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)E.console&&console.log&&console.log(c);else if(b=m.ext,b=b.sErrMode||b.errMode,a&&v(a,null,"error",[a,d,c]),"alert"==
|
d.length?[0,c[1]]:c)}));e.search!==k&&h.extend(a.oPreviousSearch,Bb(e.search));b=0;for(c=e.columns.length;b<c;b++){var f=e.columns[b];f.visible!==k&&(d[b].bVisible=f.visible);f.search!==k&&h.extend(a.aoPreSearchCols[b],Bb(f.search))}u(a,"aoStateLoaded","stateLoaded",[a,e])}}}function xa(a){var b=m.settings,a=h.inArray(a,G(b,"nTable"));return-1!==a?b[a]:null}function L(a,b,c,d){c="DataTables warning: "+(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+
|
||||||
b)alert(c);else{if("throw"==b)throw Error(c);"function"==typeof b&&b(a,d,c)}}function F(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?F(a,b,d[0],d[1]):F(a,b,d)}):(d===k&&(d=c),b[c]!==k&&(a[d]=b[c]))}function Lb(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==e&&h.isArray(d)?d.slice():d);return a}function Wa(a,b,c){h(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",
|
d);if(b)D.console&&console.log&&console.log(c);else if(b=m.ext,b=b.sErrMode||b.errMode,a&&u(a,null,"error",[a,d,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==typeof b&&b(a,d,c)}}function E(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?E(a,b,d[0],d[1]):E(a,b,d)}):(d===k&&(d=c),b[c]!==k&&(a[d]=b[c]))}function Lb(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==
|
||||||
b,function(a){13===a.which&&(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function v(a,b,c,d){var e=[];b&&(e=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&(b=h.Event(c+".dt"),h(a.nTable).trigger(b,d),e.push(b.result));return e}function Sa(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Pa(a,b){var c=
|
e&&h.isArray(d)?d.slice():d);return a}function Wa(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,d){c&&a[b].push({fn:c,sName:d})}function u(a,b,c,d){var e=[];b&&(e=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&(b=h.Event(c+".dt"),h(a.nTable).trigger(b,d),e.push(b.result));return e}function Sa(a){var b=a._iDisplayStart,
|
||||||
a.renderer,d=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Aa(a,b){var c=[],c=Mb.numbers_length,d=Math.floor(c/2);b<=c?c=X(0,b):a<=d?(c=X(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=X(b-(c-2),b):(c=X(a-d+2,a+d-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 Ba(b,
|
c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Na(a,b){var c=a.renderer,d=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function ya(a,b){var c=[],c=Mb.numbers_length,d=Math.floor(c/2);b<=c?c=W(0,b):a<=d?(c=W(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=W(b-(c-2),b):(c=W(a-d+2,a+d-1),c.push("ellipsis"),
|
||||||
a)},"num-fmt":function(b){return Ba(b,a,Xa)},"html-num":function(b){return Ba(b,a,Ca)},"html-num-fmt":function(b){return Ba(b,a,Ca,Xa)}},function(b,c){s.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(s.type.search[b+a]=s.type.search.html)})}function Nb(a){return function(){var b=[za(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return m.ext.internal[a].apply(this,b)}}var m,s,t,p,r,Ya={},Ob=/[\r\n]/g,Ca=/<.*?>/g,ac=/^[\w\+\-]/,bc=/[\w\+\-]$/,Yb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)",
|
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 za(b,a)},"num-fmt":function(b){return za(b,a,Xa)},"html-num":function(b){return za(b,a,Aa)},"html-num-fmt":function(b){return za(b,a,Aa,Xa)}},function(b,c){v.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(v.type.search[b+a]=v.type.search.html)})}function Nb(a){return function(){var b=[xa(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return m.ext.internal[a].apply(this,
|
||||||
"g"),Xa=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,M=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],"."):a},Za=function(a,b,c){var d="string"===typeof a;if(M(a))return!0;b&&d&&(a=Qb(a,b));c&&d&&(a=a.replace(Xa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return M(a)?!0:!(M(a)||"string"===
|
b)}}var m=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 r(xa(this[v.iApiIndex])):new r(this)};this.fnAddData=function(a,b){var c=this.api(!0),d=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 d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):
|
||||||
typeof a)?null:Za(a.replace(Ca,""),b,c)?!0:null},D=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},ja=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==k)for(;f<g;f++)a[b[f]][c]&&e.push(a[b[f]][c][d]);else for(;f<g;f++)e.push(a[b[f]][c]);return e},X=function(a,b){var c=[],d;b===k?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Sb=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);
|
(""!==d.sX||""!==d.sY)&&ka(c)};this.fnClearTable=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 d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.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,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,
|
||||||
return b},pa=function(a){var b=[],c,d,e=a.length,f,g=0;d=0;a:for(;d<e;d++){c=a[d];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])},da=/\[.*?\]$/,V=/\(\)$/,wa=h("<div>")[0],Zb=wa.textContent!==k,$b=/<.*?>/g;m=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 t(za(this[s.iApiIndex])):new t(this)};this.fnAddData=function(a,b){var c=this.api(!0),
|
c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==d||"th"==d?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(),
|
||||||
d=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 d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):(""!==d.sX||""!==d.sY)&&Z(c)};this.fnClearTable=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 d=this.api(!0),a=d.rows(a),e=a.settings()[0],
|
[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===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 xa(this[v.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=
|
||||||
h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.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,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};
|
function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();(d===k||d)&&h.draw();return 0};this.fnVersionCheck=v.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=v.internal;for(var e in m.ext.internal)e&&(this[e]=Nb(e));this.each(function(){var e={},e=1<d?Lb(e,a,!0):a,g=0,j,i=this.getAttribute("id"),n=!1,l=m.defaults,q=h(this);if("table"!=
|
||||||
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};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);
|
this.nodeName.toLowerCase())L(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{eb(l);fb(l.column);K(l,l,!0);K(l.column,l.column,!0);K(l,h.extend(e,q.data()));var t=m.settings,g=0;for(j=t.length;g<j;g++){var p=t[g];if(p.nTable==this||p.nTHead.parentNode==this||p.nTFoot&&p.nTFoot.parentNode==this){g=e.bRetrieve!==k?e.bRetrieve:l.bRetrieve;if(c||g)return p.oInstance;if(e.bDestroy!==k?e.bDestroy:l.bDestroy){p.oInstance.fnDestroy();break}else{L(p,0,"Cannot reinitialise DataTable",3);
|
||||||
(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[s.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,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();(d===k||d)&&h.draw();return 0};this.fnVersionCheck=
|
return}}if(p.sTableId==this.id){t.splice(g,1);break}}if(null===i||""===i)this.id=i="DataTables_Table_"+m.ext._unique++;var o=h.extend(!0,{},m.models.oSettings,{sDestroyWidth:q[0].style.width,sInstance:i,sTableId:i});o.nTable=this;o.oApi=b.internal;o.oInit=e;t.push(o);o.oInstance=1===b.length?b:q.dataTable();eb(e);e.oLanguage&&Da(e.oLanguage);e.aLengthMenu&&!e.iDisplayLength&&(e.iDisplayLength=h.isArray(e.aLengthMenu[0])?e.aLengthMenu[0][0]:e.aLengthMenu[0]);e=Lb(h.extend(!0,{},l),e);E(o.oFeatures,
|
||||||
s.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=s.internal;for(var e in m.ext.internal)e&&(this[e]=Nb(e));this.each(function(){var e={},e=1<d?Lb(e,a,!0):a,g=0,j,i=this.getAttribute("id"),o=!1,l=m.defaults,q=h(this);if("table"!=this.nodeName.toLowerCase())K(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{eb(l);fb(l.column);J(l,l,!0);J(l.column,l.column,!0);J(l,h.extend(e,q.data()));var u=m.settings,g=0;for(j=u.length;g<j;g++){var p=u[g];if(p.nTable==
|
e,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));E(o,e,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols",
|
||||||
this||p.nTHead.parentNode==this||p.nTFoot&&p.nTFoot.parentNode==this){g=e.bRetrieve!==k?e.bRetrieve:l.bRetrieve;if(c||g)return p.oInstance;if(e.bDestroy!==k?e.bDestroy:l.bDestroy){p.oInstance.fnDestroy();break}else{K(p,0,"Cannot reinitialise DataTable",3);return}}if(p.sTableId==this.id){u.splice(g,1);break}}if(null===i||""===i)this.id=i="DataTables_Table_"+m.ext._unique++;var n=h.extend(!0,{},m.models.oSettings,{sDestroyWidth:q[0].style.width,sInstance:i,sTableId:i});n.nTable=this;n.oApi=b.internal;
|
"aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);E(o.oScroll,e,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);E(o.oLanguage,e,"fnInfoCallback");z(o,"aoDrawCallback",e.fnDrawCallback,"user");z(o,"aoServerParams",e.fnServerParams,"user");z(o,"aoStateSaveParams",e.fnStateSaveParams,"user");z(o,"aoStateLoadParams",e.fnStateLoadParams,"user");z(o,"aoStateLoaded",e.fnStateLoaded,"user");z(o,"aoRowCallback",e.fnRowCallback,
|
||||||
n.oInit=e;u.push(n);n.oInstance=1===b.length?b:q.dataTable();eb(e);e.oLanguage&&Fa(e.oLanguage);e.aLengthMenu&&!e.iDisplayLength&&(e.iDisplayLength=h.isArray(e.aLengthMenu[0])?e.aLengthMenu[0][0]:e.aLengthMenu[0]);e=Lb(h.extend(!0,{},l),e);F(n.oFeatures,e,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));F(n,e,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu",
|
"user");z(o,"aoRowCreatedCallback",e.fnCreatedRow,"user");z(o,"aoHeaderCallback",e.fnHeaderCallback,"user");z(o,"aoFooterCallback",e.fnFooterCallback,"user");z(o,"aoInitComplete",e.fnInitComplete,"user");z(o,"aoPreDrawCallback",e.fnPreDrawCallback,"user");o.rowIdFn=Q(e.rowId);gb(o);i=o.oClasses;e.bJQueryUI?(h.extend(i,m.ext.oJUIClasses,e.oClasses),e.sDom===l.sDom&&"lfrtip"===l.sDom&&(o.sDom='<"H"lfr>t<"F"ip>'),o.renderer)?h.isPlainObject(o.renderer)&&!o.renderer.header&&(o.renderer.header="jqueryui"):
|
||||||
"sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);F(n.oScroll,e,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);F(n.oLanguage,e,"fnInfoCallback");z(n,"aoDrawCallback",
|
o.renderer="jqueryui":h.extend(i,m.ext.classes,e.oClasses);q.addClass(i.sTable);o.iInitDisplayStart===k&&(o.iInitDisplayStart=e.iDisplayStart,o._iDisplayStart=e.iDisplayStart);null!==e.iDeferLoading&&(o.bDeferLoading=!0,g=h.isArray(e.iDeferLoading),o._iRecordsDisplay=g?e.iDeferLoading[0]:e.iDeferLoading,o._iRecordsTotal=g?e.iDeferLoading[1]:e.iDeferLoading);var r=o.oLanguage;h.extend(!0,r,e.oLanguage);""!==r.sUrl&&(h.ajax({dataType:"json",url:r.sUrl,success:function(a){Da(a);K(l.oLanguage,a);h.extend(true,
|
||||||
e.fnDrawCallback,"user");z(n,"aoServerParams",e.fnServerParams,"user");z(n,"aoStateSaveParams",e.fnStateSaveParams,"user");z(n,"aoStateLoadParams",e.fnStateLoadParams,"user");z(n,"aoStateLoaded",e.fnStateLoaded,"user");z(n,"aoRowCallback",e.fnRowCallback,"user");z(n,"aoRowCreatedCallback",e.fnCreatedRow,"user");z(n,"aoHeaderCallback",e.fnHeaderCallback,"user");z(n,"aoFooterCallback",e.fnFooterCallback,"user");z(n,"aoInitComplete",e.fnInitComplete,"user");z(n,"aoPreDrawCallback",e.fnPreDrawCallback,
|
r,a);ga(o)},error:function(){ga(o)}}),n=!0);null===e.asStripeClasses&&(o.asStripeClasses=[i.sStripeOdd,i.sStripeEven]);var g=o.asStripeClasses,v=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(g,function(a){return v.hasClass(a)}))&&(h("tbody tr",this).removeClass(g.join(" ")),o.asDestroyStripes=g.slice());t=[];g=this.getElementsByTagName("thead");0!==g.length&&(da(o.aoHeader,g[0]),t=qa(o));if(null===e.aoColumns){p=[];g=0;for(j=t.length;g<j;g++)p.push(null)}else p=e.aoColumns;g=0;for(j=
|
||||||
"user");n.rowIdFn=Q(e.rowId);gb(n);i=n.oClasses;e.bJQueryUI?(h.extend(i,m.ext.oJUIClasses,e.oClasses),e.sDom===l.sDom&&"lfrtip"===l.sDom&&(n.sDom='<"H"lfr>t<"F"ip>'),n.renderer)?h.isPlainObject(n.renderer)&&!n.renderer.header&&(n.renderer.header="jqueryui"):n.renderer="jqueryui":h.extend(i,m.ext.classes,e.oClasses);q.addClass(i.sTable);n.iInitDisplayStart===k&&(n.iInitDisplayStart=e.iDisplayStart,n._iDisplayStart=e.iDisplayStart);null!==e.iDeferLoading&&(n.bDeferLoading=!0,g=h.isArray(e.iDeferLoading),
|
p.length;g<j;g++)Ea(o,t?t[g]:null);ib(o,e.aoColumnDefs,p,function(a,b){ja(o,a,b)});if(v.length){var s=function(a,b){return a.getAttribute("data-"+b)!==null?b:null};h(v[0]).children("th, td").each(function(a,b){var c=o.aoColumns[a];if(c.mData===a){var d=s(b,"sort")||s(b,"order"),e=s(b,"filter")||s(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};ja(o,a)}}})}var w=o.oFeatures;e.bStateSave&&(w.bStateSave=
|
||||||
n._iRecordsDisplay=g?e.iDeferLoading[0]:e.iDeferLoading,n._iRecordsTotal=g?e.iDeferLoading[1]:e.iDeferLoading);var t=n.oLanguage;h.extend(!0,t,e.oLanguage);""!==t.sUrl&&(h.ajax({dataType:"json",url:t.sUrl,success:function(a){Fa(a);J(l.oLanguage,a);h.extend(true,t,a);ia(n)},error:function(){ia(n)}}),o=!0);null===e.asStripeClasses&&(n.asStripeClasses=[i.sStripeOdd,i.sStripeEven]);var g=n.asStripeClasses,r=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(g,function(a){return r.hasClass(a)}))&&
|
!0,Kb(o,e),z(o,"aoDrawCallback",wa,"state_save"));if(e.aaSorting===k){t=o.aaSorting;g=0;for(j=t.length;g<j;g++)t[g][1]=o.aoColumns[g].asSorting[0]}va(o);w.bSort&&z(o,"aoDrawCallback",function(){if(o.bSorted){var a=V(o),b={};h.each(a,function(a,c){b[c.src]=c.dir});u(o,null,"order",[o,a,b]);Jb(o)}});z(o,"aoDrawCallback",function(){(o.bSorted||y(o)==="ssp"||w.bDeferRender)&&va(o)},"sc");g=q.children("caption").each(function(){this._captionSide=q.css("caption-side")});j=q.children("thead");0===j.length&&
|
||||||
(h("tbody tr",this).removeClass(g.join(" ")),n.asDestroyStripes=g.slice());u=[];g=this.getElementsByTagName("thead");0!==g.length&&(fa(n.aoHeader,g[0]),u=qa(n));if(null===e.aoColumns){p=[];g=0;for(j=u.length;g<j;g++)p.push(null)}else p=e.aoColumns;g=0;for(j=p.length;g<j;g++)Ga(n,u?u[g]:null);ib(n,e.aoColumnDefs,p,function(a,b){la(n,a,b)});if(r.length){var s=function(a,b){return a.getAttribute("data-"+b)!==null?b:null};h(r[0]).children("th, td").each(function(a,b){var c=n.aoColumns[a];if(c.mData===
|
(j=h("<thead/>").appendTo(this));o.nTHead=j[0];j=q.children("tbody");0===j.length&&(j=h("<tbody/>").appendTo(this));o.nTBody=j[0];j=q.children("tfoot");if(0===j.length&&0<g.length&&(""!==o.oScroll.sX||""!==o.oScroll.sY))j=h("<tfoot/>").appendTo(this);0===j.length||0===j.children().length?q.addClass(i.sNoFooter):0<j.length&&(o.nTFoot=j[0],da(o.aoFooter,o.nTFoot));if(e.aaData)for(g=0;g<e.aaData.length;g++)N(o,e.aaData[g]);else(o.bDeferLoading||"dom"==y(o))&&ma(o,h(o.nTBody).children("tr"));o.aiDisplay=
|
||||||
a){var d=s(b,"sort")||s(b,"order"),e=s(b,"filter")||s(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};la(n,a)}}})}var w=n.oFeatures;e.bStateSave&&(w.bStateSave=!0,Kb(n,e),z(n,"aoDrawCallback",ya,"state_save"));if(e.aaSorting===k){u=n.aaSorting;g=0;for(j=u.length;g<j;g++)u[g][1]=n.aoColumns[g].asSorting[0]}xa(n);w.bSort&&z(n,"aoDrawCallback",function(){if(n.bSorted){var a=W(n),b={};h.each(a,function(a,
|
o.aiDisplayMaster.slice();o.bInitialised=!0;!1===n&&ga(o)}});b=null;return this},v,r,p,s,Ya={},Ob=/[\r\n]/g,Aa=/<.*?>/g,ac=/^[\w\+\-]/,bc=/[\w\+\-]$/,cc=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Xa=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,M=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(Qa(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,
|
||||||
c){b[c.src]=c.dir});v(n,null,"order",[n,a,b]);Jb(n)}});z(n,"aoDrawCallback",function(){(n.bSorted||y(n)==="ssp"||w.bDeferRender)&&xa(n)},"sc");g=q.children("caption").each(function(){this._captionSide=q.css("caption-side")});j=q.children("thead");0===j.length&&(j=h("<thead/>").appendTo(this));n.nTHead=j[0];j=q.children("tbody");0===j.length&&(j=h("<tbody/>").appendTo(this));n.nTBody=j[0];j=q.children("tfoot");if(0===j.length&&0<g.length&&(""!==n.oScroll.sX||""!==n.oScroll.sY))j=h("<tfoot/>").appendTo(this);
|
"").replace(Ya[b],"."):a},Za=function(a,b,c){var d="string"===typeof a;if(M(a))return!0;b&&d&&(a=Qb(a,b));c&&d&&(a=a.replace(Xa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return M(a)?!0:!(M(a)||"string"===typeof a)?null:Za(a.replace(Aa,""),b,c)?!0:null},G=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},ha=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==k)for(;f<g;f++)a[b[f]][c]&&
|
||||||
0===j.length||0===j.children().length?q.addClass(i.sNoFooter):0<j.length&&(n.nTFoot=j[0],fa(n.aoFooter,n.nTFoot));if(e.aaData)for(g=0;g<e.aaData.length;g++)N(n,e.aaData[g]);else(n.bDeferLoading||"dom"==y(n))&&ma(n,h(n.nTBody).children("tr"));n.aiDisplay=n.aiDisplayMaster.slice();n.bInitialised=!0;!1===o&&ia(n)}});b=null;return this};var Tb=[],x=Array.prototype,cc=function(a){var b,c,d=m.settings,e=h.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=
|
e.push(a[b[f]][c][d]);else for(;f<g;f++)e.push(a[b[f]][c]);return e},W=function(a,b){var c=[],d;b===k?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Sb=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);return b},pa=function(a){var b=[],c,d,e=a.length,f,g=0;d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===c)continue a;b.push(c);g++}return b};m.util={throttle:function(a,b){var c=b!==k?b:200,d,e;return function(){var b=this,g=+new Date,h=arguments;d&&g<d+c?(clearTimeout(e),
|
||||||
h.inArray(a,e),-1!==b?[d[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,e);return-1!==b?d[b]:null}).toArray()};t=function(a,b){if(!(this instanceof t))return new t(a,b);var c=[],d=function(a){(a=cc(a))&&(c=c.concat(a))};if(h.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=pa(c);b&&h.merge(this,b);this.selector={rows:null,cols:null,opts:null};
|
e=setTimeout(function(){d=k;a.apply(b,h)},c)):(d=g,a.apply(b,h))}},escapeRegex:function(a){return a.replace(cc,"\\$1")}};var A=function(a,b,c){a[b]!==k&&(a[c]=a[b])},ba=/\[.*?\]$/,U=/\(\)$/,Qa=m.util.escapeRegex,ua=h("<div>")[0],Zb=ua.textContent!==k,$b=/<.*?>/g,Oa=m.util.throttle,Tb=[],w=Array.prototype,dc=function(a){var b,c,d=m.settings,e=h.map(d,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,e),-1!==b?[d[b]]:
|
||||||
t.extend(this,this,Tb)};m.Api=t;h.extend(t.prototype,{any:function(){return 0!==this.count()},concat:x.concat,context:[],count:function(){return this.flatten().length},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=[];if(x.filter)b=x.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new t(this.context,
|
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,e);return-1!==b?d[b]:null}).toArray()};r=function(a,b){if(!(this instanceof r))return new r(a,b);var c=[],d=function(a){(a=dc(a))&&(c=c.concat(a))};if(h.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=pa(c);b&&h.merge(this,b);this.selector={rows:null,cols:null,opts:null};r.extend(this,this,Tb)};
|
||||||
b)},flatten:function(){var a=[];return new t(this.context,a.concat.apply(a,this.toArray()))},join:x.join,indexOf:x.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,d){var e=[],f,g,h,i,o,l=this.context,m,p,r=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);g=0;for(h=l.length;g<h;g++){var n=new t(l[g]);if("table"===b)f=c.call(n,l[g],g),f!==k&&e.push(f);else if("columns"===b||"rows"===b)f=c.call(n,l[g],this[g],g),f!==k&&e.push(f);
|
m.Api=r;h.extend(r.prototype,{any:function(){return 0!==this.count()},concat:w.concat,context:[],count:function(){return this.flatten().length},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 r(b[a],this[a]):null},filter:function(a){var b=[];if(w.filter)b=w.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new r(this.context,b)},flatten:function(){var a=
|
||||||
else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){p=this[g];"column-rows"===b&&(m=Da(l[g],r.opts));i=0;for(o=p.length;i<o;i++)f=p[i],f="cell"===b?c.call(n,l[g],f.row,f.column,g,i):c.call(n,l[g],f,g,i,m),f!==k&&e.push(f)}}return e.length||d?(a=new t(l,a?e.concat.apply([],e):e),b=a.selector,b.rows=r.rows,b.cols=r.cols,b.opts=r.opts,a):this},lastIndexOf:x.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(x.map)b=
|
[];return new r(this.context,a.concat.apply(a,this.toArray()))},join:w.join,indexOf:w.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,d){var e=[],f,g,h,i,n,l=this.context,m,t,p=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);g=0;for(h=l.length;g<h;g++){var o=new r(l[g]);if("table"===b)f=c.call(o,l[g],g),f!==k&&e.push(f);else if("columns"===b||"rows"===b)f=c.call(o,l[g],this[g],g),f!==k&&e.push(f);else if("column"===b||"column-rows"===
|
||||||
x.map.call(this,a,this);else for(var c=0,d=this.length;c<d;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:x.pop,push:x.push,reduce:x.reduce||function(a,b){return hb(this,a,b,0,this.length,1)},reduceRight:x.reduceRight||function(a,b){return hb(this,a,b,this.length-1,-1,-1)},reverse:x.reverse,selector:null,shift:x.shift,sort:x.sort,splice:x.splice,toArray:function(){return x.slice.call(this)},to$:function(){return h(this)},
|
b||"row"===b||"cell"===b){t=this[g];"column-rows"===b&&(m=Ba(l[g],p.opts));i=0;for(n=t.length;i<n;i++)f=t[i],f="cell"===b?c.call(o,l[g],f.row,f.column,g,i):c.call(o,l[g],f,g,i,m),f!==k&&e.push(f)}}return e.length||d?(a=new r(l,a?e.concat.apply([],e):e),b=a.selector,b.rows=p.rows,b.cols=p.cols,b.opts=p.opts,a):this},lastIndexOf:w.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(w.map)b=w.map.call(this,a,this);else for(var c=
|
||||||
toJQuery:function(){return h(this)},unique:function(){return new t(this.context,pa(this))},unshift:x.unshift});t.extend=function(a,b,c){if(c.length&&b&&(b instanceof t||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=b.apply(a,arguments);t.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<e;d++)f=c[d],b[f.name]="function"===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=p=function(a,b){if(h.isArray(a))for(var c=
|
0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new r(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:w.pop,push:w.push,reduce:w.reduce||function(a,b){return hb(this,a,b,0,this.length,1)},reduceRight:w.reduceRight||function(a,b){return hb(this,a,b,this.length-1,-1,-1)},reverse:w.reverse,selector:null,shift:w.shift,sort:w.sort,splice:w.splice,toArray:function(){return w.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},
|
||||||
0,d=a.length;c<d;c++)t.register(a[c],b);else for(var e=a.split("."),f=Tb,g,j,c=0,d=e.length;c<d;c++){g=(j=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var i;a:{i=0;for(var k=f.length;i<k;i++)if(f[i].name===g){i=f[i];break a}i=null}i||(i={name:g,val:{},methodExt:[],propExt:[]},f.push(i));c===d-1?i.val=b:f=j?i.methodExt:i.propExt}};t.registerPlural=r=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])?
|
unique:function(){return new r(this.context,pa(this))},unshift:w.unshift});r.extend=function(a,b,c){if(c.length&&b&&(b instanceof r||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=b.apply(a,arguments);r.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<e;d++)f=c[d],b[f.name]="function"===typeof f.val?g(a,f.val,f):h.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,r.extend(a,b[f.name],f.propExt)}};r.register=p=function(a,b){if(h.isArray(a))for(var c=0,d=a.length;c<
|
||||||
new t(a.context,a[0]):a[0]:k:a})};p("tables()",function(a){var b;if(a){b=t;var c=this.context;if("number"===typeof a)a=[c[a]];else var d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var a=h.inArray(this,d);return c[a]}).toArray();b=new b(a)}else b=this;return b});p("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new t(b[0]):a});r("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});r("tables().body()",
|
d;c++)r.register(a[c],b);else for(var e=a.split("."),f=Tb,g,j,c=0,d=e.length;c<d;c++){g=(j=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var i;a:{i=0;for(var n=f.length;i<n;i++)if(f[i].name===g){i=f[i];break a}i=null}i||(i={name:g,val:{},methodExt:[],propExt:[]},f.push(i));c===d-1?i.val=b:f=j?i.methodExt:i.propExt}};r.registerPlural=s=function(a,b,c){r.register(a,c);r.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof r?a.length?h.isArray(a[0])?new r(a.context,
|
||||||
"table().body()",function(){return this.iterator("table",function(a){return a.nTBody},1)});r("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});r("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});r("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});p("draw()",function(a){return this.iterator("table",
|
a[0]):a[0]:k:a})};p("tables()",function(a){var b;if(a){b=r;var c=this.context;if("number"===typeof a)a=[c[a]];else var d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var a=h.inArray(this,d);return c[a]}).toArray();b=new b(a)}else b=this;return b});p("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new r(b[0]):a});s("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});s("tables().body()","table().body()",
|
||||||
function(b){"page"===a?O(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),T(b,!1===a))})});p("page()",function(a){return a===k?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});p("page.info()",function(){if(0===this.context.length)return k;var a=this.context[0],b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),
|
function(){return this.iterator("table",function(a){return a.nTBody},1)});s("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});s("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});s("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});p("draw()",function(a){return this.iterator("table",function(b){"page"===
|
||||||
recordsDisplay:d,serverSide:"ssp"===y(a)}});p("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 d=new t(a);d.one("draw",function(){c(d.ajax.json())})}if("ssp"==y(a))T(a,b);else{C(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();ra(a,[],function(c){na(a);for(var c=sa(a,c),d=0,e=c.length;d<e;d++)N(a,c[d]);T(a,b);C(a,!1)})}};p("ajax.json()",function(){var a=this.context;if(0<
|
a?O(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),T(b,!1===a))})});p("page()",function(a){return a===k?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});p("page.info()",function(){if(0===this.context.length)return k;var a=this.context[0],b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,
|
||||||
a.length)return a[0].json});p("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});p("ajax.reload()",function(a,b){return this.iterator("table",function(c){Ub(c,!1===b,a)})});p("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})});p("ajax.url().load()",function(a,b){return this.iterator("table",
|
serverSide:"ssp"===y(a)}});p("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 d=new r(a);d.one("draw",function(){c(d.ajax.json())})}if("ssp"==y(a))T(a,b);else{C(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();ra(a,[],function(c){na(a);for(var c=sa(a,c),d=0,e=c.length;d<e;d++)N(a,c[d]);T(a,b);C(a,!1)})}};p("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});
|
||||||
function(c){Ub(c,!1===b,a)})});var $a=function(a,b,c,d,e){var f=[],g,j,i,o,l,m;i=typeof b;if(!b||"string"===i||"function"===i||b.length===k)b=[b];i=0;for(o=b.length;i<o;i++){j=b[i]&&b[i].split?b[i].split(","):[b[i]];l=0;for(m=j.length;l<m;l++)(g=c("string"===typeof j[l]?h.trim(j[l]):j[l]))&&g.length&&(f=f.concat(g))}a=s.selector[a];if(a.length){i=0;for(o=a.length;i<o;i++)f=a[i](d,e,f)}return pa(f)},ab=function(a){a||(a={});a.filter&&a.search===k&&(a.search=a.filter);return h.extend({search:"none",
|
p("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});p("ajax.reload()",function(a,b){return this.iterator("table",function(c){Ub(c,!1===b,a)})});p("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})});p("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Ub(c,
|
||||||
order:"current",page:"all"},a)},bb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Da=function(a,b){var c,d,e,f=[],g=a.aiDisplay;c=a.aiDisplayMaster;var j=b.search;d=b.order;e=b.page;if("ssp"==y(a))return"removed"===j?[]:X(0,c.length);if("current"==e){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(g[c])}else if("current"==d||"applied"==d)f="none"==j?c.slice():"applied"==j?g.slice():h.map(c,
|
!1===b,a)})});var $a=function(a,b,c,d,e){var f=[],g,j,i,n,l,m;i=typeof b;if(!b||"string"===i||"function"===i||b.length===k)b=[b];i=0;for(n=b.length;i<n;i++){j=b[i]&&b[i].split?b[i].split(","):[b[i]];l=0;for(m=j.length;l<m;l++)(g=c("string"===typeof j[l]?h.trim(j[l]):j[l]))&&g.length&&(f=f.concat(g))}a=v.selector[a];if(a.length){i=0;for(n=a.length;i<n;i++)f=a[i](d,e,f)}return pa(f)},ab=function(a){a||(a={});a.filter&&a.search===k&&(a.search=a.filter);return h.extend({search:"none",order:"current",
|
||||||
function(a){return-1===h.inArray(a,g)?a:null});else if("index"==d||"original"==d){c=0;for(d=a.aoData.length;c<d;c++)"none"==j?f.push(c):(e=h.inArray(c,g),(-1===e&&"removed"==j||0<=e&&"applied"==j)&&f.push(c))}return f};p("rows()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=b;return $a("row",a,function(a){var b=Pb(a);if(b!==null&&!e)return[b];var j=Da(c,e);if(b!==null&&h.inArray(b,j)!==-1)return[b];if(!a)return j;if(typeof a==="function")return h.map(j,
|
page:"all"},a)},bb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ba=function(a,b){var c,d,e,f=[],g=a.aiDisplay;c=a.aiDisplayMaster;var j=b.search;d=b.order;e=b.page;if("ssp"==y(a))return"removed"===j?[]:W(0,c.length);if("current"==e){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(g[c])}else if("current"==d||"applied"==d)f="none"==j?c.slice():"applied"==j?g.slice():h.map(c,function(a){return-1===
|
||||||
function(b){var e=c.aoData[b];return a(b,e._aData,e.nTr)?b:null});b=Sb(ja(c.aoData,j,"nTr"));if(a.nodeName&&h.inArray(a,b)!==-1)return[a._DT_RowIndex];if(typeof a==="string"&&a.charAt(0)==="#"){j=c.aIds[a.replace(/^#/,"")];if(j!==k)return[j.idx]}return h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()},c,e)},1);c.selector.rows=a;c.selector.opts=b;return c});p("rows().nodes()",function(){return this.iterator("row",function(a,b){return a.aoData[b].nTr||k},1)});p("rows().data()",function(){return this.iterator(!0,
|
h.inArray(a,g)?a:null});else if("index"==d||"original"==d){c=0;for(d=a.aoData.length;c<d;c++)"none"==j?f.push(c):(e=h.inArray(c,g),(-1===e&&"removed"==j||0<=e&&"applied"==j)&&f.push(c))}return f};p("rows()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=b;return $a("row",a,function(a){var b=Pb(a);if(b!==null&&!e)return[b];var j=Ba(c,e);if(b!==null&&h.inArray(b,j)!==-1)return[b];if(!a)return j;if(typeof a==="function")return h.map(j,function(b){var e=
|
||||||
"rows",function(a,b){return ja(a.aoData,b,"_aData")},1)});r("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData},1)});r("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){ea(b,c,a)})});r("rows().indexes()","row().index()",function(){return this.iterator("row",function(a,b){return b},1)});r("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,
|
c.aoData[b];return a(b,e._aData,e.nTr)?b:null});b=Sb(ha(c.aoData,j,"nTr"));if(a.nodeName){if(a._DT_RowIndex!==k)return[a._DT_RowIndex];if(a._DT_CellIndex)return[a._DT_CellIndex.row];b=h(a).closest("*[data-dt-row]");return b.length?[b.data("dt-row")]:[]}if(typeof a==="string"&&a.charAt(0)==="#"){j=c.aIds[a.replace(/^#/,"")];if(j!==k)return[j.idx]}return h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()},c,e)},1);c.selector.rows=a;c.selector.opts=b;return c});p("rows().nodes()",function(){return this.iterator("row",
|
||||||
d=0,e=c.length;d<e;d++)for(var f=0,g=this[d].length;f<g;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?"#":"")+h)}return new t(c,b)});r("rows().remove()","row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,f=e[c],g,h,i,o,l;e.splice(c,1);g=0;for(h=e.length;g<h;g++)if(i=e[g],l=i.anCells,null!==i.nTr&&(i.nTr._DT_RowIndex=g),null!==l){i=0;for(o=l.length;i<o;i++)l[i]._DT_CellIndex.row=g}oa(b.aiDisplayMaster,c);oa(b.aiDisplay,c);oa(a[d],c,!1);
|
function(a,b){return a.aoData[b].nTr||k},1)});p("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return ha(a.aoData,b,"_aData")},1)});s("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData},1)});s("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){ca(b,c,a)})});s("rows().indexes()","row().index()",function(){return this.iterator("row",
|
||||||
Sa(b);c=b.rowIdFn(f._aData);c!==k&&delete b.aIds[c]});this.iterator("table",function(a){for(var c=0,d=a.aoData.length;c<d;c++)a.aoData[c].idx=c});return this});p("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(N(b,c));return h},1),c=this.rows(-1);c.pop();h.merge(c,b);return c});p("row()",function(a,b){return bb(this.rows(a,b))});p("row().data()",function(a){var b=
|
function(a,b){return b},1)});s("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,d=0,e=c.length;d<e;d++)for(var f=0,g=this[d].length;f<g;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?"#":"")+h)}return new r(c,b)});s("rows().remove()","row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,f=e[c],g,h,i,n,l;e.splice(c,1);g=0;for(h=e.length;g<h;g++)if(i=e[g],l=i.anCells,null!==i.nTr&&(i.nTr._DT_RowIndex=g),null!==l){i=0;for(n=
|
||||||
this.context;if(a===k)return b.length&&this.length?b[0].aoData[this[0]]._aData:k;b[0].aoData[this[0]]._aData=a;ea(b[0],this[0],"data");return this});p("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});p("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]:N(b,a)});return this.row(b[0])});var cb=function(a,b){var c=a.context;if(c.length&&
|
l.length;i<n;i++)l[i]._DT_CellIndex.row=g}oa(b.aiDisplayMaster,c);oa(b.aiDisplay,c);oa(a[d],c,!1);Sa(b);c=b.rowIdFn(f._aData);c!==k&&delete b.aIds[c]});this.iterator("table",function(a){for(var c=0,d=a.aoData.length;c<d;c++)a.aoData[c].idx=c});return this});p("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(N(b,c));return h},1),c=this.rows(-1);c.pop();h.merge(c,b);
|
||||||
(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=a.context;if(c.length&&a.length){var d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();var e=c[0],f=new t(e),g=e.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){e===b&&f.rows({page:"current"}).eq(0).each(function(a){a=g[a];
|
return c});p("row()",function(a,b){return bb(this.rows(a,b))});p("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],this[0],"data");return this});p("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});p("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()?
|
||||||
a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(e===b)for(var c,d=ca(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",d)}),f.on("destroy.dt.DT_details",function(a,b){if(e===b)for(var c=0,d=g.length;c<d;c++)g[c]._details&&cb(f,c)}))}}};p("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===
|
ma(b,a)[0]:N(b,a)});return this.row(b[0])});var cb=function(a,b){var c=a.context;if(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=a.context;if(c.length&&a.length){var d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();var e=c[0],f=new r(e),g=e.aoData;f.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0<G(g,"_details").length&&(f.on("draw.dt.DT_details",
|
||||||
a)cb(this);else if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(h.isArray(a)||a instanceof h)for(var c=0,k=a.length;c<k;c++)f(a[c],b);else a.nodeName&&"tr"===a.nodeName.toLowerCase()?e.push(a):(c=h("<tr><td/></tr>").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=ca(d),e.push(c[0]))};f(a,b);c._details&&c._details.remove();c._details=h(e);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});p(["row().child.show()","row().child().show()"],function(){Vb(this,
|
function(a,b){e===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(e===b)for(var c,d=aa(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",d)}),f.on("destroy.dt.DT_details",function(a,b){if(e===b)for(var c=0,d=g.length;c<d;c++)g[c]._details&&cb(f,c)}))}}};p("row().child()",function(a,b){var c=this.context;if(a===k)return c.length&&this.length?
|
||||||
!0);return this});p(["row().child.hide()","row().child().hide()"],function(){Vb(this,!1);return this});p(["row().child.remove()","row().child().remove()"],function(){cb(this);return this});p("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,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(B(a,e[d],b));return c};p("columns()",function(a,b){a===k?a="":h.isPlainObject(a)&&
|
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 d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(h.isArray(a)||a instanceof h)for(var c=0,k=a.length;c<k;c++)f(a[c],b);else a.nodeName&&"tr"===a.nodeName.toLowerCase()?e.push(a):(c=h("<tr><td/></tr>").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=aa(d),e.push(c[0]))};f(a,b);c._details&&c._details.remove();c._details=h(e);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});
|
||||||
(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=a,f=b,g=c.aoColumns,j=D(g,"sName"),i=D(g,"nTh");return $a("column",e,function(a){var b=Pb(a);if(a==="")return X(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var e=Da(c,f);return h.map(g,function(b,f){return a(f,Wb(c,f,0,0,e),i[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});
|
p(["row().child.show()","row().child().show()"],function(){Vb(this,!0);return this});p(["row().child.hide()","row().child().hide()"],function(){Vb(this,!1);return this});p(["row().child.remove()","row().child().remove()"],function(){cb(this);return this});p("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var ec=/^(.+):(name|visIdx|visible)$/,Wb=function(a,b,c,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(B(a,e[d],b));
|
||||||
return[m[m.length+b]]}return[$(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null})}else return h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray()},c,f)},1);c.selector.cols=a;c.selector.opts=b;return c});r("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});r("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});r("columns().data()",
|
return c};p("columns()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=a,f=b,g=c.aoColumns,j=G(g,"sName"),i=G(g,"nTh");return $a("column",e,function(a){var b=Pb(a);if(a==="")return W(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var e=Ba(c,f);return h.map(g,function(b,f){return a(f,Wb(c,f,0,0,e),i[f])?f:null})}var k=typeof a==="string"?a.match(ec):"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],
|
||||||
"column().data()",function(){return this.iterator("column-rows",Wb,1)});r("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});r("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return ja(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});r("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ja(a.aoData,
|
10);if(b<0){var m=h.map(g,function(a,b){return a.bVisible?b:null});return[m[m.length+b]]}return[Z(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null});default:return[]}if(a.nodeName&&a._DT_CellIndex)return[a._DT_CellIndex.column];b=h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray();if(b.length||!a.nodeName)return b;b=h(a).closest("*[data-dt-column]");return b.length?[b.data("dt-column")]:[]},c,f)},1);c.selector.cols=a;c.selector.opts=b;return c});s("columns().header()",
|
||||||
e,"anCells",b)},1)});r("columns().visible()","column().visible()",function(a,b){return this.iterator("column",function(c,d){if(a===k)return c.aoColumns[d].bVisible;var e=c.aoColumns,f=e[d],g=c.aoData,j,i,m;if(a!==k&&f.bVisible!==a){if(a){var l=h.inArray(!0,D(e,"bVisible"),d+1);j=0;for(i=g.length;j<i;j++)m=g[j].nTr,e=g[j].anCells,m&&m.insertBefore(e[d],e[l]||null)}else h(D(c.aoData,"anCells",d)).detach();f.bVisible=a;ga(c,c.aoHeader);ga(c,c.aoFooter);if(b===k||b)U(c),(c.oScroll.sX||c.oScroll.sY)&&
|
"column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});s("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});s("columns().data()","column().data()",function(){return this.iterator("column-rows",Wb,1)});s("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});s("columns().cache()","column().cache()",
|
||||||
Z(c);v(c,null,"column-visibility",[c,d,a,b]);ya(c)}})});r("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?ba(b,c):c},1)});p("columns.adjust()",function(){return this.iterator("table",function(a){U(a)},1)});p("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return $(c,b);if("fromData"===a||"toVisible"===a)return ba(c,b)}});p("column()",function(a,b){return bb(this.columns(a,
|
function(a){return this.iterator("column-rows",function(b,c,d,e,f){return ha(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});s("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ha(a.aoData,e,"anCells",b)},1)});s("columns().visible()","column().visible()",function(a,b){var c=this.iterator("column",function(b,c){if(a===k)return b.aoColumns[c].bVisible;var f=b.aoColumns,g=f[c],j=b.aoData,i,n,l;if(a!==k&&g.bVisible!==a){if(a){var m=
|
||||||
b))});p("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",function(b){var d=a,e=ab(c),f=b.aoData,g=Da(b,e),j=Sb(ja(f,g,"anCells")),i=h([].concat.apply([],j)),l,m=b.aoColumns.length,o,p,t,r,s,v;return $a("cell",d,function(a){var c=typeof a==="function";if(a===null||a===k||c){o=[];p=0;for(t=g.length;p<t;p++){l=g[p];for(r=0;r<m;r++){s={row:l,column:r};if(c){v=f[l];a(s,B(b,l,r),v.anCells?
|
h.inArray(!0,G(f,"bVisible"),c+1);i=0;for(n=j.length;i<n;i++)l=j[i].nTr,f=j[i].anCells,l&&l.insertBefore(f[c],f[m]||null)}else h(G(b.aoData,"anCells",c)).detach();g.bVisible=a;ea(b,b.aoHeader);ea(b,b.aoFooter);wa(b)}});a!==k&&(this.iterator("column",function(c,e){u(c,null,"column-visibility",[c,e,a,b])}),(b===k||b)&&this.columns.adjust());return c});s("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?$(b,c):c},1)});p("columns.adjust()",
|
||||||
v.anCells[r]:null)&&o.push(s)}else o.push(s)}}return o}return h.isPlainObject(a)?[a]:i.filter(a).map(function(a,b){return{row:b._DT_CellIndex.row,column:b._DT_CellIndex.column}}).toArray()},b,e)});var d=this.columns(b,c),e=this.rows(a,c),f,g,j,i,m,l=this.iterator("table",function(a,b){f=[];g=0;for(j=e[b].length;g<j;g++){i=0;for(m=d[b].length;i<m;i++)f.push({row:e[b][g],column:d[b][i]})}return f},1);h.extend(l.selector,{cols:b,rows:a,opts:c});return l});r("cells().nodes()","cell().node()",function(){return this.iterator("cell",
|
function(){return this.iterator("table",function(a){Y(a)},1)});p("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return Z(c,b);if("fromData"===a||"toVisible"===a)return $(c,b)}});p("column()",function(a,b){return bb(this.columns(a,b))});p("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",function(b){var d=a,e=ab(c),f=
|
||||||
function(a,b,c){return(a=a.aoData[b].anCells)?a[c]:k},1)});p("cells().data()",function(){return this.iterator("cell",function(a,b,c){return B(a,b,c)},1)});r("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});r("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,d){return B(b,c,d,a)},1)});r("cells().indexes()","cell().index()",function(){return this.iterator("cell",
|
b.aoData,g=Ba(b,e),j=Sb(ha(f,g,"anCells")),i=h([].concat.apply([],j)),l,n=b.aoColumns.length,m,p,r,u,v,s;return $a("cell",d,function(a){var c=typeof a==="function";if(a===null||a===k||c){m=[];p=0;for(r=g.length;p<r;p++){l=g[p];for(u=0;u<n;u++){v={row:l,column:u};if(c){s=f[l];a(v,B(b,l,u),s.anCells?s.anCells[u]:null)&&m.push(v)}else m.push(v)}}return m}if(h.isPlainObject(a))return[a];c=i.filter(a).map(function(a,b){return{row:b._DT_CellIndex.row,column:b._DT_CellIndex.column}}).toArray();if(c.length||
|
||||||
function(a,b,c){return{row:b,column:c,columnVisible:ba(a,c)}},1)});r("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,d){ea(b,c,a,d)})});p("cell()",function(a,b,c){return bb(this.cells(a,b,c))});p("cell().data()",function(a){var b=this.context,c=this[0];if(a===k)return b.length&&c.length?B(b[0],c[0].row,c[0].column):k;jb(b[0],c[0].row,c[0].column,a);ea(b[0],c[0].row,"data",c[0].column);return this});p("order()",function(a,b){var c=this.context;if(a===
|
!a.nodeName)return c;s=h(a).closest("*[data-dt-row]");return s.length?[{row:s.data("dt-row"),column:s.data("dt-column")}]:[]},b,e)});var d=this.columns(b,c),e=this.rows(a,c),f,g,j,i,n,l=this.iterator("table",function(a,b){f=[];g=0;for(j=e[b].length;g<j;g++){i=0;for(n=d[b].length;i<n;i++)f.push({row:e[b][g],column:d[b][i]})}return f},1);h.extend(l.selector,{cols:b,rows:a,opts:c});return l});s("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&
|
||||||
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=a.slice()})});p("order.listener()",function(a,b,c){return this.iterator("table",function(d){Oa(d,a,b,c)})});p("order.fixed()",function(a){if(!a){var b=this.context,b=b.length?b[0].aaSortingFixed:k;return h.isArray(b)?{pre:b}:b}return this.iterator("table",function(b){b.aaSortingFixed=h.extend(!0,{},a)})});p(["columns().order()",
|
a.anCells?a.anCells[c]:k},1)});p("cells().data()",function(){return this.iterator("cell",function(a,b,c){return B(a,b,c)},1)});s("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});s("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,d){return B(b,c,d,a)},1)});s("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,
|
||||||
"column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});p("search()",function(a,b,c,d){var e=this.context;return a===k?0!==e.length?e[0].oPreviousSearch.sSearch:k:this.iterator("table",function(e){e.oFeatures.bFilter&&ha(e,h.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});r("columns().search()","column().search()",function(a,
|
b,c){return{row:b,column:c,columnVisible:$(a,c)}},1)});s("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,d){ca(b,c,a,d)})});p("cell()",function(a,b,c){return bb(this.cells(a,b,c))});p("cell().data()",function(a){var b=this.context,c=this[0];if(a===k)return b.length&&c.length?B(b[0],c[0].row,c[0].column):k;jb(b[0],c[0].row,c[0].column,a);ca(b[0],c[0].row,"data",c[0].column);return this});p("order()",function(a,b){var c=this.context;if(a===k)return 0!==
|
||||||
b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===k)return g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ha(e,e.oPreviousSearch,1))})});p("state()",function(){return this.context.length?this.context[0].oSavedState:null});p("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});p("state.loaded()",function(){return this.context.length?
|
c.length?c[0].aaSorting:k;"number"===typeof a?a=[[a,b]]:a.length&&!h.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=a.slice()})});p("order.listener()",function(a,b,c){return this.iterator("table",function(d){Ma(d,a,b,c)})});p("order.fixed()",function(a){if(!a){var b=this.context,b=b.length?b[0].aaSortingFixed:k;return h.isArray(b)?{pre:b}:b}return this.iterator("table",function(b){b.aaSortingFixed=h.extend(!0,{},a)})});p(["columns().order()",
|
||||||
this.context[0].oLoadedState:null});p("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,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;h.each(m.settings,function(a,e){var f=e.nScrollHead?h("table",e.nScrollHead)[0]:null,g=e.nScrollFoot?h("table",e.nScrollFoot)[0]:
|
"column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});p("search()",function(a,b,c,d){var e=this.context;return a===k?0!==e.length?e[0].oPreviousSearch.sSearch:k:this.iterator("table",function(e){e.oFeatures.bFilter&&fa(e,h.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});s("columns().search()","column().search()",function(a,
|
||||||
null;if(e.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(m.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable});return b?new t(c):c};m.util={throttle:ua,escapeRegex:va};m.camelToHungarian=J;p("$()",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,b){p(b+"()",function(){var a=Array.prototype.slice.call(arguments);
|
b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===k)return g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),fa(e,e.oPreviousSearch,1))})});p("state()",function(){return this.context.length?this.context[0].oSavedState:null});p("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});p("state.loaded()",function(){return this.context.length?
|
||||||
a[0].match(/\.dt\b/)||(a[0]+=".dt");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});p("clear()",function(){return this.iterator("table",function(a){na(a)})});p("settings()",function(){return new t(this.context,this.context)});p("init()",function(){var a=this.context;return a.length?a[0].oInit:null});p("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});p("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=
|
this.context[0].oLoadedState:null});p("state.save()",function(){return this.iterator("table",function(a){wa(a)})});m.versionCheck=m.fnVersionCheck=function(a){for(var b=m.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;h.each(m.settings,function(a,e){var f=e.nScrollHead?h("table",e.nScrollHead)[0]:null,g=e.nScrollFoot?h("table",e.nScrollFoot)[0]:
|
||||||
b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),p;b.bDestroying=!0;v(b,"aoDestroyCallback","destroy",[b]);a||(new t(b)).columns().visible(!0);k.unbind(".DT").find(":not(tbody *)").unbind(".DT");h(E).unbind(".DT-"+b.sInstance);e!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&e!=j.parentNode&&(i.children("tfoot").detach(),i.append(j));b.aaSorting=[];b.aaSortingFixed=[];xa(b);
|
null;if(e.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(m.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable});return b?new r(c):c};m.camelToHungarian=K;p("$()",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,b){p(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0].match(/\.dt\b/)||
|
||||||
h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);b.bJUI&&(h("th span."+d.sSortIcon+", td span."+d.sSortIcon,g).detach(),h("th, td",g).each(function(){var a=h("div."+d.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));f.children().detach();f.append(l);g=a?"remove":"detach";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css("width",b.sDestroyWidth).removeClass(d.sTable),(p=
|
(a[0]+=".dt");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});p("clear()",function(){return this.iterator("table",function(a){na(a)})});p("settings()",function(){return new r(this.context,this.context)});p("init()",function(){var a=this.context;return a.length?a[0].oInit:null});p("data()",function(){return this.iterator("table",function(a){return G(a.aoData,"_aData")}).flatten()});p("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,
|
||||||
b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%p])}));c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){p(b+"s().every()",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,m){a.call(e[b](g,"cell"===b?h:d,"cell"===b?d:k),g,h,i,m)})})});p("i18n()",function(a,b,c){var d=this.context[0],a=Q(a)(d.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:a._);
|
d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),p;b.bDestroying=!0;u(b,"aoDestroyCallback","destroy",[b]);a||(new r(b)).columns().visible(!0);k.unbind(".DT").find(":not(tbody *)").unbind(".DT");h(D).unbind(".DT-"+b.sInstance);e!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&e!=j.parentNode&&(i.children("tfoot").detach(),i.append(j));b.aaSorting=[];b.aaSortingFixed=[];va(b);h(l).removeClass(b.asStripeClasses.join(" "));
|
||||||
return a.replace("%d",c)});m.version="1.10.10";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,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};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,
|
h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);b.bJUI&&(h("th span."+d.sSortIcon+", td span."+d.sSortIcon,g).detach(),h("th, td",g).each(function(){var a=h("div."+d.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));f.children().detach();f.append(l);g=a?"remove":"detach";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css("width",b.sDestroyWidth).removeClass(d.sTable),(p=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%
|
||||||
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:[],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,
|
p])}));c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){p(b+"s().every()",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,n){a.call(e[b](g,"cell"===b?h:d,"cell"===b?d:k),g,h,i,n)})})});p("i18n()",function(a,b,c){var d=this.context[0],a=Q(a)(d.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:a._);return a.replace("%d",c)});m.version="1.10.12";m.settings=[];m.models={};m.models.oSearch={bCaseInsensitive:!0,
|
||||||
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,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+
|
sSearch:"",bRegex:!1,bSmart:!0};m.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};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,
|
||||||
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,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"},
|
sTitle:null,sType:null,sWidth:null,sWidthOrig:null};m.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],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,
|
||||||
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:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},
|
fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},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===
|
||||||
m.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};Y(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,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};
|
a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,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",
|
||||||
Y(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,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],
|
sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",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",
|
||||||
aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",
|
renderer:null,rowId:"DT_RowId"};X(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,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};X(m.defaults.column);m.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,
|
||||||
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,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?
|
bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],
|
||||||
1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};
|
aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,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,
|
||||||
m.ext=s={buttons:{},classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},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(s,{afnFiltering:s.search,aTypes:s.type.detect,ofnSearch:s.type.search,oSort:s.type.order,afnSortData:s.order,aoFeatures:s.feature,oApi:s.internal,oStdClasses:s.classes,
|
fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=
|
||||||
oPagination:s.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",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",
|
this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};m.ext=v={buttons:{},classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},
|
||||||
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:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",
|
header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:m.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:m.version};h.extend(v,{afnFiltering:v.search,aTypes:v.type.detect,ofnSearch:v.type.search,oSort:v.type.order,afnSortData:v.order,aoFeatures:v.feature,oApi:v.internal,oStdClasses:v.classes,oPagination:v.pager});h.extend(m.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",
|
||||||
sJUIHeader:"",sJUIFooter:""});var Ea="",Ea="",G=Ea+"ui-state-default",ka=Ea+"css_right ui-icon ui-icon-",Xb=Ea+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";h.extend(m.ext.oJUIClasses,m.ext.classes,{sPageButton:"fg-button ui-button "+G,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:G+" sorting_asc",sSortDesc:G+" sorting_desc",sSortable:G+" sorting",
|
sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",
|
||||||
sSortableAsc:G+" sorting_asc_disabled",sSortableDesc:G+" sorting_desc_disabled",sSortableNone:G+" sorting_disabled",sSortJUIAsc:ka+"triangle-1-n",sSortJUIDesc:ka+"triangle-1-s",sSortJUI:ka+"carat-2-n-s",sSortJUIAscAllowed:ka+"carat-1-n",sSortJUIDescAllowed:ka+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+G,sScrollFoot:"dataTables_scrollFoot "+G,sHeaderTH:G,sFooterTH:G,sJUIHeader:Xb+" ui-corner-tl ui-corner-tr",sJUIFooter:Xb+
|
sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Ca="",Ca="",H=Ca+"ui-state-default",ia=Ca+"css_right ui-icon ui-icon-",Xb=Ca+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";h.extend(m.ext.oJUIClasses,
|
||||||
" 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"]},numbers:function(a,b){return[Aa(a,b)]},simple_numbers:function(a,b){return["previous",Aa(a,b),"next"]},full_numbers:function(a,b){return["first","previous",Aa(a,b),"next","last"]},_numbers:Aa,numbers_length:7});h.extend(!0,m.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||
|
m.ext.classes,{sPageButton:"fg-button ui-button "+H,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:H+" sorting_asc",sSortDesc:H+" sorting_desc",sSortable:H+" sorting",sSortableAsc:H+" sorting_asc_disabled",sSortableDesc:H+" sorting_desc_disabled",sSortableNone:H+" sorting_disabled",sSortJUIAsc:ia+"triangle-1-n",sSortJUIDesc:ia+"triangle-1-s",sSortJUI:ia+"carat-2-n-s",
|
||||||
{},k,l,m=0,p=function(b,d){var n,r,t,s,v=function(b){Ta(a,b.data.action,true)};n=0;for(r=d.length;n<r;n++){s=d[n];if(h.isArray(s)){t=h("<"+(s.DT_el||"div")+"/>").appendTo(b);p(t,s)}else{k=null;l="";switch(s){case "ellipsis":b.append('<span class="ellipsis">…</span>');break;case "first":k=j.sFirst;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":k=j.sPrevious;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":k=j.sNext;l=s+(e<f-1?"":" "+g.sPageButtonDisabled);break;case "last":k=
|
sSortJUIAscAllowed:ia+"carat-1-n",sSortJUIDescAllowed:ia+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+H,sScrollFoot:"dataTables_scrollFoot "+H,sHeaderTH:H,sFooterTH:H,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"]},numbers:function(a,b){return[ya(a,
|
||||||
j.sLast;l=s+(e<f-1?"":" "+g.sPageButtonDisabled);break;default:k=s+1;l=e===s?g.sPageButtonActive:""}if(k!==null){t=h("<a>",{"class":g.sPageButton+" "+l,"aria-controls":a.sTableId,"aria-label":i[s],"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof s==="string"?a.sTableId+"_"+s:null}).html(k).appendTo(b);Wa(t,{action:s},v);m++}}}},r;try{r=h(b).find(H.activeElement).data("dt-idx")}catch(n){}p(h(b).empty(),d);r&&h(b).find("[data-dt-idx="+r+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=
|
b)]},simple_numbers:function(a,b){return["previous",ya(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ya(a,b),"next","last"]},_numbers:ya,numbers_length:7});h.extend(!0,m.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},k,l,m=0,p=function(b,d){var o,r,u,s,v=function(b){Ta(a,b.data.action,true)};o=0;for(r=d.length;o<r;o++){s=d[o];if(h.isArray(s)){u=h("<"+(s.DT_el||"div")+"/>").appendTo(b);p(u,s)}else{k=null;
|
||||||
b.oLanguage.sDecimal;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)||M(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 M(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":
|
l="";switch(s){case "ellipsis":b.append('<span class="ellipsis">…</span>');break;case "first":k=j.sFirst;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":k=j.sPrevious;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":k=j.sNext;l=s+(e<f-1?"":" "+g.sPageButtonDisabled);break;case "last":k=j.sLast;l=s+(e<f-1?"":" "+g.sPageButtonDisabled);break;default:k=s+1;l=e===s?g.sPageButtonActive:""}if(k!==null){u=h("<a>",{"class":g.sPageButton+" "+l,"aria-controls":a.sTableId,"aria-label":i[s],
|
||||||
null}]);h.extend(m.ext.type.search,{html:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob," ").replace(Ca,""):""},string:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob," "):a}});var Ba=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(s.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return M(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():
|
"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof s==="string"?a.sTableId+"_"+s:null}).html(k).appendTo(b);Wa(u,{action:s},v);m++}}}},r;try{r=h(b).find(I.activeElement).data("dt-idx")}catch(o){}p(h(b).empty(),d);r&&h(b).find("[data-dt-idx="+r+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;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)||M(a)?"date":
|
||||||
a+""},"string-pre":function(a){return M(a)?"":"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,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,
|
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 M(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(m.ext.type.search,{html:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob," ").replace(Aa,""):""},string:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob,
|
||||||
b,c,d){h("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]=="asc"?d.sSortJUIAsc:
|
" "):a}});var za=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(v.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return M(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return M(a)?"":"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,
|
||||||
h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});m.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return f;f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+f+(e||"")}}},text:function(){return{display:function(a){return"string"===typeof a?a.replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""):
|
b){return a<b?1:a>b?-1:0}});db("");h.extend(!0,m.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,d){h("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,
|
||||||
a}}}};h.extend(m.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:ra,_fnAjaxUpdate:lb,_fnAjaxParameters:ub,_fnAjaxUpdateDraw:vb,_fnAjaxDataSrc:sa,_fnAddColumn:Ga,_fnColumnOptions:la,_fnAdjustColumnSizing:U,_fnVisibleToColumnIndex:$,_fnColumnIndexToVisible:ba,_fnVisbleColumns:ca,_fnGetColumns:aa,_fnColumnTypes:Ia,_fnApplyColumnDefs:ib,_fnHungarianMap:Y,_fnCamelToHungarian:J,_fnLanguageCompat:Fa,_fnBrowserDetect:gb,_fnAddData:N,_fnAddTr:ma,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==k?b._DT_RowIndex:
|
f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]=="asc"?d.sSortJUIAsc:h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});var Yb=function(a){return"string"===typeof a?a.replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""):a};m.render={number:function(a,
|
||||||
null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:B,_fnSetCellData:jb,_fnSplitObjNotation:La,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:R,_fnGetDataMaster:Ma,_fnClearTable:na,_fnDeleteIndex:oa,_fnInvalidate:ea,_fnGetRowElements:Ka,_fnCreateTr:Ja,_fnBuildHead:kb,_fnDrawHead:ga,_fnDraw:O,_fnReDraw:T,_fnAddOptionsHtml:nb,_fnDetectHeader:fa,_fnGetUniqueThs:qa,_fnFeatureHtmlFilter:pb,_fnFilterComplete:ha,_fnFilterCustom:yb,_fnFilterColumn:xb,_fnFilter:wb,_fnFilterCreateSearch:Qa,
|
b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return Yb(f);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+f+(e||"")}}},text:function(){return{display:Yb}}};h.extend(m.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:ra,_fnAjaxUpdate:lb,_fnAjaxParameters:ub,_fnAjaxUpdateDraw:vb,_fnAjaxDataSrc:sa,_fnAddColumn:Ea,_fnColumnOptions:ja,
|
||||||
_fnEscapeRegex:va,_fnFilterData:zb,_fnFeatureHtmlInfo:sb,_fnUpdateInfo:Cb,_fnInfoMacros:Db,_fnInitialise:ia,_fnInitComplete:ta,_fnLengthChange:Ra,_fnFeatureHtmlLength:ob,_fnFeatureHtmlPaginate:tb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:qb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:rb,_fnScrollDraw:Z,_fnApplyToChildren:I,_fnCalculateColumnWidths:Ha,_fnThrottle:ua,_fnConvertToWidth:Fb,_fnGetWidestNode:Gb,_fnGetMaxLenString:Hb,_fnStringToCss:w,_fnSortFlatten:W,_fnSort:mb,_fnSortAria:Jb,_fnSortListener:Va,
|
_fnAdjustColumnSizing:Y,_fnVisibleToColumnIndex:Z,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:la,_fnColumnTypes:Ga,_fnApplyColumnDefs:ib,_fnHungarianMap:X,_fnCamelToHungarian:K,_fnLanguageCompat:Da,_fnBrowserDetect:gb,_fnAddData:N,_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:B,_fnSetCellData:jb,_fnSplitObjNotation:Ja,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:R,
|
||||||
_fnSortAttachListener:Oa,_fnSortingClasses:xa,_fnSortData:Ib,_fnSaveState:ya,_fnLoadState:Kb,_fnSettingsFromNode:za,_fnLog:K,_fnMap:F,_fnBindAction:Wa,_fnCallbackReg:z,_fnCallbackFire:v,_fnLengthOverflow:Sa,_fnRenderer:Pa,_fnDataSource:y,_fnRowAttributes:Na,_fnCalculateEnd:function(){}});h.fn.dataTable=m;m.$=h;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});
|
_fnGetDataMaster:Ka,_fnClearTable:na,_fnDeleteIndex:oa,_fnInvalidate:ca,_fnGetRowElements:Ia,_fnCreateTr:Ha,_fnBuildHead:kb,_fnDrawHead:ea,_fnDraw:O,_fnReDraw:T,_fnAddOptionsHtml:nb,_fnDetectHeader:da,_fnGetUniqueThs:qa,_fnFeatureHtmlFilter:pb,_fnFilterComplete:fa,_fnFilterCustom:yb,_fnFilterColumn:xb,_fnFilter:wb,_fnFilterCreateSearch:Pa,_fnEscapeRegex:Qa,_fnFilterData:zb,_fnFeatureHtmlInfo:sb,_fnUpdateInfo:Cb,_fnInfoMacros:Db,_fnInitialise:ga,_fnInitComplete:ta,_fnLengthChange:Ra,_fnFeatureHtmlLength:ob,
|
||||||
|
_fnFeatureHtmlPaginate:tb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:qb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:rb,_fnScrollDraw:ka,_fnApplyToChildren:J,_fnCalculateColumnWidths:Fa,_fnThrottle:Oa,_fnConvertToWidth:Fb,_fnGetWidestNode:Gb,_fnGetMaxLenString:Hb,_fnStringToCss:x,_fnSortFlatten:V,_fnSort:mb,_fnSortAria:Jb,_fnSortListener:Va,_fnSortAttachListener:Ma,_fnSortingClasses:va,_fnSortData:Ib,_fnSaveState:wa,_fnLoadState:Kb,_fnSettingsFromNode:xa,_fnLog:L,_fnMap:E,_fnBindAction:Wa,_fnCallbackReg:z,
|
||||||
|
_fnCallbackFire:u,_fnLengthOverflow:Sa,_fnRenderer:Na,_fnDataSource:y,_fnRowAttributes:La,_fnCalculateEnd:function(){}});h.fn.dataTable=m;m.$=h;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});
|
||||||
|
|||||||
10
bower_components/datatables/media/js/jquery.js
vendored
10
bower_components/datatables/media/js/jquery.js
vendored
File diff suppressed because one or more lines are too long
13
bower_components/flot.tooltip/.bower.json
vendored
13
bower_components/flot.tooltip/.bower.json
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "flot.tooltip",
|
"name": "flot.tooltip",
|
||||||
"version": "0.8.5",
|
"version": "0.8.7",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "js/jquery.flot.tooltip.js",
|
"main": "js/jquery.flot.tooltip.js",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
@@ -8,17 +8,16 @@
|
|||||||
"Gruntfile.js",
|
"Gruntfile.js",
|
||||||
"README.md",
|
"README.md",
|
||||||
"package.json",
|
"package.json",
|
||||||
"examples",
|
"examples"
|
||||||
"js/old"
|
|
||||||
],
|
],
|
||||||
"homepage": "https://github.com/krzysu/flot.tooltip",
|
"homepage": "https://github.com/krzysu/flot.tooltip",
|
||||||
"_release": "0.8.5",
|
"_release": "0.8.7",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "0.8.5",
|
"tag": "0.8.7",
|
||||||
"commit": "e2dbb407ffcf5ece0f2e6ab922b0192b8a6d168e"
|
"commit": "042a27d8b33d22207af8b7e76d9f0a14c840a5ae"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/krzysu/flot.tooltip.git",
|
"_source": "https://github.com/krzysu/flot.tooltip.git",
|
||||||
"_target": "~0.8.4",
|
"_target": "~0.8.4",
|
||||||
"_originalSource": "flot.tooltip"
|
"_originalSource": "flot.tooltip"
|
||||||
}
|
}
|
||||||
5
bower_components/flot.tooltip/bower.json
vendored
5
bower_components/flot.tooltip/bower.json
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "flot.tooltip",
|
"name": "flot.tooltip",
|
||||||
"version": "0.8.5",
|
"version": "0.8.7",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "js/jquery.flot.tooltip.js",
|
"main": "js/jquery.flot.tooltip.js",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
@@ -8,7 +8,6 @@
|
|||||||
"Gruntfile.js",
|
"Gruntfile.js",
|
||||||
"README.md",
|
"README.md",
|
||||||
"package.json",
|
"package.json",
|
||||||
"examples",
|
"examples"
|
||||||
"js/old"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -2,11 +2,11 @@
|
|||||||
* jquery.flot.tooltip
|
* jquery.flot.tooltip
|
||||||
*
|
*
|
||||||
* description: easy-to-use tooltips for Flot charts
|
* description: easy-to-use tooltips for Flot charts
|
||||||
* version: 0.8.5
|
* version: 0.8.7
|
||||||
* authors: Krzysztof Urbas @krzysu [myviews.pl],Evan Steinkerchner @Roundaround
|
* authors: Krzysztof Urbas @krzysu [myviews.pl],Evan Steinkerchner @Roundaround
|
||||||
* website: https://github.com/krzysu/flot.tooltip
|
* website: https://github.com/krzysu/flot.tooltip
|
||||||
*
|
*
|
||||||
* build on 2015-05-11
|
* build on 2016-03-15
|
||||||
* released under MIT License, 2012
|
* released under MIT License, 2012
|
||||||
*/
|
*/
|
||||||
(function ($) {
|
(function ($) {
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
// %y -> Y value,
|
// %y -> Y value,
|
||||||
// %x.2 -> precision of X value,
|
// %x.2 -> precision of X value,
|
||||||
// %p -> percent
|
// %p -> percent
|
||||||
|
// %n -> value (not percent) of pie chart
|
||||||
xDateFormat: null,
|
xDateFormat: null,
|
||||||
yDateFormat: null,
|
yDateFormat: null,
|
||||||
monthNames: null,
|
monthNames: null,
|
||||||
@@ -34,7 +35,9 @@
|
|||||||
y: 20
|
y: 20
|
||||||
},
|
},
|
||||||
defaultTheme: true,
|
defaultTheme: true,
|
||||||
|
snap: true,
|
||||||
lines: false,
|
lines: false,
|
||||||
|
clickTips: false,
|
||||||
|
|
||||||
// callbacks
|
// callbacks
|
||||||
onHover: function (flotItem, $tooltipEl) {},
|
onHover: function (flotItem, $tooltipEl) {},
|
||||||
@@ -99,12 +102,18 @@
|
|||||||
|
|
||||||
// bind event
|
// bind event
|
||||||
$( plot.getPlaceholder() ).bind("plothover", plothover);
|
$( plot.getPlaceholder() ).bind("plothover", plothover);
|
||||||
|
if (that.tooltipOptions.clickTips) {
|
||||||
|
$( plot.getPlaceholder() ).bind("plotclick", plotclick);
|
||||||
|
}
|
||||||
|
that.clickmode = false;
|
||||||
|
|
||||||
$(eventHolder).bind('mousemove', mouseMove);
|
$(eventHolder).bind('mousemove', mouseMove);
|
||||||
});
|
});
|
||||||
|
|
||||||
plot.hooks.shutdown.push(function (plot, eventHolder){
|
plot.hooks.shutdown.push(function (plot, eventHolder){
|
||||||
$(plot.getPlaceholder()).unbind("plothover", plothover);
|
$(plot.getPlaceholder()).unbind("plothover", plothover);
|
||||||
|
$(plot.getPlaceholder()).unbind("plotclick", plotclick);
|
||||||
|
plot.removeTooltip();
|
||||||
$(eventHolder).unbind("mousemove", mouseMove);
|
$(eventHolder).unbind("mousemove", mouseMove);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -115,6 +124,25 @@
|
|||||||
plot.setTooltipPosition(pos);
|
plot.setTooltipPosition(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* open the tooltip (if not already open) and freeze it on the current position till the next click
|
||||||
|
*/
|
||||||
|
function plotclick(event, pos, item) {
|
||||||
|
if (! that.clickmode) {
|
||||||
|
// it is the click activating the clicktip
|
||||||
|
plothover(event, pos, item);
|
||||||
|
if (that.getDomElement().is(":visible")) {
|
||||||
|
$(plot.getPlaceholder()).unbind("plothover", plothover);
|
||||||
|
that.clickmode = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// it is the click deactivating the clicktip
|
||||||
|
$( plot.getPlaceholder() ).bind("plothover", plothover);
|
||||||
|
plot.hideTooltip();
|
||||||
|
that.clickmode = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function plothover(event, pos, item) {
|
function plothover(event, pos, item) {
|
||||||
// Simple distance formula.
|
// Simple distance formula.
|
||||||
var lineDistance = function (p1x, p1y, p2x, p2y) {
|
var lineDistance = function (p1x, p1y, p2x, p2y) {
|
||||||
@@ -147,7 +175,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (item) {
|
if (item) {
|
||||||
plot.showTooltip(item, pos);
|
plot.showTooltip(item, that.tooltipOptions.snap ? item : pos);
|
||||||
} else if (that.plotOptions.series.lines.show && that.tooltipOptions.lines === true) {
|
} else if (that.plotOptions.series.lines.show && that.tooltipOptions.lines === true) {
|
||||||
var maxDistance = that.plotOptions.grid.mouseActiveRadius;
|
var maxDistance = that.plotOptions.grid.mouseActiveRadius;
|
||||||
|
|
||||||
@@ -155,6 +183,8 @@
|
|||||||
distance: maxDistance + 1
|
distance: maxDistance + 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var ttPos = pos;
|
||||||
|
|
||||||
$.each(plot.getData(), function (i, series) {
|
$.each(plot.getData(), function (i, series) {
|
||||||
var xBeforeIndex = 0,
|
var xBeforeIndex = 0,
|
||||||
xAfterIndex = -1;
|
xAfterIndex = -1;
|
||||||
@@ -203,11 +233,18 @@
|
|||||||
distance: distToLine,
|
distance: distToLine,
|
||||||
item: item
|
item: item
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (that.tooltipOptions.snap) {
|
||||||
|
ttPos = {
|
||||||
|
pageX: series.xaxis.p2c(pointOnLine[0]),
|
||||||
|
pageY: series.yaxis.p2c(pointOnLine[1])
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (closestTrace.distance < maxDistance + 1)
|
if (closestTrace.distance < maxDistance + 1)
|
||||||
plot.showTooltip(closestTrace.item, pos);
|
plot.showTooltip(closestTrace.item, ttPos);
|
||||||
else
|
else
|
||||||
plot.hideTooltip();
|
plot.hideTooltip();
|
||||||
} else {
|
} else {
|
||||||
@@ -227,18 +264,39 @@
|
|||||||
if ((pos.y - $(window).scrollTop()) > ($(window)[that.hfunc]() - totalTipHeight)) {
|
if ((pos.y - $(window).scrollTop()) > ($(window)[that.hfunc]() - totalTipHeight)) {
|
||||||
pos.y -= totalTipHeight;
|
pos.y -= totalTipHeight;
|
||||||
}
|
}
|
||||||
that.tipPosition.x = pos.x;
|
|
||||||
that.tipPosition.y = pos.y;
|
/*
|
||||||
|
The section applies the new positioning ONLY if pos.x and pos.y
|
||||||
|
are numbers. If they are undefined or not a number, use the last
|
||||||
|
known numerical position. This hack fixes a bug that kept pie
|
||||||
|
charts from keeping their tooltip positioning.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (isNaN(pos.x)) {
|
||||||
|
that.tipPosition.x = that.tipPosition.xPrev;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
that.tipPosition.x = pos.x;
|
||||||
|
that.tipPosition.xPrev = pos.x;
|
||||||
|
}
|
||||||
|
if (isNaN(pos.y)) {
|
||||||
|
that.tipPosition.y = that.tipPosition.yPrev;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
that.tipPosition.y = pos.y;
|
||||||
|
that.tipPosition.yPrev = pos.y;
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Quick little function for showing the tooltip.
|
// Quick little function for showing the tooltip.
|
||||||
plot.showTooltip = function (target, position) {
|
plot.showTooltip = function (target, position, targetPosition) {
|
||||||
var $tip = that.getDomElement();
|
var $tip = that.getDomElement();
|
||||||
|
|
||||||
// convert tooltip content template to real tipText
|
// convert tooltip content template to real tipText
|
||||||
var tipText = that.stringFormat(that.tooltipOptions.content, target);
|
var tipText = that.stringFormat(that.tooltipOptions.content, target);
|
||||||
if (tipText === '')
|
if (tipText === '')
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$tip.html(tipText);
|
$tip.html(tipText);
|
||||||
plot.setTooltipPosition({ x: position.pageX, y: position.pageY });
|
plot.setTooltipPosition({ x: position.pageX, y: position.pageY });
|
||||||
@@ -257,6 +315,10 @@
|
|||||||
plot.hideTooltip = function () {
|
plot.hideTooltip = function () {
|
||||||
that.getDomElement().hide().html('');
|
that.getDomElement().hide().html('');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
plot.removeTooltip = function() {
|
||||||
|
that.getDomElement().remove();
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -264,23 +326,26 @@
|
|||||||
* @return jQuery object
|
* @return jQuery object
|
||||||
*/
|
*/
|
||||||
FlotTooltip.prototype.getDomElement = function () {
|
FlotTooltip.prototype.getDomElement = function () {
|
||||||
var $tip = $('.' + this.tooltipOptions.cssClass);
|
var $tip = $('<div>');
|
||||||
|
if (this.tooltipOptions && this.tooltipOptions.cssClass) {
|
||||||
|
$tip = $('.' + this.tooltipOptions.cssClass);
|
||||||
|
|
||||||
if( $tip.length === 0 ){
|
if( $tip.length === 0 ){
|
||||||
$tip = $('<div />').addClass(this.tooltipOptions.cssClass);
|
$tip = $('<div />').addClass(this.tooltipOptions.cssClass);
|
||||||
$tip.appendTo('body').hide().css({position: 'absolute'});
|
$tip.appendTo('body').hide().css({position: 'absolute'});
|
||||||
|
|
||||||
if(this.tooltipOptions.defaultTheme) {
|
if(this.tooltipOptions.defaultTheme) {
|
||||||
$tip.css({
|
$tip.css({
|
||||||
'background': '#fff',
|
'background': '#fff',
|
||||||
'z-index': '1040',
|
'z-index': '1040',
|
||||||
'padding': '0.4em 0.6em',
|
'padding': '0.4em 0.6em',
|
||||||
'border-radius': '0.5em',
|
'border-radius': '0.5em',
|
||||||
'font-size': '0.8em',
|
'font-size': '0.8em',
|
||||||
'border': '1px solid #111',
|
'border': '1px solid #111',
|
||||||
'display': 'none',
|
'display': 'none',
|
||||||
'white-space': 'nowrap'
|
'white-space': 'nowrap'
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -294,7 +359,6 @@
|
|||||||
* @return {string} real tooltip content for current item
|
* @return {string} real tooltip content for current item
|
||||||
*/
|
*/
|
||||||
FlotTooltip.prototype.stringFormat = function (content, item) {
|
FlotTooltip.prototype.stringFormat = function (content, item) {
|
||||||
|
|
||||||
var percentPattern = /%p\.{0,1}(\d{0,})/;
|
var percentPattern = /%p\.{0,1}(\d{0,})/;
|
||||||
var seriesPattern = /%s/;
|
var seriesPattern = /%s/;
|
||||||
var colorPattern = /%c/;
|
var colorPattern = /%c/;
|
||||||
@@ -305,15 +369,24 @@
|
|||||||
var xPatternWithoutPrecision = "%x";
|
var xPatternWithoutPrecision = "%x";
|
||||||
var yPatternWithoutPrecision = "%y";
|
var yPatternWithoutPrecision = "%y";
|
||||||
var customTextPattern = "%ct";
|
var customTextPattern = "%ct";
|
||||||
|
var nPiePattern = "%n";
|
||||||
|
|
||||||
var x, y, customText, p;
|
var x, y, customText, p, n;
|
||||||
|
|
||||||
// for threshold plugin we need to read data from different place
|
// for threshold plugin we need to read data from different place
|
||||||
if (typeof item.series.threshold !== "undefined") {
|
if (typeof item.series.threshold !== "undefined") {
|
||||||
x = item.datapoint[0];
|
x = item.datapoint[0];
|
||||||
y = item.datapoint[1];
|
y = item.datapoint[1];
|
||||||
customText = item.datapoint[2];
|
customText = item.datapoint[2];
|
||||||
} else if (typeof item.series.lines !== "undefined" && item.series.lines.steps) {
|
}
|
||||||
|
|
||||||
|
// for CurvedLines plugin we need to read data from different place
|
||||||
|
else if (typeof item.series.curvedLines !== "undefined") {
|
||||||
|
x = item.datapoint[0];
|
||||||
|
y = item.datapoint[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (typeof item.series.lines !== "undefined" && item.series.lines.steps) {
|
||||||
x = item.series.datapoints.points[item.dataIndex * 2];
|
x = item.series.datapoints.points[item.dataIndex * 2];
|
||||||
y = item.series.datapoints.points[item.dataIndex * 2 + 1];
|
y = item.series.datapoints.points[item.dataIndex * 2 + 1];
|
||||||
// TODO: where to find custom text in this variant?
|
// TODO: where to find custom text in this variant?
|
||||||
@@ -339,6 +412,13 @@
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* replacement of %ct and other multi-character templates must
|
||||||
|
precede the replacement of single-character templates
|
||||||
|
to avoid conflict between '%c' and '%ct' and similar substrings
|
||||||
|
*/
|
||||||
|
if (customText)
|
||||||
|
content = content.replace(customTextPattern, customText);
|
||||||
|
|
||||||
// percent match for pie charts and stacked percent
|
// percent match for pie charts and stacked percent
|
||||||
if (typeof (item.series.percent) !== 'undefined') {
|
if (typeof (item.series.percent) !== 'undefined') {
|
||||||
p = item.series.percent;
|
p = item.series.percent;
|
||||||
@@ -349,6 +429,16 @@
|
|||||||
content = this.adjustValPrecision(percentPattern, content, p);
|
content = this.adjustValPrecision(percentPattern, content, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// replace %n with number of items represented by slice in pie charts
|
||||||
|
if (item.series.hasOwnProperty('pie')) {
|
||||||
|
if (typeof (item.series.data[0][1] !== 'undefined')) {
|
||||||
|
n = item.series.data[0][1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (typeof n === 'number') {
|
||||||
|
content = content.replace(nPiePattern, n);
|
||||||
|
}
|
||||||
|
|
||||||
// series match
|
// series match
|
||||||
if (typeof(item.series.label) !== 'undefined') {
|
if (typeof(item.series.label) !== 'undefined') {
|
||||||
content = content.replace(seriesPattern, item.series.label);
|
content = content.replace(seriesPattern, item.series.label);
|
||||||
@@ -411,11 +501,11 @@
|
|||||||
// see https://github.com/krzysu/flot.tooltip/issues/65
|
// see https://github.com/krzysu/flot.tooltip/issues/65
|
||||||
var tickIndex = item.dataIndex + item.seriesIndex;
|
var tickIndex = item.dataIndex + item.seriesIndex;
|
||||||
|
|
||||||
for (var index in item.series.xaxis[ticks]) {
|
for (var xIndex in item.series.xaxis[ticks]) {
|
||||||
if (item.series.xaxis[ticks].hasOwnProperty(tickIndex) && !this.isTimeMode('xaxis', item)) {
|
if (item.series.xaxis[ticks].hasOwnProperty(tickIndex) && !this.isTimeMode('xaxis', item)) {
|
||||||
var valueX = (this.isCategoriesMode('xaxis', item)) ? item.series.xaxis[ticks][tickIndex].label : item.series.xaxis[ticks][tickIndex].v;
|
var valueX = (this.isCategoriesMode('xaxis', item)) ? item.series.xaxis[ticks][tickIndex].label : item.series.xaxis[ticks][tickIndex].v;
|
||||||
if (valueX === x) {
|
if (valueX === x) {
|
||||||
content = content.replace(xPattern, item.series.xaxis[ticks][tickIndex].label);
|
content = content.replace(xPattern, item.series.xaxis[ticks][tickIndex].label.replace(/\$/g, '$$$$'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -423,11 +513,11 @@
|
|||||||
|
|
||||||
// change y from number to given label, if given
|
// change y from number to given label, if given
|
||||||
if (typeof item.series.yaxis.ticks !== 'undefined') {
|
if (typeof item.series.yaxis.ticks !== 'undefined') {
|
||||||
for (var index in item.series.yaxis.ticks) {
|
for (var yIndex in item.series.yaxis.ticks) {
|
||||||
if (item.series.yaxis.ticks.hasOwnProperty(index)) {
|
if (item.series.yaxis.ticks.hasOwnProperty(yIndex)) {
|
||||||
var valueY = (this.isCategoriesMode('yaxis', item)) ? item.series.yaxis.ticks[index].label : item.series.yaxis.ticks[index].v;
|
var valueY = (this.isCategoriesMode('yaxis', item)) ? item.series.yaxis.ticks[yIndex].label : item.series.yaxis.ticks[yIndex].v;
|
||||||
if (valueY === y) {
|
if (valueY === y) {
|
||||||
content = content.replace(yPattern, item.series.yaxis.ticks[index].label);
|
content = content.replace(yPattern, item.series.yaxis.ticks[yIndex].label.replace(/\$/g, '$$$$'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -443,9 +533,6 @@
|
|||||||
content = content.replace(yPatternWithoutPrecision, item.series.yaxis.tickFormatter(y, item.series.yaxis).replace(/\$/g, '$$'));
|
content = content.replace(yPatternWithoutPrecision, item.series.yaxis.tickFormatter(y, item.series.yaxis).replace(/\$/g, '$$'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (customText)
|
|
||||||
content = content.replace(customTextPattern, customText);
|
|
||||||
|
|
||||||
return content;
|
return content;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -493,12 +580,12 @@
|
|||||||
|
|
||||||
// check if flot-axislabels plugin (https://github.com/markrcote/flot-axislabels) is used and that an axis label is given
|
// check if flot-axislabels plugin (https://github.com/markrcote/flot-axislabels) is used and that an axis label is given
|
||||||
FlotTooltip.prototype.hasAxisLabel = function (axisName, item) {
|
FlotTooltip.prototype.hasAxisLabel = function (axisName, item) {
|
||||||
return ($.inArray(this.plotPlugins, 'axisLabels') !== -1 && typeof item.series[axisName].options.axisLabel !== 'undefined' && item.series[axisName].options.axisLabel.length > 0);
|
return ($.inArray('axisLabels', this.plotPlugins) !== -1 && typeof item.series[axisName].options.axisLabel !== 'undefined' && item.series[axisName].options.axisLabel.length > 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
// check whether flot-tickRotor, a plugin which allows rotation of X-axis ticks, is being used
|
// check whether flot-tickRotor, a plugin which allows rotation of X-axis ticks, is being used
|
||||||
FlotTooltip.prototype.hasRotatedXAxisTicks = function (item) {
|
FlotTooltip.prototype.hasRotatedXAxisTicks = function (item) {
|
||||||
return ($.inArray(this.plotPlugins, 'tickRotor') !== -1 && typeof item.series.xaxis.rotatedTicks !== 'undefined');
|
return ($.inArray('tickRotor',this.plotPlugins) !== -1 && typeof item.series.xaxis.rotatedTicks !== 'undefined');
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -14,6 +14,7 @@
|
|||||||
// %y -> Y value,
|
// %y -> Y value,
|
||||||
// %x.2 -> precision of X value,
|
// %x.2 -> precision of X value,
|
||||||
// %p -> percent
|
// %p -> percent
|
||||||
|
// %n -> value (not percent) of pie chart
|
||||||
xDateFormat: null,
|
xDateFormat: null,
|
||||||
yDateFormat: null,
|
yDateFormat: null,
|
||||||
monthNames: null,
|
monthNames: null,
|
||||||
@@ -23,7 +24,9 @@
|
|||||||
y: 20
|
y: 20
|
||||||
},
|
},
|
||||||
defaultTheme: true,
|
defaultTheme: true,
|
||||||
|
snap: true,
|
||||||
lines: false,
|
lines: false,
|
||||||
|
clickTips: false,
|
||||||
|
|
||||||
// callbacks
|
// callbacks
|
||||||
onHover: function (flotItem, $tooltipEl) {},
|
onHover: function (flotItem, $tooltipEl) {},
|
||||||
@@ -88,12 +91,18 @@
|
|||||||
|
|
||||||
// bind event
|
// bind event
|
||||||
$( plot.getPlaceholder() ).bind("plothover", plothover);
|
$( plot.getPlaceholder() ).bind("plothover", plothover);
|
||||||
|
if (that.tooltipOptions.clickTips) {
|
||||||
|
$( plot.getPlaceholder() ).bind("plotclick", plotclick);
|
||||||
|
}
|
||||||
|
that.clickmode = false;
|
||||||
|
|
||||||
$(eventHolder).bind('mousemove', mouseMove);
|
$(eventHolder).bind('mousemove', mouseMove);
|
||||||
});
|
});
|
||||||
|
|
||||||
plot.hooks.shutdown.push(function (plot, eventHolder){
|
plot.hooks.shutdown.push(function (plot, eventHolder){
|
||||||
$(plot.getPlaceholder()).unbind("plothover", plothover);
|
$(plot.getPlaceholder()).unbind("plothover", plothover);
|
||||||
|
$(plot.getPlaceholder()).unbind("plotclick", plotclick);
|
||||||
|
plot.removeTooltip();
|
||||||
$(eventHolder).unbind("mousemove", mouseMove);
|
$(eventHolder).unbind("mousemove", mouseMove);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -104,6 +113,25 @@
|
|||||||
plot.setTooltipPosition(pos);
|
plot.setTooltipPosition(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* open the tooltip (if not already open) and freeze it on the current position till the next click
|
||||||
|
*/
|
||||||
|
function plotclick(event, pos, item) {
|
||||||
|
if (! that.clickmode) {
|
||||||
|
// it is the click activating the clicktip
|
||||||
|
plothover(event, pos, item);
|
||||||
|
if (that.getDomElement().is(":visible")) {
|
||||||
|
$(plot.getPlaceholder()).unbind("plothover", plothover);
|
||||||
|
that.clickmode = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// it is the click deactivating the clicktip
|
||||||
|
$( plot.getPlaceholder() ).bind("plothover", plothover);
|
||||||
|
plot.hideTooltip();
|
||||||
|
that.clickmode = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function plothover(event, pos, item) {
|
function plothover(event, pos, item) {
|
||||||
// Simple distance formula.
|
// Simple distance formula.
|
||||||
var lineDistance = function (p1x, p1y, p2x, p2y) {
|
var lineDistance = function (p1x, p1y, p2x, p2y) {
|
||||||
@@ -136,7 +164,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (item) {
|
if (item) {
|
||||||
plot.showTooltip(item, pos);
|
plot.showTooltip(item, that.tooltipOptions.snap ? item : pos);
|
||||||
} else if (that.plotOptions.series.lines.show && that.tooltipOptions.lines === true) {
|
} else if (that.plotOptions.series.lines.show && that.tooltipOptions.lines === true) {
|
||||||
var maxDistance = that.plotOptions.grid.mouseActiveRadius;
|
var maxDistance = that.plotOptions.grid.mouseActiveRadius;
|
||||||
|
|
||||||
@@ -144,6 +172,8 @@
|
|||||||
distance: maxDistance + 1
|
distance: maxDistance + 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var ttPos = pos;
|
||||||
|
|
||||||
$.each(plot.getData(), function (i, series) {
|
$.each(plot.getData(), function (i, series) {
|
||||||
var xBeforeIndex = 0,
|
var xBeforeIndex = 0,
|
||||||
xAfterIndex = -1;
|
xAfterIndex = -1;
|
||||||
@@ -192,11 +222,18 @@
|
|||||||
distance: distToLine,
|
distance: distToLine,
|
||||||
item: item
|
item: item
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (that.tooltipOptions.snap) {
|
||||||
|
ttPos = {
|
||||||
|
pageX: series.xaxis.p2c(pointOnLine[0]),
|
||||||
|
pageY: series.yaxis.p2c(pointOnLine[1])
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (closestTrace.distance < maxDistance + 1)
|
if (closestTrace.distance < maxDistance + 1)
|
||||||
plot.showTooltip(closestTrace.item, pos);
|
plot.showTooltip(closestTrace.item, ttPos);
|
||||||
else
|
else
|
||||||
plot.hideTooltip();
|
plot.hideTooltip();
|
||||||
} else {
|
} else {
|
||||||
@@ -216,18 +253,39 @@
|
|||||||
if ((pos.y - $(window).scrollTop()) > ($(window)[that.hfunc]() - totalTipHeight)) {
|
if ((pos.y - $(window).scrollTop()) > ($(window)[that.hfunc]() - totalTipHeight)) {
|
||||||
pos.y -= totalTipHeight;
|
pos.y -= totalTipHeight;
|
||||||
}
|
}
|
||||||
that.tipPosition.x = pos.x;
|
|
||||||
that.tipPosition.y = pos.y;
|
/*
|
||||||
|
The section applies the new positioning ONLY if pos.x and pos.y
|
||||||
|
are numbers. If they are undefined or not a number, use the last
|
||||||
|
known numerical position. This hack fixes a bug that kept pie
|
||||||
|
charts from keeping their tooltip positioning.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (isNaN(pos.x)) {
|
||||||
|
that.tipPosition.x = that.tipPosition.xPrev;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
that.tipPosition.x = pos.x;
|
||||||
|
that.tipPosition.xPrev = pos.x;
|
||||||
|
}
|
||||||
|
if (isNaN(pos.y)) {
|
||||||
|
that.tipPosition.y = that.tipPosition.yPrev;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
that.tipPosition.y = pos.y;
|
||||||
|
that.tipPosition.yPrev = pos.y;
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Quick little function for showing the tooltip.
|
// Quick little function for showing the tooltip.
|
||||||
plot.showTooltip = function (target, position) {
|
plot.showTooltip = function (target, position, targetPosition) {
|
||||||
var $tip = that.getDomElement();
|
var $tip = that.getDomElement();
|
||||||
|
|
||||||
// convert tooltip content template to real tipText
|
// convert tooltip content template to real tipText
|
||||||
var tipText = that.stringFormat(that.tooltipOptions.content, target);
|
var tipText = that.stringFormat(that.tooltipOptions.content, target);
|
||||||
if (tipText === '')
|
if (tipText === '')
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$tip.html(tipText);
|
$tip.html(tipText);
|
||||||
plot.setTooltipPosition({ x: position.pageX, y: position.pageY });
|
plot.setTooltipPosition({ x: position.pageX, y: position.pageY });
|
||||||
@@ -246,6 +304,10 @@
|
|||||||
plot.hideTooltip = function () {
|
plot.hideTooltip = function () {
|
||||||
that.getDomElement().hide().html('');
|
that.getDomElement().hide().html('');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
plot.removeTooltip = function() {
|
||||||
|
that.getDomElement().remove();
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -253,23 +315,26 @@
|
|||||||
* @return jQuery object
|
* @return jQuery object
|
||||||
*/
|
*/
|
||||||
FlotTooltip.prototype.getDomElement = function () {
|
FlotTooltip.prototype.getDomElement = function () {
|
||||||
var $tip = $('.' + this.tooltipOptions.cssClass);
|
var $tip = $('<div>');
|
||||||
|
if (this.tooltipOptions && this.tooltipOptions.cssClass) {
|
||||||
|
$tip = $('.' + this.tooltipOptions.cssClass);
|
||||||
|
|
||||||
if( $tip.length === 0 ){
|
if( $tip.length === 0 ){
|
||||||
$tip = $('<div />').addClass(this.tooltipOptions.cssClass);
|
$tip = $('<div />').addClass(this.tooltipOptions.cssClass);
|
||||||
$tip.appendTo('body').hide().css({position: 'absolute'});
|
$tip.appendTo('body').hide().css({position: 'absolute'});
|
||||||
|
|
||||||
if(this.tooltipOptions.defaultTheme) {
|
if(this.tooltipOptions.defaultTheme) {
|
||||||
$tip.css({
|
$tip.css({
|
||||||
'background': '#fff',
|
'background': '#fff',
|
||||||
'z-index': '1040',
|
'z-index': '1040',
|
||||||
'padding': '0.4em 0.6em',
|
'padding': '0.4em 0.6em',
|
||||||
'border-radius': '0.5em',
|
'border-radius': '0.5em',
|
||||||
'font-size': '0.8em',
|
'font-size': '0.8em',
|
||||||
'border': '1px solid #111',
|
'border': '1px solid #111',
|
||||||
'display': 'none',
|
'display': 'none',
|
||||||
'white-space': 'nowrap'
|
'white-space': 'nowrap'
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -283,7 +348,6 @@
|
|||||||
* @return {string} real tooltip content for current item
|
* @return {string} real tooltip content for current item
|
||||||
*/
|
*/
|
||||||
FlotTooltip.prototype.stringFormat = function (content, item) {
|
FlotTooltip.prototype.stringFormat = function (content, item) {
|
||||||
|
|
||||||
var percentPattern = /%p\.{0,1}(\d{0,})/;
|
var percentPattern = /%p\.{0,1}(\d{0,})/;
|
||||||
var seriesPattern = /%s/;
|
var seriesPattern = /%s/;
|
||||||
var colorPattern = /%c/;
|
var colorPattern = /%c/;
|
||||||
@@ -294,15 +358,24 @@
|
|||||||
var xPatternWithoutPrecision = "%x";
|
var xPatternWithoutPrecision = "%x";
|
||||||
var yPatternWithoutPrecision = "%y";
|
var yPatternWithoutPrecision = "%y";
|
||||||
var customTextPattern = "%ct";
|
var customTextPattern = "%ct";
|
||||||
|
var nPiePattern = "%n";
|
||||||
|
|
||||||
var x, y, customText, p;
|
var x, y, customText, p, n;
|
||||||
|
|
||||||
// for threshold plugin we need to read data from different place
|
// for threshold plugin we need to read data from different place
|
||||||
if (typeof item.series.threshold !== "undefined") {
|
if (typeof item.series.threshold !== "undefined") {
|
||||||
x = item.datapoint[0];
|
x = item.datapoint[0];
|
||||||
y = item.datapoint[1];
|
y = item.datapoint[1];
|
||||||
customText = item.datapoint[2];
|
customText = item.datapoint[2];
|
||||||
} else if (typeof item.series.lines !== "undefined" && item.series.lines.steps) {
|
}
|
||||||
|
|
||||||
|
// for CurvedLines plugin we need to read data from different place
|
||||||
|
else if (typeof item.series.curvedLines !== "undefined") {
|
||||||
|
x = item.datapoint[0];
|
||||||
|
y = item.datapoint[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (typeof item.series.lines !== "undefined" && item.series.lines.steps) {
|
||||||
x = item.series.datapoints.points[item.dataIndex * 2];
|
x = item.series.datapoints.points[item.dataIndex * 2];
|
||||||
y = item.series.datapoints.points[item.dataIndex * 2 + 1];
|
y = item.series.datapoints.points[item.dataIndex * 2 + 1];
|
||||||
// TODO: where to find custom text in this variant?
|
// TODO: where to find custom text in this variant?
|
||||||
@@ -328,6 +401,13 @@
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* replacement of %ct and other multi-character templates must
|
||||||
|
precede the replacement of single-character templates
|
||||||
|
to avoid conflict between '%c' and '%ct' and similar substrings
|
||||||
|
*/
|
||||||
|
if (customText)
|
||||||
|
content = content.replace(customTextPattern, customText);
|
||||||
|
|
||||||
// percent match for pie charts and stacked percent
|
// percent match for pie charts and stacked percent
|
||||||
if (typeof (item.series.percent) !== 'undefined') {
|
if (typeof (item.series.percent) !== 'undefined') {
|
||||||
p = item.series.percent;
|
p = item.series.percent;
|
||||||
@@ -338,6 +418,16 @@
|
|||||||
content = this.adjustValPrecision(percentPattern, content, p);
|
content = this.adjustValPrecision(percentPattern, content, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// replace %n with number of items represented by slice in pie charts
|
||||||
|
if (item.series.hasOwnProperty('pie')) {
|
||||||
|
if (typeof (item.series.data[0][1] !== 'undefined')) {
|
||||||
|
n = item.series.data[0][1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (typeof n === 'number') {
|
||||||
|
content = content.replace(nPiePattern, n);
|
||||||
|
}
|
||||||
|
|
||||||
// series match
|
// series match
|
||||||
if (typeof(item.series.label) !== 'undefined') {
|
if (typeof(item.series.label) !== 'undefined') {
|
||||||
content = content.replace(seriesPattern, item.series.label);
|
content = content.replace(seriesPattern, item.series.label);
|
||||||
@@ -400,11 +490,11 @@
|
|||||||
// see https://github.com/krzysu/flot.tooltip/issues/65
|
// see https://github.com/krzysu/flot.tooltip/issues/65
|
||||||
var tickIndex = item.dataIndex + item.seriesIndex;
|
var tickIndex = item.dataIndex + item.seriesIndex;
|
||||||
|
|
||||||
for (var index in item.series.xaxis[ticks]) {
|
for (var xIndex in item.series.xaxis[ticks]) {
|
||||||
if (item.series.xaxis[ticks].hasOwnProperty(tickIndex) && !this.isTimeMode('xaxis', item)) {
|
if (item.series.xaxis[ticks].hasOwnProperty(tickIndex) && !this.isTimeMode('xaxis', item)) {
|
||||||
var valueX = (this.isCategoriesMode('xaxis', item)) ? item.series.xaxis[ticks][tickIndex].label : item.series.xaxis[ticks][tickIndex].v;
|
var valueX = (this.isCategoriesMode('xaxis', item)) ? item.series.xaxis[ticks][tickIndex].label : item.series.xaxis[ticks][tickIndex].v;
|
||||||
if (valueX === x) {
|
if (valueX === x) {
|
||||||
content = content.replace(xPattern, item.series.xaxis[ticks][tickIndex].label);
|
content = content.replace(xPattern, item.series.xaxis[ticks][tickIndex].label.replace(/\$/g, '$$$$'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -412,11 +502,11 @@
|
|||||||
|
|
||||||
// change y from number to given label, if given
|
// change y from number to given label, if given
|
||||||
if (typeof item.series.yaxis.ticks !== 'undefined') {
|
if (typeof item.series.yaxis.ticks !== 'undefined') {
|
||||||
for (var index in item.series.yaxis.ticks) {
|
for (var yIndex in item.series.yaxis.ticks) {
|
||||||
if (item.series.yaxis.ticks.hasOwnProperty(index)) {
|
if (item.series.yaxis.ticks.hasOwnProperty(yIndex)) {
|
||||||
var valueY = (this.isCategoriesMode('yaxis', item)) ? item.series.yaxis.ticks[index].label : item.series.yaxis.ticks[index].v;
|
var valueY = (this.isCategoriesMode('yaxis', item)) ? item.series.yaxis.ticks[yIndex].label : item.series.yaxis.ticks[yIndex].v;
|
||||||
if (valueY === y) {
|
if (valueY === y) {
|
||||||
content = content.replace(yPattern, item.series.yaxis.ticks[index].label);
|
content = content.replace(yPattern, item.series.yaxis.ticks[yIndex].label.replace(/\$/g, '$$$$'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -432,9 +522,6 @@
|
|||||||
content = content.replace(yPatternWithoutPrecision, item.series.yaxis.tickFormatter(y, item.series.yaxis).replace(/\$/g, '$$'));
|
content = content.replace(yPatternWithoutPrecision, item.series.yaxis.tickFormatter(y, item.series.yaxis).replace(/\$/g, '$$'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (customText)
|
|
||||||
content = content.replace(customTextPattern, customText);
|
|
||||||
|
|
||||||
return content;
|
return content;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -482,12 +569,12 @@
|
|||||||
|
|
||||||
// check if flot-axislabels plugin (https://github.com/markrcote/flot-axislabels) is used and that an axis label is given
|
// check if flot-axislabels plugin (https://github.com/markrcote/flot-axislabels) is used and that an axis label is given
|
||||||
FlotTooltip.prototype.hasAxisLabel = function (axisName, item) {
|
FlotTooltip.prototype.hasAxisLabel = function (axisName, item) {
|
||||||
return ($.inArray(this.plotPlugins, 'axisLabels') !== -1 && typeof item.series[axisName].options.axisLabel !== 'undefined' && item.series[axisName].options.axisLabel.length > 0);
|
return ($.inArray('axisLabels', this.plotPlugins) !== -1 && typeof item.series[axisName].options.axisLabel !== 'undefined' && item.series[axisName].options.axisLabel.length > 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
// check whether flot-tickRotor, a plugin which allows rotation of X-axis ticks, is being used
|
// check whether flot-tickRotor, a plugin which allows rotation of X-axis ticks, is being used
|
||||||
FlotTooltip.prototype.hasRotatedXAxisTicks = function (item) {
|
FlotTooltip.prototype.hasRotatedXAxisTicks = function (item) {
|
||||||
return ($.inArray(this.plotPlugins, 'tickRotor') !== -1 && typeof item.series.xaxis.rotatedTicks !== 'undefined');
|
return ($.inArray('tickRotor',this.plotPlugins) !== -1 && typeof item.series.xaxis.rotatedTicks !== 'undefined');
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
5
bower_components/flot/.bower.json
vendored
5
bower_components/flot/.bower.json
vendored
@@ -12,8 +12,7 @@
|
|||||||
"tag": "v0.8.3",
|
"tag": "v0.8.3",
|
||||||
"commit": "453b017cc5acfd75e252b93e8635f57f4196d45d"
|
"commit": "453b017cc5acfd75e252b93e8635f57f4196d45d"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/flot/flot.git",
|
"_source": "https://github.com/flot/flot.git",
|
||||||
"_target": "~0.8.3",
|
"_target": "~0.8.3",
|
||||||
"_originalSource": "flot",
|
"_originalSource": "flot"
|
||||||
"_direct": true
|
|
||||||
}
|
}
|
||||||
2
bower_components/font-awesome/.bower.json
vendored
2
bower_components/font-awesome/.bower.json
vendored
@@ -30,7 +30,7 @@
|
|||||||
"tag": "v4.2.0",
|
"tag": "v4.2.0",
|
||||||
"commit": "0b924144a95a54fa738d0450ff66c1dabd11ae74"
|
"commit": "0b924144a95a54fa738d0450ff66c1dabd11ae74"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/FortAwesome/Font-Awesome.git",
|
"_source": "https://github.com/FortAwesome/Font-Awesome.git",
|
||||||
"_target": "~4.2.0",
|
"_target": "~4.2.0",
|
||||||
"_originalSource": "font-awesome"
|
"_originalSource": "font-awesome"
|
||||||
}
|
}
|
||||||
5
bower_components/holderjs/.bower.json
vendored
5
bower_components/holderjs/.bower.json
vendored
@@ -9,8 +9,7 @@
|
|||||||
"tag": "v2.4.1",
|
"tag": "v2.4.1",
|
||||||
"commit": "bd2e0be3c5c86afbdef1da092eb72c8ce7d52dce"
|
"commit": "bd2e0be3c5c86afbdef1da092eb72c8ce7d52dce"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/imsky/holder.git",
|
"_source": "https://github.com/imsky/holder.git",
|
||||||
"_target": "~2.4.1",
|
"_target": "~2.4.1",
|
||||||
"_originalSource": "holderjs",
|
"_originalSource": "holderjs"
|
||||||
"_direct": true
|
|
||||||
}
|
}
|
||||||
29
bower_components/jquery/.bower.json
vendored
29
bower_components/jquery/.bower.json
vendored
@@ -1,38 +1,25 @@
|
|||||||
{
|
{
|
||||||
"name": "jquery",
|
"name": "jquery",
|
||||||
"version": "2.1.4",
|
|
||||||
"main": "dist/jquery.js",
|
"main": "dist/jquery.js",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"**/.*",
|
|
||||||
"build",
|
|
||||||
"dist/cdn",
|
|
||||||
"speed",
|
|
||||||
"test",
|
|
||||||
"*.md",
|
|
||||||
"AUTHORS.txt",
|
|
||||||
"Gruntfile.js",
|
|
||||||
"package.json"
|
"package.json"
|
||||||
],
|
],
|
||||||
"devDependencies": {
|
|
||||||
"sizzle": "2.1.1-jquery.2.1.2",
|
|
||||||
"requirejs": "2.1.10",
|
|
||||||
"qunit": "1.14.0",
|
|
||||||
"sinon": "1.8.1"
|
|
||||||
},
|
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"jquery",
|
"jquery",
|
||||||
"javascript",
|
"javascript",
|
||||||
|
"browser",
|
||||||
"library"
|
"library"
|
||||||
],
|
],
|
||||||
"homepage": "https://github.com/jquery/jquery",
|
"homepage": "https://github.com/jquery/jquery-dist",
|
||||||
"_release": "2.1.4",
|
"version": "3.1.0",
|
||||||
|
"_release": "3.1.0",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "2.1.4",
|
"tag": "3.1.0",
|
||||||
"commit": "7751e69b615c6eca6f783a81e292a55725af6b85"
|
"commit": "6f02bc382c0529d3b4f68f6b2ad21876642dbbfe"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/jquery/jquery.git",
|
"_source": "https://github.com/jquery/jquery-dist.git",
|
||||||
"_target": "1.9.1 - 2",
|
"_target": ">= 2.1.0",
|
||||||
"_originalSource": "jquery"
|
"_originalSource": "jquery"
|
||||||
}
|
}
|
||||||
21
bower_components/jquery/MIT-LICENSE.txt
vendored
21
bower_components/jquery/MIT-LICENSE.txt
vendored
@@ -1,21 +0,0 @@
|
|||||||
Copyright 2014 jQuery Foundation and other contributors
|
|
||||||
http://jquery.com/
|
|
||||||
|
|
||||||
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.
|
|
||||||
16
bower_components/jquery/bower.json
vendored
16
bower_components/jquery/bower.json
vendored
@@ -1,28 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "jquery",
|
"name": "jquery",
|
||||||
"version": "2.1.4",
|
|
||||||
"main": "dist/jquery.js",
|
"main": "dist/jquery.js",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"**/.*",
|
|
||||||
"build",
|
|
||||||
"dist/cdn",
|
|
||||||
"speed",
|
|
||||||
"test",
|
|
||||||
"*.md",
|
|
||||||
"AUTHORS.txt",
|
|
||||||
"Gruntfile.js",
|
|
||||||
"package.json"
|
"package.json"
|
||||||
],
|
],
|
||||||
"devDependencies": {
|
|
||||||
"sizzle": "2.1.1-jquery.2.1.2",
|
|
||||||
"requirejs": "2.1.10",
|
|
||||||
"qunit": "1.14.0",
|
|
||||||
"sinon": "1.8.1"
|
|
||||||
},
|
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"jquery",
|
"jquery",
|
||||||
"javascript",
|
"javascript",
|
||||||
|
"browser",
|
||||||
"library"
|
"library"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
6216
bower_components/jquery/dist/jquery.js
vendored
6216
bower_components/jquery/dist/jquery.js
vendored
File diff suppressed because it is too large
Load Diff
9
bower_components/jquery/dist/jquery.min.js
vendored
9
bower_components/jquery/dist/jquery.min.js
vendored
File diff suppressed because one or more lines are too long
2
bower_components/jquery/dist/jquery.min.map
vendored
2
bower_components/jquery/dist/jquery.min.map
vendored
File diff suppressed because one or more lines are too long
277
bower_components/jquery/src/ajax.js
vendored
277
bower_components/jquery/src/ajax.js
vendored
@@ -1,23 +1,30 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
|
"./var/document",
|
||||||
"./var/rnotwhite",
|
"./var/rnotwhite",
|
||||||
|
"./ajax/var/location",
|
||||||
"./ajax/var/nonce",
|
"./ajax/var/nonce",
|
||||||
"./ajax/var/rquery",
|
"./ajax/var/rquery",
|
||||||
|
|
||||||
"./core/init",
|
"./core/init",
|
||||||
"./ajax/parseJSON",
|
|
||||||
"./ajax/parseXML",
|
"./ajax/parseXML",
|
||||||
"./deferred"
|
"./event/trigger",
|
||||||
], function( jQuery, rnotwhite, nonce, rquery ) {
|
"./deferred",
|
||||||
|
"./serialize" // jQuery.param
|
||||||
|
], function( jQuery, document, rnotwhite, location, nonce, rquery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
var
|
var
|
||||||
|
r20 = /%20/g,
|
||||||
rhash = /#.*$/,
|
rhash = /#.*$/,
|
||||||
rts = /([?&])_=[^&]*/,
|
rts = /([?&])_=[^&]*/,
|
||||||
rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
|
rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
|
||||||
|
|
||||||
// #7653, #8125, #8152: local protocol detection
|
// #7653, #8125, #8152: local protocol detection
|
||||||
rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
|
rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
|
||||||
rnoContent = /^(?:GET|HEAD)$/,
|
rnoContent = /^(?:GET|HEAD)$/,
|
||||||
rprotocol = /^\/\//,
|
rprotocol = /^\/\//,
|
||||||
rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
|
|
||||||
|
|
||||||
/* Prefilters
|
/* Prefilters
|
||||||
* 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
|
* 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
|
||||||
@@ -40,11 +47,9 @@ var
|
|||||||
// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
|
// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
|
||||||
allTypes = "*/".concat( "*" ),
|
allTypes = "*/".concat( "*" ),
|
||||||
|
|
||||||
// Document location
|
// Anchor tag for parsing the document origin
|
||||||
ajaxLocation = window.location.href,
|
originAnchor = document.createElement( "a" );
|
||||||
|
originAnchor.href = location.href;
|
||||||
// Segment location into parts
|
|
||||||
ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
|
|
||||||
|
|
||||||
// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
|
// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
|
||||||
function addToPrefiltersOrTransports( structure ) {
|
function addToPrefiltersOrTransports( structure ) {
|
||||||
@@ -62,16 +67,18 @@ function addToPrefiltersOrTransports( structure ) {
|
|||||||
dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
|
dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
|
||||||
|
|
||||||
if ( jQuery.isFunction( func ) ) {
|
if ( jQuery.isFunction( func ) ) {
|
||||||
|
|
||||||
// For each dataType in the dataTypeExpression
|
// For each dataType in the dataTypeExpression
|
||||||
while ( (dataType = dataTypes[i++]) ) {
|
while ( ( dataType = dataTypes[ i++ ] ) ) {
|
||||||
|
|
||||||
// Prepend if requested
|
// Prepend if requested
|
||||||
if ( dataType[0] === "+" ) {
|
if ( dataType[ 0 ] === "+" ) {
|
||||||
dataType = dataType.slice( 1 ) || "*";
|
dataType = dataType.slice( 1 ) || "*";
|
||||||
(structure[ dataType ] = structure[ dataType ] || []).unshift( func );
|
( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
|
||||||
|
|
||||||
// Otherwise append
|
// Otherwise append
|
||||||
} else {
|
} else {
|
||||||
(structure[ dataType ] = structure[ dataType ] || []).push( func );
|
( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -89,14 +96,16 @@ function inspectPrefiltersOrTransports( structure, options, originalOptions, jqX
|
|||||||
inspected[ dataType ] = true;
|
inspected[ dataType ] = true;
|
||||||
jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
|
jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
|
||||||
var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
|
var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
|
||||||
if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
|
if ( typeof dataTypeOrTransport === "string" &&
|
||||||
|
!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
|
||||||
|
|
||||||
options.dataTypes.unshift( dataTypeOrTransport );
|
options.dataTypes.unshift( dataTypeOrTransport );
|
||||||
inspect( dataTypeOrTransport );
|
inspect( dataTypeOrTransport );
|
||||||
return false;
|
return false;
|
||||||
} else if ( seekingTransport ) {
|
} else if ( seekingTransport ) {
|
||||||
return !( selected = dataTypeOrTransport );
|
return !( selected = dataTypeOrTransport );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
return selected;
|
return selected;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,7 +121,7 @@ function ajaxExtend( target, src ) {
|
|||||||
|
|
||||||
for ( key in src ) {
|
for ( key in src ) {
|
||||||
if ( src[ key ] !== undefined ) {
|
if ( src[ key ] !== undefined ) {
|
||||||
( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ];
|
( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( deep ) {
|
if ( deep ) {
|
||||||
@@ -136,7 +145,7 @@ function ajaxHandleResponses( s, jqXHR, responses ) {
|
|||||||
while ( dataTypes[ 0 ] === "*" ) {
|
while ( dataTypes[ 0 ] === "*" ) {
|
||||||
dataTypes.shift();
|
dataTypes.shift();
|
||||||
if ( ct === undefined ) {
|
if ( ct === undefined ) {
|
||||||
ct = s.mimeType || jqXHR.getResponseHeader("Content-Type");
|
ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,9 +163,10 @@ function ajaxHandleResponses( s, jqXHR, responses ) {
|
|||||||
if ( dataTypes[ 0 ] in responses ) {
|
if ( dataTypes[ 0 ] in responses ) {
|
||||||
finalDataType = dataTypes[ 0 ];
|
finalDataType = dataTypes[ 0 ];
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Try convertible dataTypes
|
// Try convertible dataTypes
|
||||||
for ( type in responses ) {
|
for ( type in responses ) {
|
||||||
if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
|
if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
|
||||||
finalDataType = type;
|
finalDataType = type;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -164,6 +174,7 @@ function ajaxHandleResponses( s, jqXHR, responses ) {
|
|||||||
firstDataType = type;
|
firstDataType = type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Or just use first one
|
// Or just use first one
|
||||||
finalDataType = finalDataType || firstDataType;
|
finalDataType = finalDataType || firstDataType;
|
||||||
}
|
}
|
||||||
@@ -185,6 +196,7 @@ function ajaxHandleResponses( s, jqXHR, responses ) {
|
|||||||
function ajaxConvert( s, response, jqXHR, isSuccess ) {
|
function ajaxConvert( s, response, jqXHR, isSuccess ) {
|
||||||
var conv2, current, conv, tmp, prev,
|
var conv2, current, conv, tmp, prev,
|
||||||
converters = {},
|
converters = {},
|
||||||
|
|
||||||
// Work with a copy of dataTypes in case we need to modify it for conversion
|
// Work with a copy of dataTypes in case we need to modify it for conversion
|
||||||
dataTypes = s.dataTypes.slice();
|
dataTypes = s.dataTypes.slice();
|
||||||
|
|
||||||
@@ -214,7 +226,7 @@ function ajaxConvert( s, response, jqXHR, isSuccess ) {
|
|||||||
|
|
||||||
if ( current ) {
|
if ( current ) {
|
||||||
|
|
||||||
// There's only work to do if current dataType is non-auto
|
// There's only work to do if current dataType is non-auto
|
||||||
if ( current === "*" ) {
|
if ( current === "*" ) {
|
||||||
|
|
||||||
current = prev;
|
current = prev;
|
||||||
@@ -237,6 +249,7 @@ function ajaxConvert( s, response, jqXHR, isSuccess ) {
|
|||||||
conv = converters[ prev + " " + tmp[ 0 ] ] ||
|
conv = converters[ prev + " " + tmp[ 0 ] ] ||
|
||||||
converters[ "* " + tmp[ 0 ] ];
|
converters[ "* " + tmp[ 0 ] ];
|
||||||
if ( conv ) {
|
if ( conv ) {
|
||||||
|
|
||||||
// Condense equivalence converters
|
// Condense equivalence converters
|
||||||
if ( conv === true ) {
|
if ( conv === true ) {
|
||||||
conv = converters[ conv2 ];
|
conv = converters[ conv2 ];
|
||||||
@@ -256,13 +269,16 @@ function ajaxConvert( s, response, jqXHR, isSuccess ) {
|
|||||||
if ( conv !== true ) {
|
if ( conv !== true ) {
|
||||||
|
|
||||||
// Unless errors are allowed to bubble, catch and return them
|
// Unless errors are allowed to bubble, catch and return them
|
||||||
if ( conv && s[ "throws" ] ) {
|
if ( conv && s.throws ) {
|
||||||
response = conv( response );
|
response = conv( response );
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
response = conv( response );
|
response = conv( response );
|
||||||
} catch ( e ) {
|
} catch ( e ) {
|
||||||
return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current };
|
return {
|
||||||
|
state: "parsererror",
|
||||||
|
error: conv ? e : "No conversion from " + prev + " to " + current
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -273,7 +289,7 @@ function ajaxConvert( s, response, jqXHR, isSuccess ) {
|
|||||||
return { state: "success", data: response };
|
return { state: "success", data: response };
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery.extend({
|
jQuery.extend( {
|
||||||
|
|
||||||
// Counter for holding the number of active queries
|
// Counter for holding the number of active queries
|
||||||
active: 0,
|
active: 0,
|
||||||
@@ -283,13 +299,14 @@ jQuery.extend({
|
|||||||
etag: {},
|
etag: {},
|
||||||
|
|
||||||
ajaxSettings: {
|
ajaxSettings: {
|
||||||
url: ajaxLocation,
|
url: location.href,
|
||||||
type: "GET",
|
type: "GET",
|
||||||
isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
|
isLocal: rlocalProtocol.test( location.protocol ),
|
||||||
global: true,
|
global: true,
|
||||||
processData: true,
|
processData: true,
|
||||||
async: true,
|
async: true,
|
||||||
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
|
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
|
||||||
|
|
||||||
/*
|
/*
|
||||||
timeout: 0,
|
timeout: 0,
|
||||||
data: null,
|
data: null,
|
||||||
@@ -311,9 +328,9 @@ jQuery.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
contents: {
|
contents: {
|
||||||
xml: /xml/,
|
xml: /\bxml\b/,
|
||||||
html: /html/,
|
html: /\bhtml/,
|
||||||
json: /json/
|
json: /\bjson\b/
|
||||||
},
|
},
|
||||||
|
|
||||||
responseFields: {
|
responseFields: {
|
||||||
@@ -333,7 +350,7 @@ jQuery.extend({
|
|||||||
"text html": true,
|
"text html": true,
|
||||||
|
|
||||||
// Evaluate text as a json expression
|
// Evaluate text as a json expression
|
||||||
"text json": jQuery.parseJSON,
|
"text json": JSON.parse,
|
||||||
|
|
||||||
// Parse text as xml
|
// Parse text as xml
|
||||||
"text xml": jQuery.parseXML
|
"text xml": jQuery.parseXML
|
||||||
@@ -378,39 +395,58 @@ jQuery.extend({
|
|||||||
options = options || {};
|
options = options || {};
|
||||||
|
|
||||||
var transport,
|
var transport,
|
||||||
|
|
||||||
// URL without anti-cache param
|
// URL without anti-cache param
|
||||||
cacheURL,
|
cacheURL,
|
||||||
|
|
||||||
// Response headers
|
// Response headers
|
||||||
responseHeadersString,
|
responseHeadersString,
|
||||||
responseHeaders,
|
responseHeaders,
|
||||||
|
|
||||||
// timeout handle
|
// timeout handle
|
||||||
timeoutTimer,
|
timeoutTimer,
|
||||||
// Cross-domain detection vars
|
|
||||||
parts,
|
// Url cleanup var
|
||||||
|
urlAnchor,
|
||||||
|
|
||||||
|
// Request state (becomes false upon send and true upon completion)
|
||||||
|
completed,
|
||||||
|
|
||||||
// To know if global events are to be dispatched
|
// To know if global events are to be dispatched
|
||||||
fireGlobals,
|
fireGlobals,
|
||||||
|
|
||||||
// Loop variable
|
// Loop variable
|
||||||
i,
|
i,
|
||||||
|
|
||||||
|
// uncached part of the url
|
||||||
|
uncached,
|
||||||
|
|
||||||
// Create the final options object
|
// Create the final options object
|
||||||
s = jQuery.ajaxSetup( {}, options ),
|
s = jQuery.ajaxSetup( {}, options ),
|
||||||
|
|
||||||
// Callbacks context
|
// Callbacks context
|
||||||
callbackContext = s.context || s,
|
callbackContext = s.context || s,
|
||||||
|
|
||||||
// Context for global events is callbackContext if it is a DOM node or jQuery collection
|
// Context for global events is callbackContext if it is a DOM node or jQuery collection
|
||||||
globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ?
|
globalEventContext = s.context &&
|
||||||
jQuery( callbackContext ) :
|
( callbackContext.nodeType || callbackContext.jquery ) ?
|
||||||
jQuery.event,
|
jQuery( callbackContext ) :
|
||||||
|
jQuery.event,
|
||||||
|
|
||||||
// Deferreds
|
// Deferreds
|
||||||
deferred = jQuery.Deferred(),
|
deferred = jQuery.Deferred(),
|
||||||
completeDeferred = jQuery.Callbacks("once memory"),
|
completeDeferred = jQuery.Callbacks( "once memory" ),
|
||||||
|
|
||||||
// Status-dependent callbacks
|
// Status-dependent callbacks
|
||||||
statusCode = s.statusCode || {},
|
statusCode = s.statusCode || {},
|
||||||
|
|
||||||
// Headers (they are sent all at once)
|
// Headers (they are sent all at once)
|
||||||
requestHeaders = {},
|
requestHeaders = {},
|
||||||
requestHeadersNames = {},
|
requestHeadersNames = {},
|
||||||
// The jqXHR state
|
|
||||||
state = 0,
|
|
||||||
// Default abort message
|
// Default abort message
|
||||||
strAbort = "canceled",
|
strAbort = "canceled",
|
||||||
|
|
||||||
// Fake xhr
|
// Fake xhr
|
||||||
jqXHR = {
|
jqXHR = {
|
||||||
readyState: 0,
|
readyState: 0,
|
||||||
@@ -418,11 +454,11 @@ jQuery.extend({
|
|||||||
// Builds headers hashtable if needed
|
// Builds headers hashtable if needed
|
||||||
getResponseHeader: function( key ) {
|
getResponseHeader: function( key ) {
|
||||||
var match;
|
var match;
|
||||||
if ( state === 2 ) {
|
if ( completed ) {
|
||||||
if ( !responseHeaders ) {
|
if ( !responseHeaders ) {
|
||||||
responseHeaders = {};
|
responseHeaders = {};
|
||||||
while ( (match = rheaders.exec( responseHeadersString )) ) {
|
while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
|
||||||
responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
|
responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
match = responseHeaders[ key.toLowerCase() ];
|
match = responseHeaders[ key.toLowerCase() ];
|
||||||
@@ -432,14 +468,14 @@ jQuery.extend({
|
|||||||
|
|
||||||
// Raw string
|
// Raw string
|
||||||
getAllResponseHeaders: function() {
|
getAllResponseHeaders: function() {
|
||||||
return state === 2 ? responseHeadersString : null;
|
return completed ? responseHeadersString : null;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Caches the header
|
// Caches the header
|
||||||
setRequestHeader: function( name, value ) {
|
setRequestHeader: function( name, value ) {
|
||||||
var lname = name.toLowerCase();
|
if ( completed == null ) {
|
||||||
if ( !state ) {
|
name = requestHeadersNames[ name.toLowerCase() ] =
|
||||||
name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
|
requestHeadersNames[ name.toLowerCase() ] || name;
|
||||||
requestHeaders[ name ] = value;
|
requestHeaders[ name ] = value;
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
@@ -447,7 +483,7 @@ jQuery.extend({
|
|||||||
|
|
||||||
// Overrides response content-type header
|
// Overrides response content-type header
|
||||||
overrideMimeType: function( type ) {
|
overrideMimeType: function( type ) {
|
||||||
if ( !state ) {
|
if ( completed == null ) {
|
||||||
s.mimeType = type;
|
s.mimeType = type;
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
@@ -457,14 +493,16 @@ jQuery.extend({
|
|||||||
statusCode: function( map ) {
|
statusCode: function( map ) {
|
||||||
var code;
|
var code;
|
||||||
if ( map ) {
|
if ( map ) {
|
||||||
if ( state < 2 ) {
|
if ( completed ) {
|
||||||
for ( code in map ) {
|
|
||||||
// Lazy-add the new callback in a way that preserves old ones
|
|
||||||
statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Execute the appropriate callbacks
|
// Execute the appropriate callbacks
|
||||||
jqXHR.always( map[ jqXHR.status ] );
|
jqXHR.always( map[ jqXHR.status ] );
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// Lazy-add the new callbacks in a way that preserves old ones
|
||||||
|
for ( code in map ) {
|
||||||
|
statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
@@ -482,31 +520,41 @@ jQuery.extend({
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Attach deferreds
|
// Attach deferreds
|
||||||
deferred.promise( jqXHR ).complete = completeDeferred.add;
|
deferred.promise( jqXHR );
|
||||||
jqXHR.success = jqXHR.done;
|
|
||||||
jqXHR.error = jqXHR.fail;
|
|
||||||
|
|
||||||
// Remove hash character (#7531: and string promotion)
|
|
||||||
// Add protocol if not provided (prefilters might expect it)
|
// Add protocol if not provided (prefilters might expect it)
|
||||||
// Handle falsy url in the settings object (#10093: consistency with old signature)
|
// Handle falsy url in the settings object (#10093: consistency with old signature)
|
||||||
// We also use the url parameter if available
|
// We also use the url parameter if available
|
||||||
s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" )
|
s.url = ( ( url || s.url || location.href ) + "" )
|
||||||
.replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
|
.replace( rprotocol, location.protocol + "//" );
|
||||||
|
|
||||||
// Alias method option to type as per ticket #12004
|
// Alias method option to type as per ticket #12004
|
||||||
s.type = options.method || options.type || s.method || s.type;
|
s.type = options.method || options.type || s.method || s.type;
|
||||||
|
|
||||||
// Extract dataTypes list
|
// Extract dataTypes list
|
||||||
s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
|
s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
|
||||||
|
|
||||||
// A cross-domain request is in order when we have a protocol:host:port mismatch
|
// A cross-domain request is in order when the origin doesn't match the current origin.
|
||||||
if ( s.crossDomain == null ) {
|
if ( s.crossDomain == null ) {
|
||||||
parts = rurl.exec( s.url.toLowerCase() );
|
urlAnchor = document.createElement( "a" );
|
||||||
s.crossDomain = !!( parts &&
|
|
||||||
( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
|
// Support: IE <=8 - 11, Edge 12 - 13
|
||||||
( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !==
|
// IE throws exception on accessing the href property if url is malformed,
|
||||||
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) )
|
// e.g. http://example.com:80x/
|
||||||
);
|
try {
|
||||||
|
urlAnchor.href = s.url;
|
||||||
|
|
||||||
|
// Support: IE <=8 - 11 only
|
||||||
|
// Anchor's host property isn't correctly set when s.url is relative
|
||||||
|
urlAnchor.href = urlAnchor.href;
|
||||||
|
s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
|
||||||
|
urlAnchor.protocol + "//" + urlAnchor.host;
|
||||||
|
} catch ( e ) {
|
||||||
|
|
||||||
|
// If there is an error parsing the URL, assume it is crossDomain,
|
||||||
|
// it can be rejected by the transport if it is invalid
|
||||||
|
s.crossDomain = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert data if not already a string
|
// Convert data if not already a string
|
||||||
@@ -518,7 +566,7 @@ jQuery.extend({
|
|||||||
inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
|
inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
|
||||||
|
|
||||||
// If request was aborted inside a prefilter, stop there
|
// If request was aborted inside a prefilter, stop there
|
||||||
if ( state === 2 ) {
|
if ( completed ) {
|
||||||
return jqXHR;
|
return jqXHR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -528,7 +576,7 @@ jQuery.extend({
|
|||||||
|
|
||||||
// Watch for a new set of requests
|
// Watch for a new set of requests
|
||||||
if ( fireGlobals && jQuery.active++ === 0 ) {
|
if ( fireGlobals && jQuery.active++ === 0 ) {
|
||||||
jQuery.event.trigger("ajaxStart");
|
jQuery.event.trigger( "ajaxStart" );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uppercase the type
|
// Uppercase the type
|
||||||
@@ -539,28 +587,36 @@ jQuery.extend({
|
|||||||
|
|
||||||
// Save the URL in case we're toying with the If-Modified-Since
|
// Save the URL in case we're toying with the If-Modified-Since
|
||||||
// and/or If-None-Match header later on
|
// and/or If-None-Match header later on
|
||||||
cacheURL = s.url;
|
// Remove hash to simplify url manipulation
|
||||||
|
cacheURL = s.url.replace( rhash, "" );
|
||||||
|
|
||||||
// More options handling for requests with no content
|
// More options handling for requests with no content
|
||||||
if ( !s.hasContent ) {
|
if ( !s.hasContent ) {
|
||||||
|
|
||||||
|
// Remember the hash so we can put it back
|
||||||
|
uncached = s.url.slice( cacheURL.length );
|
||||||
|
|
||||||
// If data is available, append data to url
|
// If data is available, append data to url
|
||||||
if ( s.data ) {
|
if ( s.data ) {
|
||||||
cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data );
|
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
|
||||||
|
|
||||||
// #9682: remove data so that it's not used in an eventual retry
|
// #9682: remove data so that it's not used in an eventual retry
|
||||||
delete s.data;
|
delete s.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add anti-cache in url if needed
|
// Add anti-cache in uncached url if needed
|
||||||
if ( s.cache === false ) {
|
if ( s.cache === false ) {
|
||||||
s.url = rts.test( cacheURL ) ?
|
cacheURL = cacheURL.replace( rts, "" );
|
||||||
|
uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
|
||||||
// If there is already a '_' parameter, set its value
|
|
||||||
cacheURL.replace( rts, "$1_=" + nonce++ ) :
|
|
||||||
|
|
||||||
// Otherwise add one to the end
|
|
||||||
cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Put hash and anti-cache on the URL that will be requested (gh-1732)
|
||||||
|
s.url = cacheURL + uncached;
|
||||||
|
|
||||||
|
// Change '%20' to '+' if this is encoded form body content (gh-2658)
|
||||||
|
} else if ( s.data && s.processData &&
|
||||||
|
( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
|
||||||
|
s.data = s.data.replace( r20, "+" );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
|
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
|
||||||
@@ -581,8 +637,9 @@ jQuery.extend({
|
|||||||
// Set the Accepts header for the server, depending on the dataType
|
// Set the Accepts header for the server, depending on the dataType
|
||||||
jqXHR.setRequestHeader(
|
jqXHR.setRequestHeader(
|
||||||
"Accept",
|
"Accept",
|
||||||
s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
|
s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
|
||||||
s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
|
s.accepts[ s.dataTypes[ 0 ] ] +
|
||||||
|
( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
|
||||||
s.accepts[ "*" ]
|
s.accepts[ "*" ]
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -592,7 +649,9 @@ jQuery.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Allow custom headers/mimetypes and early abort
|
// Allow custom headers/mimetypes and early abort
|
||||||
if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
|
if ( s.beforeSend &&
|
||||||
|
( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
|
||||||
|
|
||||||
// Abort if not done already and return
|
// Abort if not done already and return
|
||||||
return jqXHR.abort();
|
return jqXHR.abort();
|
||||||
}
|
}
|
||||||
@@ -601,9 +660,9 @@ jQuery.extend({
|
|||||||
strAbort = "abort";
|
strAbort = "abort";
|
||||||
|
|
||||||
// Install callbacks on deferreds
|
// Install callbacks on deferreds
|
||||||
for ( i in { success: 1, error: 1, complete: 1 } ) {
|
completeDeferred.add( s.complete );
|
||||||
jqXHR[ i ]( s[ i ] );
|
jqXHR.done( s.success );
|
||||||
}
|
jqXHR.fail( s.error );
|
||||||
|
|
||||||
// Get transport
|
// Get transport
|
||||||
transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
|
transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
|
||||||
@@ -618,24 +677,31 @@ jQuery.extend({
|
|||||||
if ( fireGlobals ) {
|
if ( fireGlobals ) {
|
||||||
globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
|
globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If request was aborted inside ajaxSend, stop there
|
||||||
|
if ( completed ) {
|
||||||
|
return jqXHR;
|
||||||
|
}
|
||||||
|
|
||||||
// Timeout
|
// Timeout
|
||||||
if ( s.async && s.timeout > 0 ) {
|
if ( s.async && s.timeout > 0 ) {
|
||||||
timeoutTimer = setTimeout(function() {
|
timeoutTimer = window.setTimeout( function() {
|
||||||
jqXHR.abort("timeout");
|
jqXHR.abort( "timeout" );
|
||||||
}, s.timeout );
|
}, s.timeout );
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
state = 1;
|
completed = false;
|
||||||
transport.send( requestHeaders, done );
|
transport.send( requestHeaders, done );
|
||||||
} catch ( e ) {
|
} catch ( e ) {
|
||||||
// Propagate exception as error if not done
|
|
||||||
if ( state < 2 ) {
|
// Rethrow post-completion exceptions
|
||||||
done( -1, e );
|
if ( completed ) {
|
||||||
// Simply rethrow otherwise
|
|
||||||
} else {
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Propagate others as results
|
||||||
|
done( -1, e );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -644,17 +710,16 @@ jQuery.extend({
|
|||||||
var isSuccess, success, error, response, modified,
|
var isSuccess, success, error, response, modified,
|
||||||
statusText = nativeStatusText;
|
statusText = nativeStatusText;
|
||||||
|
|
||||||
// Called once
|
// Ignore repeat invocations
|
||||||
if ( state === 2 ) {
|
if ( completed ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// State is "done" now
|
completed = true;
|
||||||
state = 2;
|
|
||||||
|
|
||||||
// Clear timeout if it exists
|
// Clear timeout if it exists
|
||||||
if ( timeoutTimer ) {
|
if ( timeoutTimer ) {
|
||||||
clearTimeout( timeoutTimer );
|
window.clearTimeout( timeoutTimer );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dereference transport for early garbage collection
|
// Dereference transport for early garbage collection
|
||||||
@@ -683,11 +748,11 @@ jQuery.extend({
|
|||||||
|
|
||||||
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
|
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
|
||||||
if ( s.ifModified ) {
|
if ( s.ifModified ) {
|
||||||
modified = jqXHR.getResponseHeader("Last-Modified");
|
modified = jqXHR.getResponseHeader( "Last-Modified" );
|
||||||
if ( modified ) {
|
if ( modified ) {
|
||||||
jQuery.lastModified[ cacheURL ] = modified;
|
jQuery.lastModified[ cacheURL ] = modified;
|
||||||
}
|
}
|
||||||
modified = jqXHR.getResponseHeader("etag");
|
modified = jqXHR.getResponseHeader( "etag" );
|
||||||
if ( modified ) {
|
if ( modified ) {
|
||||||
jQuery.etag[ cacheURL ] = modified;
|
jQuery.etag[ cacheURL ] = modified;
|
||||||
}
|
}
|
||||||
@@ -709,6 +774,7 @@ jQuery.extend({
|
|||||||
isSuccess = !error;
|
isSuccess = !error;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Extract error from statusText and normalize for non-aborts
|
// Extract error from statusText and normalize for non-aborts
|
||||||
error = statusText;
|
error = statusText;
|
||||||
if ( status || !statusText ) {
|
if ( status || !statusText ) {
|
||||||
@@ -744,9 +810,10 @@ jQuery.extend({
|
|||||||
|
|
||||||
if ( fireGlobals ) {
|
if ( fireGlobals ) {
|
||||||
globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
|
globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
|
||||||
|
|
||||||
// Handle the global AJAX counter
|
// Handle the global AJAX counter
|
||||||
if ( !( --jQuery.active ) ) {
|
if ( !( --jQuery.active ) ) {
|
||||||
jQuery.event.trigger("ajaxStop");
|
jQuery.event.trigger( "ajaxStop" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -761,10 +828,11 @@ jQuery.extend({
|
|||||||
getScript: function( url, callback ) {
|
getScript: function( url, callback ) {
|
||||||
return jQuery.get( url, undefined, callback, "script" );
|
return jQuery.get( url, undefined, callback, "script" );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.each( [ "get", "post" ], function( i, method ) {
|
jQuery.each( [ "get", "post" ], function( i, method ) {
|
||||||
jQuery[ method ] = function( url, data, callback, type ) {
|
jQuery[ method ] = function( url, data, callback, type ) {
|
||||||
|
|
||||||
// Shift arguments if data argument was omitted
|
// Shift arguments if data argument was omitted
|
||||||
if ( jQuery.isFunction( data ) ) {
|
if ( jQuery.isFunction( data ) ) {
|
||||||
type = type || callback;
|
type = type || callback;
|
||||||
@@ -772,15 +840,16 @@ jQuery.each( [ "get", "post" ], function( i, method ) {
|
|||||||
data = undefined;
|
data = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
return jQuery.ajax({
|
// The url can be an options object (which then must have .url)
|
||||||
|
return jQuery.ajax( jQuery.extend( {
|
||||||
url: url,
|
url: url,
|
||||||
type: method,
|
type: method,
|
||||||
dataType: type,
|
dataType: type,
|
||||||
data: data,
|
data: data,
|
||||||
success: callback
|
success: callback
|
||||||
});
|
}, jQuery.isPlainObject( url ) && url ) );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
41
bower_components/jquery/src/ajax/jsonp.js
vendored
41
bower_components/jquery/src/ajax/jsonp.js
vendored
@@ -1,22 +1,24 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"./var/nonce",
|
"./var/nonce",
|
||||||
"./var/rquery",
|
"./var/rquery",
|
||||||
"../ajax"
|
"../ajax"
|
||||||
], function( jQuery, nonce, rquery ) {
|
], function( jQuery, nonce, rquery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
var oldCallbacks = [],
|
var oldCallbacks = [],
|
||||||
rjsonp = /(=)\?(?=&|$)|\?\?/;
|
rjsonp = /(=)\?(?=&|$)|\?\?/;
|
||||||
|
|
||||||
// Default jsonp settings
|
// Default jsonp settings
|
||||||
jQuery.ajaxSetup({
|
jQuery.ajaxSetup( {
|
||||||
jsonp: "callback",
|
jsonp: "callback",
|
||||||
jsonpCallback: function() {
|
jsonpCallback: function() {
|
||||||
var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
|
var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
|
||||||
this[ callback ] = true;
|
this[ callback ] = true;
|
||||||
return callback;
|
return callback;
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Detect, normalize options and install callbacks for jsonp requests
|
// Detect, normalize options and install callbacks for jsonp requests
|
||||||
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
|
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
|
||||||
@@ -24,7 +26,10 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
|
|||||||
var callbackName, overwritten, responseContainer,
|
var callbackName, overwritten, responseContainer,
|
||||||
jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
|
jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
|
||||||
"url" :
|
"url" :
|
||||||
typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data"
|
typeof s.data === "string" &&
|
||||||
|
( s.contentType || "" )
|
||||||
|
.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
|
||||||
|
rjsonp.test( s.data ) && "data"
|
||||||
);
|
);
|
||||||
|
|
||||||
// Handle iff the expected data type is "jsonp" or we have a parameter to set
|
// Handle iff the expected data type is "jsonp" or we have a parameter to set
|
||||||
@@ -43,14 +48,14 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Use data converter to retrieve json after script execution
|
// Use data converter to retrieve json after script execution
|
||||||
s.converters["script json"] = function() {
|
s.converters[ "script json" ] = function() {
|
||||||
if ( !responseContainer ) {
|
if ( !responseContainer ) {
|
||||||
jQuery.error( callbackName + " was not called" );
|
jQuery.error( callbackName + " was not called" );
|
||||||
}
|
}
|
||||||
return responseContainer[ 0 ];
|
return responseContainer[ 0 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
// force json dataType
|
// Force json dataType
|
||||||
s.dataTypes[ 0 ] = "json";
|
s.dataTypes[ 0 ] = "json";
|
||||||
|
|
||||||
// Install callback
|
// Install callback
|
||||||
@@ -60,16 +65,24 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Clean-up function (fires after converters)
|
// Clean-up function (fires after converters)
|
||||||
jqXHR.always(function() {
|
jqXHR.always( function() {
|
||||||
// Restore preexisting value
|
|
||||||
window[ callbackName ] = overwritten;
|
// If previous value didn't exist - remove it
|
||||||
|
if ( overwritten === undefined ) {
|
||||||
|
jQuery( window ).removeProp( callbackName );
|
||||||
|
|
||||||
|
// Otherwise restore preexisting value
|
||||||
|
} else {
|
||||||
|
window[ callbackName ] = overwritten;
|
||||||
|
}
|
||||||
|
|
||||||
// Save back as free
|
// Save back as free
|
||||||
if ( s[ callbackName ] ) {
|
if ( s[ callbackName ] ) {
|
||||||
// make sure that re-using the options doesn't screw things around
|
|
||||||
|
// Make sure that re-using the options doesn't screw things around
|
||||||
s.jsonpCallback = originalSettings.jsonpCallback;
|
s.jsonpCallback = originalSettings.jsonpCallback;
|
||||||
|
|
||||||
// save the callback name for future use
|
// Save the callback name for future use
|
||||||
oldCallbacks.push( callbackName );
|
oldCallbacks.push( callbackName );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,11 +92,11 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
responseContainer = overwritten = undefined;
|
responseContainer = overwritten = undefined;
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Delegate to script
|
// Delegate to script
|
||||||
return "script";
|
return "script";
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
42
bower_components/jquery/src/ajax/load.js
vendored
42
bower_components/jquery/src/ajax/load.js
vendored
@@ -1,30 +1,23 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../core/parseHTML",
|
"../core/parseHTML",
|
||||||
"../ajax",
|
"../ajax",
|
||||||
"../traversing",
|
"../traversing",
|
||||||
"../manipulation",
|
"../manipulation",
|
||||||
"../selector",
|
"../selector"
|
||||||
// Optional event/alias dependency
|
|
||||||
"../event/alias"
|
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
// Keep a copy of the old load method
|
"use strict";
|
||||||
var _load = jQuery.fn.load;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a url into a page
|
* Load a url into a page
|
||||||
*/
|
*/
|
||||||
jQuery.fn.load = function( url, params, callback ) {
|
jQuery.fn.load = function( url, params, callback ) {
|
||||||
if ( typeof url !== "string" && _load ) {
|
|
||||||
return _load.apply( this, arguments );
|
|
||||||
}
|
|
||||||
|
|
||||||
var selector, type, response,
|
var selector, type, response,
|
||||||
self = this,
|
self = this,
|
||||||
off = url.indexOf(" ");
|
off = url.indexOf( " " );
|
||||||
|
|
||||||
if ( off >= 0 ) {
|
if ( off > -1 ) {
|
||||||
selector = jQuery.trim( url.slice( off ) );
|
selector = jQuery.trim( url.slice( off ) );
|
||||||
url = url.slice( 0, off );
|
url = url.slice( 0, off );
|
||||||
}
|
}
|
||||||
@@ -43,14 +36,16 @@ jQuery.fn.load = function( url, params, callback ) {
|
|||||||
|
|
||||||
// If we have elements to modify, make the request
|
// If we have elements to modify, make the request
|
||||||
if ( self.length > 0 ) {
|
if ( self.length > 0 ) {
|
||||||
jQuery.ajax({
|
jQuery.ajax( {
|
||||||
url: url,
|
url: url,
|
||||||
|
|
||||||
// if "type" variable is undefined, then "GET" method will be used
|
// If "type" variable is undefined, then "GET" method will be used.
|
||||||
type: type,
|
// Make value of this field explicit since
|
||||||
|
// user can override it through ajaxSetup method
|
||||||
|
type: type || "GET",
|
||||||
dataType: "html",
|
dataType: "html",
|
||||||
data: params
|
data: params
|
||||||
}).done(function( responseText ) {
|
} ).done( function( responseText ) {
|
||||||
|
|
||||||
// Save response for use in complete callback
|
// Save response for use in complete callback
|
||||||
response = arguments;
|
response = arguments;
|
||||||
@@ -59,17 +54,22 @@ jQuery.fn.load = function( url, params, callback ) {
|
|||||||
|
|
||||||
// If a selector was specified, locate the right elements in a dummy div
|
// If a selector was specified, locate the right elements in a dummy div
|
||||||
// Exclude scripts to avoid IE 'Permission Denied' errors
|
// Exclude scripts to avoid IE 'Permission Denied' errors
|
||||||
jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) :
|
jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
|
||||||
|
|
||||||
// Otherwise use the full result
|
// Otherwise use the full result
|
||||||
responseText );
|
responseText );
|
||||||
|
|
||||||
}).complete( callback && function( jqXHR, status ) {
|
// If the request succeeds, this function gets "data", "status", "jqXHR"
|
||||||
self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );
|
// but they are ignored because response was set above.
|
||||||
});
|
// If it fails, this function gets "jqXHR", "status", "error"
|
||||||
|
} ).always( callback && function( jqXHR, status ) {
|
||||||
|
self.each( function() {
|
||||||
|
callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
|
||||||
|
} );
|
||||||
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
13
bower_components/jquery/src/ajax/parseJSON.js
vendored
13
bower_components/jquery/src/ajax/parseJSON.js
vendored
@@ -1,13 +0,0 @@
|
|||||||
define([
|
|
||||||
"../core"
|
|
||||||
], function( jQuery ) {
|
|
||||||
|
|
||||||
// Support: Android 2.3
|
|
||||||
// Workaround failure to string-cast null input
|
|
||||||
jQuery.parseJSON = function( data ) {
|
|
||||||
return JSON.parse( data + "" );
|
|
||||||
};
|
|
||||||
|
|
||||||
return jQuery.parseJSON;
|
|
||||||
|
|
||||||
});
|
|
||||||
14
bower_components/jquery/src/ajax/parseXML.js
vendored
14
bower_components/jquery/src/ajax/parseXML.js
vendored
@@ -1,18 +1,20 @@
|
|||||||
define([
|
define( [
|
||||||
"../core"
|
"../core"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// Cross-browser xml parsing
|
// Cross-browser xml parsing
|
||||||
jQuery.parseXML = function( data ) {
|
jQuery.parseXML = function( data ) {
|
||||||
var xml, tmp;
|
var xml;
|
||||||
if ( !data || typeof data !== "string" ) {
|
if ( !data || typeof data !== "string" ) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Support: IE9
|
// Support: IE 9 - 11 only
|
||||||
|
// IE throws on parseFromString with invalid input.
|
||||||
try {
|
try {
|
||||||
tmp = new DOMParser();
|
xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
|
||||||
xml = tmp.parseFromString( data, "text/xml" );
|
|
||||||
} catch ( e ) {
|
} catch ( e ) {
|
||||||
xml = undefined;
|
xml = undefined;
|
||||||
}
|
}
|
||||||
@@ -25,4 +27,4 @@ jQuery.parseXML = function( data ) {
|
|||||||
|
|
||||||
return jQuery.parseXML;
|
return jQuery.parseXML;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
37
bower_components/jquery/src/ajax/script.js
vendored
37
bower_components/jquery/src/ajax/script.js
vendored
@@ -1,15 +1,26 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
|
"../var/document",
|
||||||
"../ajax"
|
"../ajax"
|
||||||
], function( jQuery ) {
|
], function( jQuery, document ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
|
||||||
|
jQuery.ajaxPrefilter( function( s ) {
|
||||||
|
if ( s.crossDomain ) {
|
||||||
|
s.contents.script = false;
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
// Install script dataType
|
// Install script dataType
|
||||||
jQuery.ajaxSetup({
|
jQuery.ajaxSetup( {
|
||||||
accepts: {
|
accepts: {
|
||||||
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
|
script: "text/javascript, application/javascript, " +
|
||||||
|
"application/ecmascript, application/x-ecmascript"
|
||||||
},
|
},
|
||||||
contents: {
|
contents: {
|
||||||
script: /(?:java|ecma)script/
|
script: /\b(?:java|ecma)script\b/
|
||||||
},
|
},
|
||||||
converters: {
|
converters: {
|
||||||
"text script": function( text ) {
|
"text script": function( text ) {
|
||||||
@@ -17,7 +28,7 @@ jQuery.ajaxSetup({
|
|||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Handle cache's special case and crossDomain
|
// Handle cache's special case and crossDomain
|
||||||
jQuery.ajaxPrefilter( "script", function( s ) {
|
jQuery.ajaxPrefilter( "script", function( s ) {
|
||||||
@@ -27,20 +38,20 @@ jQuery.ajaxPrefilter( "script", function( s ) {
|
|||||||
if ( s.crossDomain ) {
|
if ( s.crossDomain ) {
|
||||||
s.type = "GET";
|
s.type = "GET";
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Bind script tag hack transport
|
// Bind script tag hack transport
|
||||||
jQuery.ajaxTransport( "script", function( s ) {
|
jQuery.ajaxTransport( "script", function( s ) {
|
||||||
|
|
||||||
// This transport only deals with cross domain requests
|
// This transport only deals with cross domain requests
|
||||||
if ( s.crossDomain ) {
|
if ( s.crossDomain ) {
|
||||||
var script, callback;
|
var script, callback;
|
||||||
return {
|
return {
|
||||||
send: function( _, complete ) {
|
send: function( _, complete ) {
|
||||||
script = jQuery("<script>").prop({
|
script = jQuery( "<script>" ).prop( {
|
||||||
async: true,
|
|
||||||
charset: s.scriptCharset,
|
charset: s.scriptCharset,
|
||||||
src: s.url
|
src: s.url
|
||||||
}).on(
|
} ).on(
|
||||||
"load error",
|
"load error",
|
||||||
callback = function( evt ) {
|
callback = function( evt ) {
|
||||||
script.remove();
|
script.remove();
|
||||||
@@ -50,6 +61,8 @@ jQuery.ajaxTransport( "script", function( s ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Use native DOM manipulation to avoid our domManip AJAX trickery
|
||||||
document.head.appendChild( script[ 0 ] );
|
document.head.appendChild( script[ 0 ] );
|
||||||
},
|
},
|
||||||
abort: function() {
|
abort: function() {
|
||||||
@@ -59,6 +72,6 @@ jQuery.ajaxTransport( "script", function( s ) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
define([
|
define( [
|
||||||
"../../core"
|
"../../core"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
return jQuery.now();
|
return jQuery.now();
|
||||||
});
|
} );
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
define(function() {
|
define( function() {
|
||||||
return (/\?/);
|
"use strict";
|
||||||
});
|
|
||||||
|
return ( /\?/ );
|
||||||
|
} );
|
||||||
|
|||||||
119
bower_components/jquery/src/ajax/xhr.js
vendored
119
bower_components/jquery/src/ajax/xhr.js
vendored
@@ -1,52 +1,48 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../var/support",
|
"../var/support",
|
||||||
"../ajax"
|
"../ajax"
|
||||||
], function( jQuery, support ) {
|
], function( jQuery, support ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
jQuery.ajaxSettings.xhr = function() {
|
jQuery.ajaxSettings.xhr = function() {
|
||||||
try {
|
try {
|
||||||
return new XMLHttpRequest();
|
return new window.XMLHttpRequest();
|
||||||
} catch( e ) {}
|
} catch ( e ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
var xhrId = 0,
|
var xhrSuccessStatus = {
|
||||||
xhrCallbacks = {},
|
|
||||||
xhrSuccessStatus = {
|
// File protocol always yields status code 0, assume 200
|
||||||
// file protocol always yields status code 0, assume 200
|
|
||||||
0: 200,
|
0: 200,
|
||||||
// Support: IE9
|
|
||||||
|
// Support: IE <=9 only
|
||||||
// #1450: sometimes IE returns 1223 when it should be 204
|
// #1450: sometimes IE returns 1223 when it should be 204
|
||||||
1223: 204
|
1223: 204
|
||||||
},
|
},
|
||||||
xhrSupported = jQuery.ajaxSettings.xhr();
|
xhrSupported = jQuery.ajaxSettings.xhr();
|
||||||
|
|
||||||
// Support: IE9
|
|
||||||
// Open requests must be manually aborted on unload (#5280)
|
|
||||||
// See https://support.microsoft.com/kb/2856746 for more info
|
|
||||||
if ( window.attachEvent ) {
|
|
||||||
window.attachEvent( "onunload", function() {
|
|
||||||
for ( var key in xhrCallbacks ) {
|
|
||||||
xhrCallbacks[ key ]();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
|
support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
|
||||||
support.ajax = xhrSupported = !!xhrSupported;
|
support.ajax = xhrSupported = !!xhrSupported;
|
||||||
|
|
||||||
jQuery.ajaxTransport(function( options ) {
|
jQuery.ajaxTransport( function( options ) {
|
||||||
var callback;
|
var callback, errorCallback;
|
||||||
|
|
||||||
// Cross domain only allowed if supported through XMLHttpRequest
|
// Cross domain only allowed if supported through XMLHttpRequest
|
||||||
if ( support.cors || xhrSupported && !options.crossDomain ) {
|
if ( support.cors || xhrSupported && !options.crossDomain ) {
|
||||||
return {
|
return {
|
||||||
send: function( headers, complete ) {
|
send: function( headers, complete ) {
|
||||||
var i,
|
var i,
|
||||||
xhr = options.xhr(),
|
xhr = options.xhr();
|
||||||
id = ++xhrId;
|
|
||||||
|
|
||||||
xhr.open( options.type, options.url, options.async, options.username, options.password );
|
xhr.open(
|
||||||
|
options.type,
|
||||||
|
options.url,
|
||||||
|
options.async,
|
||||||
|
options.username,
|
||||||
|
options.password
|
||||||
|
);
|
||||||
|
|
||||||
// Apply custom fields if provided
|
// Apply custom fields if provided
|
||||||
if ( options.xhrFields ) {
|
if ( options.xhrFields ) {
|
||||||
@@ -65,8 +61,8 @@ jQuery.ajaxTransport(function( options ) {
|
|||||||
// akin to a jigsaw puzzle, we simply never set it to be sure.
|
// akin to a jigsaw puzzle, we simply never set it to be sure.
|
||||||
// (it can always be set on a per-request basis or even using ajaxSetup)
|
// (it can always be set on a per-request basis or even using ajaxSetup)
|
||||||
// For same-domain requests, won't change header if already provided.
|
// For same-domain requests, won't change header if already provided.
|
||||||
if ( !options.crossDomain && !headers["X-Requested-With"] ) {
|
if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
|
||||||
headers["X-Requested-With"] = "XMLHttpRequest";
|
headers[ "X-Requested-With" ] = "XMLHttpRequest";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set headers
|
// Set headers
|
||||||
@@ -78,27 +74,38 @@ jQuery.ajaxTransport(function( options ) {
|
|||||||
callback = function( type ) {
|
callback = function( type ) {
|
||||||
return function() {
|
return function() {
|
||||||
if ( callback ) {
|
if ( callback ) {
|
||||||
delete xhrCallbacks[ id ];
|
callback = errorCallback = xhr.onload =
|
||||||
callback = xhr.onload = xhr.onerror = null;
|
xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
|
||||||
|
|
||||||
if ( type === "abort" ) {
|
if ( type === "abort" ) {
|
||||||
xhr.abort();
|
xhr.abort();
|
||||||
} else if ( type === "error" ) {
|
} else if ( type === "error" ) {
|
||||||
complete(
|
|
||||||
// file: protocol always yields status 0; see #8605, #14207
|
// Support: IE <=9 only
|
||||||
xhr.status,
|
// On a manual native abort, IE9 throws
|
||||||
xhr.statusText
|
// errors on any property access that is not readyState
|
||||||
);
|
if ( typeof xhr.status !== "number" ) {
|
||||||
|
complete( 0, "error" );
|
||||||
|
} else {
|
||||||
|
complete(
|
||||||
|
|
||||||
|
// File: protocol always yields status 0; see #8605, #14207
|
||||||
|
xhr.status,
|
||||||
|
xhr.statusText
|
||||||
|
);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
complete(
|
complete(
|
||||||
xhrSuccessStatus[ xhr.status ] || xhr.status,
|
xhrSuccessStatus[ xhr.status ] || xhr.status,
|
||||||
xhr.statusText,
|
xhr.statusText,
|
||||||
// Support: IE9
|
|
||||||
// Accessing binary-data responseText throws an exception
|
// Support: IE <=9 only
|
||||||
// (#11426)
|
// IE9 has no XHR2 but throws on binary (trac-11426)
|
||||||
typeof xhr.responseText === "string" ? {
|
// For XHR2 non-text, let the caller handle it (gh-2498)
|
||||||
text: xhr.responseText
|
( xhr.responseType || "text" ) !== "text" ||
|
||||||
} : undefined,
|
typeof xhr.responseText !== "string" ?
|
||||||
|
{ binary: xhr.response } :
|
||||||
|
{ text: xhr.responseText },
|
||||||
xhr.getAllResponseHeaders()
|
xhr.getAllResponseHeaders()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -108,15 +115,41 @@ jQuery.ajaxTransport(function( options ) {
|
|||||||
|
|
||||||
// Listen to events
|
// Listen to events
|
||||||
xhr.onload = callback();
|
xhr.onload = callback();
|
||||||
xhr.onerror = callback("error");
|
errorCallback = xhr.onerror = callback( "error" );
|
||||||
|
|
||||||
|
// Support: IE 9 only
|
||||||
|
// Use onreadystatechange to replace onabort
|
||||||
|
// to handle uncaught aborts
|
||||||
|
if ( xhr.onabort !== undefined ) {
|
||||||
|
xhr.onabort = errorCallback;
|
||||||
|
} else {
|
||||||
|
xhr.onreadystatechange = function() {
|
||||||
|
|
||||||
|
// Check readyState before timeout as it changes
|
||||||
|
if ( xhr.readyState === 4 ) {
|
||||||
|
|
||||||
|
// Allow onerror to be called first,
|
||||||
|
// but that will not handle a native abort
|
||||||
|
// Also, save errorCallback to a variable
|
||||||
|
// as xhr.onerror cannot be accessed
|
||||||
|
window.setTimeout( function() {
|
||||||
|
if ( callback ) {
|
||||||
|
errorCallback();
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// Create the abort callback
|
// Create the abort callback
|
||||||
callback = xhrCallbacks[ id ] = callback("abort");
|
callback = callback( "abort" );
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
// Do send the request (this may raise an exception)
|
// Do send the request (this may raise an exception)
|
||||||
xhr.send( options.hasContent && options.data || null );
|
xhr.send( options.hasContent && options.data || null );
|
||||||
} catch ( e ) {
|
} catch ( e ) {
|
||||||
|
|
||||||
// #14683: Only rethrow if this hasn't been notified as an error yet
|
// #14683: Only rethrow if this hasn't been notified as an error yet
|
||||||
if ( callback ) {
|
if ( callback ) {
|
||||||
throw e;
|
throw e;
|
||||||
@@ -131,6 +164,6 @@ jQuery.ajaxTransport(function( options ) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
6
bower_components/jquery/src/attributes.js
vendored
6
bower_components/jquery/src/attributes.js
vendored
@@ -1,4 +1,4 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./attributes/attr",
|
"./attributes/attr",
|
||||||
"./attributes/prop",
|
"./attributes/prop",
|
||||||
@@ -6,6 +6,8 @@ define([
|
|||||||
"./attributes/val"
|
"./attributes/val"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// Return jQuery for attributes-only inclusion
|
// Return jQuery for attributes-only inclusion
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
114
bower_components/jquery/src/attributes/attr.js
vendored
114
bower_components/jquery/src/attributes/attr.js
vendored
@@ -1,94 +1,73 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../var/rnotwhite",
|
|
||||||
"../var/strundefined",
|
|
||||||
"../core/access",
|
"../core/access",
|
||||||
"./support",
|
"./support",
|
||||||
|
"../var/rnotwhite",
|
||||||
"../selector"
|
"../selector"
|
||||||
], function( jQuery, rnotwhite, strundefined, access, support ) {
|
], function( jQuery, access, support, rnotwhite ) {
|
||||||
|
|
||||||
var nodeHook, boolHook,
|
"use strict";
|
||||||
|
|
||||||
|
var boolHook,
|
||||||
attrHandle = jQuery.expr.attrHandle;
|
attrHandle = jQuery.expr.attrHandle;
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend( {
|
||||||
attr: function( name, value ) {
|
attr: function( name, value ) {
|
||||||
return access( this, jQuery.attr, name, value, arguments.length > 1 );
|
return access( this, jQuery.attr, name, value, arguments.length > 1 );
|
||||||
},
|
},
|
||||||
|
|
||||||
removeAttr: function( name ) {
|
removeAttr: function( name ) {
|
||||||
return this.each(function() {
|
return this.each( function() {
|
||||||
jQuery.removeAttr( this, name );
|
jQuery.removeAttr( this, name );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.extend({
|
jQuery.extend( {
|
||||||
attr: function( elem, name, value ) {
|
attr: function( elem, name, value ) {
|
||||||
var hooks, ret,
|
var ret, hooks,
|
||||||
nType = elem.nodeType;
|
nType = elem.nodeType;
|
||||||
|
|
||||||
// don't get/set attributes on text, comment and attribute nodes
|
// Don't get/set attributes on text, comment and attribute nodes
|
||||||
if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
|
if ( nType === 3 || nType === 8 || nType === 2 ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fallback to prop when attributes are not supported
|
// Fallback to prop when attributes are not supported
|
||||||
if ( typeof elem.getAttribute === strundefined ) {
|
if ( typeof elem.getAttribute === "undefined" ) {
|
||||||
return jQuery.prop( elem, name, value );
|
return jQuery.prop( elem, name, value );
|
||||||
}
|
}
|
||||||
|
|
||||||
// All attributes are lowercase
|
// Attribute hooks are determined by the lowercase version
|
||||||
// Grab necessary hook if one is defined
|
// Grab necessary hook if one is defined
|
||||||
if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
|
if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
|
||||||
name = name.toLowerCase();
|
hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
|
||||||
hooks = jQuery.attrHooks[ name ] ||
|
( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
|
||||||
( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( value !== undefined ) {
|
if ( value !== undefined ) {
|
||||||
|
|
||||||
if ( value === null ) {
|
if ( value === null ) {
|
||||||
jQuery.removeAttr( elem, name );
|
jQuery.removeAttr( elem, name );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
} else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
|
if ( hooks && "set" in hooks &&
|
||||||
|
( ret = hooks.set( elem, value, name ) ) !== undefined ) {
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
} else {
|
|
||||||
elem.setAttribute( name, value + "" );
|
|
||||||
return value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
|
elem.setAttribute( name, value + "" );
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
} else {
|
|
||||||
ret = jQuery.find.attr( elem, name );
|
|
||||||
|
|
||||||
// Non-existent attributes return null, we normalize to undefined
|
|
||||||
return ret == null ?
|
|
||||||
undefined :
|
|
||||||
ret;
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
removeAttr: function( elem, value ) {
|
ret = jQuery.find.attr( elem, name );
|
||||||
var name, propName,
|
|
||||||
i = 0,
|
|
||||||
attrNames = value && value.match( rnotwhite );
|
|
||||||
|
|
||||||
if ( attrNames && elem.nodeType === 1 ) {
|
// Non-existent attributes return null, we normalize to undefined
|
||||||
while ( (name = attrNames[i++]) ) {
|
return ret == null ? undefined : ret;
|
||||||
propName = jQuery.propFix[ name ] || name;
|
|
||||||
|
|
||||||
// Boolean attributes get special treatment (#10870)
|
|
||||||
if ( jQuery.expr.match.bool.test( name ) ) {
|
|
||||||
// Set corresponding property to false
|
|
||||||
elem[ propName ] = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
elem.removeAttribute( name );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
attrHooks: {
|
attrHooks: {
|
||||||
@@ -105,13 +84,26 @@ jQuery.extend({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
removeAttr: function( elem, value ) {
|
||||||
|
var name,
|
||||||
|
i = 0,
|
||||||
|
attrNames = value && value.match( rnotwhite );
|
||||||
|
|
||||||
|
if ( attrNames && elem.nodeType === 1 ) {
|
||||||
|
while ( ( name = attrNames[ i++ ] ) ) {
|
||||||
|
elem.removeAttribute( name );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Hooks for boolean attributes
|
// Hooks for boolean attributes
|
||||||
boolHook = {
|
boolHook = {
|
||||||
set: function( elem, value, name ) {
|
set: function( elem, value, name ) {
|
||||||
if ( value === false ) {
|
if ( value === false ) {
|
||||||
|
|
||||||
// Remove boolean attributes when set to false
|
// Remove boolean attributes when set to false
|
||||||
jQuery.removeAttr( elem, name );
|
jQuery.removeAttr( elem, name );
|
||||||
} else {
|
} else {
|
||||||
@@ -120,22 +112,26 @@ boolHook = {
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
|
jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
|
||||||
var getter = attrHandle[ name ] || jQuery.find.attr;
|
var getter = attrHandle[ name ] || jQuery.find.attr;
|
||||||
|
|
||||||
attrHandle[ name ] = function( elem, name, isXML ) {
|
attrHandle[ name ] = function( elem, name, isXML ) {
|
||||||
var ret, handle;
|
var ret, handle,
|
||||||
|
lowercaseName = name.toLowerCase();
|
||||||
|
|
||||||
if ( !isXML ) {
|
if ( !isXML ) {
|
||||||
|
|
||||||
// Avoid an infinite loop by temporarily removing this function from the getter
|
// Avoid an infinite loop by temporarily removing this function from the getter
|
||||||
handle = attrHandle[ name ];
|
handle = attrHandle[ lowercaseName ];
|
||||||
attrHandle[ name ] = ret;
|
attrHandle[ lowercaseName ] = ret;
|
||||||
ret = getter( elem, name, isXML ) != null ?
|
ret = getter( elem, name, isXML ) != null ?
|
||||||
name.toLowerCase() :
|
lowercaseName :
|
||||||
null;
|
null;
|
||||||
attrHandle[ name ] = handle;
|
attrHandle[ lowercaseName ] = handle;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
159
bower_components/jquery/src/attributes/classes.js
vendored
159
bower_components/jquery/src/attributes/classes.js
vendored
@@ -1,49 +1,49 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../var/rnotwhite",
|
"../var/rnotwhite",
|
||||||
"../var/strundefined",
|
"../data/var/dataPriv",
|
||||||
"../data/var/data_priv",
|
|
||||||
"../core/init"
|
"../core/init"
|
||||||
], function( jQuery, rnotwhite, strundefined, data_priv ) {
|
], function( jQuery, rnotwhite, dataPriv ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
var rclass = /[\t\r\n\f]/g;
|
var rclass = /[\t\r\n\f]/g;
|
||||||
|
|
||||||
jQuery.fn.extend({
|
function getClass( elem ) {
|
||||||
|
return elem.getAttribute && elem.getAttribute( "class" ) || "";
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery.fn.extend( {
|
||||||
addClass: function( value ) {
|
addClass: function( value ) {
|
||||||
var classes, elem, cur, clazz, j, finalValue,
|
var classes, elem, cur, curValue, clazz, j, finalValue,
|
||||||
proceed = typeof value === "string" && value,
|
i = 0;
|
||||||
i = 0,
|
|
||||||
len = this.length;
|
|
||||||
|
|
||||||
if ( jQuery.isFunction( value ) ) {
|
if ( jQuery.isFunction( value ) ) {
|
||||||
return this.each(function( j ) {
|
return this.each( function( j ) {
|
||||||
jQuery( this ).addClass( value.call( this, j, this.className ) );
|
jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( proceed ) {
|
if ( typeof value === "string" && value ) {
|
||||||
// The disjunction here is for better compressibility (see removeClass)
|
classes = value.match( rnotwhite ) || [];
|
||||||
classes = ( value || "" ).match( rnotwhite ) || [];
|
|
||||||
|
|
||||||
for ( ; i < len; i++ ) {
|
while ( ( elem = this[ i++ ] ) ) {
|
||||||
elem = this[ i ];
|
curValue = getClass( elem );
|
||||||
cur = elem.nodeType === 1 && ( elem.className ?
|
cur = elem.nodeType === 1 &&
|
||||||
( " " + elem.className + " " ).replace( rclass, " " ) :
|
( " " + curValue + " " ).replace( rclass, " " );
|
||||||
" "
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( cur ) {
|
if ( cur ) {
|
||||||
j = 0;
|
j = 0;
|
||||||
while ( (clazz = classes[j++]) ) {
|
while ( ( clazz = classes[ j++ ] ) ) {
|
||||||
if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
|
if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
|
||||||
cur += clazz + " ";
|
cur += clazz + " ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// only assign if different to avoid unneeded rendering.
|
// Only assign if different to avoid unneeded rendering.
|
||||||
finalValue = jQuery.trim( cur );
|
finalValue = jQuery.trim( cur );
|
||||||
if ( elem.className !== finalValue ) {
|
if ( curValue !== finalValue ) {
|
||||||
elem.className = finalValue;
|
elem.setAttribute( "class", finalValue );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -53,40 +53,43 @@ jQuery.fn.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
removeClass: function( value ) {
|
removeClass: function( value ) {
|
||||||
var classes, elem, cur, clazz, j, finalValue,
|
var classes, elem, cur, curValue, clazz, j, finalValue,
|
||||||
proceed = arguments.length === 0 || typeof value === "string" && value,
|
i = 0;
|
||||||
i = 0,
|
|
||||||
len = this.length;
|
|
||||||
|
|
||||||
if ( jQuery.isFunction( value ) ) {
|
if ( jQuery.isFunction( value ) ) {
|
||||||
return this.each(function( j ) {
|
return this.each( function( j ) {
|
||||||
jQuery( this ).removeClass( value.call( this, j, this.className ) );
|
jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
if ( proceed ) {
|
|
||||||
classes = ( value || "" ).match( rnotwhite ) || [];
|
|
||||||
|
|
||||||
for ( ; i < len; i++ ) {
|
if ( !arguments.length ) {
|
||||||
elem = this[ i ];
|
return this.attr( "class", "" );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( typeof value === "string" && value ) {
|
||||||
|
classes = value.match( rnotwhite ) || [];
|
||||||
|
|
||||||
|
while ( ( elem = this[ i++ ] ) ) {
|
||||||
|
curValue = getClass( elem );
|
||||||
|
|
||||||
// This expression is here for better compressibility (see addClass)
|
// This expression is here for better compressibility (see addClass)
|
||||||
cur = elem.nodeType === 1 && ( elem.className ?
|
cur = elem.nodeType === 1 &&
|
||||||
( " " + elem.className + " " ).replace( rclass, " " ) :
|
( " " + curValue + " " ).replace( rclass, " " );
|
||||||
""
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( cur ) {
|
if ( cur ) {
|
||||||
j = 0;
|
j = 0;
|
||||||
while ( (clazz = classes[j++]) ) {
|
while ( ( clazz = classes[ j++ ] ) ) {
|
||||||
|
|
||||||
// Remove *all* instances
|
// Remove *all* instances
|
||||||
while ( cur.indexOf( " " + clazz + " " ) >= 0 ) {
|
while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
|
||||||
cur = cur.replace( " " + clazz + " ", " " );
|
cur = cur.replace( " " + clazz + " ", " " );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only assign if different to avoid unneeded rendering.
|
// Only assign if different to avoid unneeded rendering.
|
||||||
finalValue = value ? jQuery.trim( cur ) : "";
|
finalValue = jQuery.trim( cur );
|
||||||
if ( elem.className !== finalValue ) {
|
if ( curValue !== finalValue ) {
|
||||||
elem.className = finalValue;
|
elem.setAttribute( "class", finalValue );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -103,20 +106,26 @@ jQuery.fn.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( jQuery.isFunction( value ) ) {
|
if ( jQuery.isFunction( value ) ) {
|
||||||
return this.each(function( i ) {
|
return this.each( function( i ) {
|
||||||
jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
|
jQuery( this ).toggleClass(
|
||||||
});
|
value.call( this, i, getClass( this ), stateVal ),
|
||||||
|
stateVal
|
||||||
|
);
|
||||||
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.each(function() {
|
return this.each( function() {
|
||||||
if ( type === "string" ) {
|
var className, i, self, classNames;
|
||||||
// Toggle individual class names
|
|
||||||
var className,
|
if ( type === "string" ) {
|
||||||
i = 0,
|
|
||||||
self = jQuery( this ),
|
// Toggle individual class names
|
||||||
classNames = value.match( rnotwhite ) || [];
|
i = 0;
|
||||||
|
self = jQuery( this );
|
||||||
|
classNames = value.match( rnotwhite ) || [];
|
||||||
|
|
||||||
|
while ( ( className = classNames[ i++ ] ) ) {
|
||||||
|
|
||||||
while ( (className = classNames[ i++ ]) ) {
|
|
||||||
// Check each className given, space separated list
|
// Check each className given, space separated list
|
||||||
if ( self.hasClass( className ) ) {
|
if ( self.hasClass( className ) ) {
|
||||||
self.removeClass( className );
|
self.removeClass( className );
|
||||||
@@ -126,33 +135,45 @@ jQuery.fn.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Toggle whole class name
|
// Toggle whole class name
|
||||||
} else if ( type === strundefined || type === "boolean" ) {
|
} else if ( value === undefined || type === "boolean" ) {
|
||||||
if ( this.className ) {
|
className = getClass( this );
|
||||||
// store className if set
|
if ( className ) {
|
||||||
data_priv.set( this, "__className__", this.className );
|
|
||||||
|
// Store className if set
|
||||||
|
dataPriv.set( this, "__className__", className );
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the element has a class name or if we're passed `false`,
|
// If the element has a class name or if we're passed `false`,
|
||||||
// then remove the whole classname (if there was one, the above saved it).
|
// then remove the whole classname (if there was one, the above saved it).
|
||||||
// Otherwise bring back whatever was previously saved (if anything),
|
// Otherwise bring back whatever was previously saved (if anything),
|
||||||
// falling back to the empty string if nothing was stored.
|
// falling back to the empty string if nothing was stored.
|
||||||
this.className = this.className || value === false ? "" : data_priv.get( this, "__className__" ) || "";
|
if ( this.setAttribute ) {
|
||||||
|
this.setAttribute( "class",
|
||||||
|
className || value === false ?
|
||||||
|
"" :
|
||||||
|
dataPriv.get( this, "__className__" ) || ""
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
},
|
},
|
||||||
|
|
||||||
hasClass: function( selector ) {
|
hasClass: function( selector ) {
|
||||||
var className = " " + selector + " ",
|
var className, elem,
|
||||||
i = 0,
|
i = 0;
|
||||||
l = this.length;
|
|
||||||
for ( ; i < l; i++ ) {
|
className = " " + selector + " ";
|
||||||
if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
|
while ( ( elem = this[ i++ ] ) ) {
|
||||||
|
if ( elem.nodeType === 1 &&
|
||||||
|
( " " + getClass( elem ) + " " ).replace( rclass, " " )
|
||||||
|
.indexOf( className ) > -1
|
||||||
|
) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
98
bower_components/jquery/src/attributes/prop.js
vendored
98
bower_components/jquery/src/attributes/prop.js
vendored
@@ -1,69 +1,93 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../core/access",
|
"../core/access",
|
||||||
"./support"
|
"./support",
|
||||||
|
"../selector"
|
||||||
], function( jQuery, access, support ) {
|
], function( jQuery, access, support ) {
|
||||||
|
|
||||||
var rfocusable = /^(?:input|select|textarea|button)$/i;
|
"use strict";
|
||||||
|
|
||||||
jQuery.fn.extend({
|
var rfocusable = /^(?:input|select|textarea|button)$/i,
|
||||||
|
rclickable = /^(?:a|area)$/i;
|
||||||
|
|
||||||
|
jQuery.fn.extend( {
|
||||||
prop: function( name, value ) {
|
prop: function( name, value ) {
|
||||||
return access( this, jQuery.prop, name, value, arguments.length > 1 );
|
return access( this, jQuery.prop, name, value, arguments.length > 1 );
|
||||||
},
|
},
|
||||||
|
|
||||||
removeProp: function( name ) {
|
removeProp: function( name ) {
|
||||||
return this.each(function() {
|
return this.each( function() {
|
||||||
delete this[ jQuery.propFix[ name ] || name ];
|
delete this[ jQuery.propFix[ name ] || name ];
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.extend({
|
|
||||||
propFix: {
|
|
||||||
"for": "htmlFor",
|
|
||||||
"class": "className"
|
|
||||||
},
|
|
||||||
|
|
||||||
|
jQuery.extend( {
|
||||||
prop: function( elem, name, value ) {
|
prop: function( elem, name, value ) {
|
||||||
var ret, hooks, notxml,
|
var ret, hooks,
|
||||||
nType = elem.nodeType;
|
nType = elem.nodeType;
|
||||||
|
|
||||||
// Don't get/set properties on text, comment and attribute nodes
|
// Don't get/set properties on text, comment and attribute nodes
|
||||||
if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
|
if ( nType === 3 || nType === 8 || nType === 2 ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
|
if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
|
||||||
|
|
||||||
if ( notxml ) {
|
|
||||||
// Fix name and attach hooks
|
// Fix name and attach hooks
|
||||||
name = jQuery.propFix[ name ] || name;
|
name = jQuery.propFix[ name ] || name;
|
||||||
hooks = jQuery.propHooks[ name ];
|
hooks = jQuery.propHooks[ name ];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( value !== undefined ) {
|
if ( value !== undefined ) {
|
||||||
return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ?
|
if ( hooks && "set" in hooks &&
|
||||||
ret :
|
( ret = hooks.set( elem, value, name ) ) !== undefined ) {
|
||||||
( elem[ name ] = value );
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
return ( elem[ name ] = value );
|
||||||
return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ?
|
|
||||||
ret :
|
|
||||||
elem[ name ];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return elem[ name ];
|
||||||
},
|
},
|
||||||
|
|
||||||
propHooks: {
|
propHooks: {
|
||||||
tabIndex: {
|
tabIndex: {
|
||||||
get: function( elem ) {
|
get: function( elem ) {
|
||||||
return elem.hasAttribute( "tabindex" ) || rfocusable.test( elem.nodeName ) || elem.href ?
|
|
||||||
elem.tabIndex :
|
// Support: IE <=9 - 11 only
|
||||||
-1;
|
// elem.tabIndex doesn't always return the
|
||||||
|
// correct value when it hasn't been explicitly set
|
||||||
|
// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||||
|
// Use proper attribute retrieval(#12072)
|
||||||
|
var tabindex = jQuery.find.attr( elem, "tabindex" );
|
||||||
|
|
||||||
|
return tabindex ?
|
||||||
|
parseInt( tabindex, 10 ) :
|
||||||
|
rfocusable.test( elem.nodeName ) ||
|
||||||
|
rclickable.test( elem.nodeName ) && elem.href ?
|
||||||
|
0 :
|
||||||
|
-1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
});
|
|
||||||
|
|
||||||
|
propFix: {
|
||||||
|
"for": "htmlFor",
|
||||||
|
"class": "className"
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
// Support: IE <=11 only
|
||||||
|
// Accessing the selectedIndex property
|
||||||
|
// forces the browser to respect setting selected
|
||||||
|
// on the option
|
||||||
|
// The getter ensures a default option is selected
|
||||||
|
// when in an optgroup
|
||||||
if ( !support.optSelected ) {
|
if ( !support.optSelected ) {
|
||||||
jQuery.propHooks.selected = {
|
jQuery.propHooks.selected = {
|
||||||
get: function( elem ) {
|
get: function( elem ) {
|
||||||
@@ -72,11 +96,21 @@ if ( !support.optSelected ) {
|
|||||||
parent.parentNode.selectedIndex;
|
parent.parentNode.selectedIndex;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
},
|
||||||
|
set: function( elem ) {
|
||||||
|
var parent = elem.parentNode;
|
||||||
|
if ( parent ) {
|
||||||
|
parent.selectedIndex;
|
||||||
|
|
||||||
|
if ( parent.parentNode ) {
|
||||||
|
parent.parentNode.selectedIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery.each([
|
jQuery.each( [
|
||||||
"tabIndex",
|
"tabIndex",
|
||||||
"readOnly",
|
"readOnly",
|
||||||
"maxLength",
|
"maxLength",
|
||||||
@@ -89,6 +123,6 @@ jQuery.each([
|
|||||||
"contentEditable"
|
"contentEditable"
|
||||||
], function() {
|
], function() {
|
||||||
jQuery.propFix[ this.toLowerCase() ] = this;
|
jQuery.propFix[ this.toLowerCase() ] = this;
|
||||||
});
|
} );
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
@@ -1,35 +1,33 @@
|
|||||||
define([
|
define( [
|
||||||
|
"../var/document",
|
||||||
"../var/support"
|
"../var/support"
|
||||||
], function( support ) {
|
], function( document, support ) {
|
||||||
|
|
||||||
(function() {
|
"use strict";
|
||||||
|
|
||||||
|
( function() {
|
||||||
var input = document.createElement( "input" ),
|
var input = document.createElement( "input" ),
|
||||||
select = document.createElement( "select" ),
|
select = document.createElement( "select" ),
|
||||||
opt = select.appendChild( document.createElement( "option" ) );
|
opt = select.appendChild( document.createElement( "option" ) );
|
||||||
|
|
||||||
input.type = "checkbox";
|
input.type = "checkbox";
|
||||||
|
|
||||||
// Support: iOS<=5.1, Android<=4.2+
|
// Support: Android <=4.3 only
|
||||||
// Default value for a checkbox should be "on"
|
// Default value for a checkbox should be "on"
|
||||||
support.checkOn = input.value !== "";
|
support.checkOn = input.value !== "";
|
||||||
|
|
||||||
// Support: IE<=11+
|
// Support: IE <=11 only
|
||||||
// Must access selectedIndex to make default options select
|
// Must access selectedIndex to make default options select
|
||||||
support.optSelected = opt.selected;
|
support.optSelected = opt.selected;
|
||||||
|
|
||||||
// Support: Android<=2.3
|
// Support: IE <=11 only
|
||||||
// Options inside disabled selects are incorrectly marked as disabled
|
|
||||||
select.disabled = true;
|
|
||||||
support.optDisabled = !opt.disabled;
|
|
||||||
|
|
||||||
// Support: IE<=11+
|
|
||||||
// An input loses its value after becoming a radio
|
// An input loses its value after becoming a radio
|
||||||
input = document.createElement( "input" );
|
input = document.createElement( "input" );
|
||||||
input.value = "t";
|
input.value = "t";
|
||||||
input.type = "radio";
|
input.type = "radio";
|
||||||
support.radioValue = input.value === "t";
|
support.radioValue = input.value === "t";
|
||||||
})();
|
} )();
|
||||||
|
|
||||||
return support;
|
return support;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
75
bower_components/jquery/src/attributes/val.js
vendored
75
bower_components/jquery/src/attributes/val.js
vendored
@@ -1,29 +1,38 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"./support",
|
"./support",
|
||||||
"../core/init"
|
"../core/init"
|
||||||
], function( jQuery, support ) {
|
], function( jQuery, support ) {
|
||||||
|
|
||||||
var rreturn = /\r/g;
|
"use strict";
|
||||||
|
|
||||||
jQuery.fn.extend({
|
var rreturn = /\r/g,
|
||||||
|
rspaces = /[\x20\t\r\n\f]+/g;
|
||||||
|
|
||||||
|
jQuery.fn.extend( {
|
||||||
val: function( value ) {
|
val: function( value ) {
|
||||||
var hooks, ret, isFunction,
|
var hooks, ret, isFunction,
|
||||||
elem = this[0];
|
elem = this[ 0 ];
|
||||||
|
|
||||||
if ( !arguments.length ) {
|
if ( !arguments.length ) {
|
||||||
if ( elem ) {
|
if ( elem ) {
|
||||||
hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];
|
hooks = jQuery.valHooks[ elem.type ] ||
|
||||||
|
jQuery.valHooks[ elem.nodeName.toLowerCase() ];
|
||||||
|
|
||||||
if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
|
if ( hooks &&
|
||||||
|
"get" in hooks &&
|
||||||
|
( ret = hooks.get( elem, "value" ) ) !== undefined
|
||||||
|
) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = elem.value;
|
ret = elem.value;
|
||||||
|
|
||||||
return typeof ret === "string" ?
|
return typeof ret === "string" ?
|
||||||
|
|
||||||
// Handle most common string cases
|
// Handle most common string cases
|
||||||
ret.replace(rreturn, "") :
|
ret.replace( rreturn, "" ) :
|
||||||
|
|
||||||
// Handle cases where value is null/undef or number
|
// Handle cases where value is null/undef or number
|
||||||
ret == null ? "" : ret;
|
ret == null ? "" : ret;
|
||||||
}
|
}
|
||||||
@@ -33,7 +42,7 @@ jQuery.fn.extend({
|
|||||||
|
|
||||||
isFunction = jQuery.isFunction( value );
|
isFunction = jQuery.isFunction( value );
|
||||||
|
|
||||||
return this.each(function( i ) {
|
return this.each( function( i ) {
|
||||||
var val;
|
var val;
|
||||||
|
|
||||||
if ( this.nodeType !== 1 ) {
|
if ( this.nodeType !== 1 ) {
|
||||||
@@ -56,29 +65,33 @@ jQuery.fn.extend({
|
|||||||
} else if ( jQuery.isArray( val ) ) {
|
} else if ( jQuery.isArray( val ) ) {
|
||||||
val = jQuery.map( val, function( value ) {
|
val = jQuery.map( val, function( value ) {
|
||||||
return value == null ? "" : value + "";
|
return value == null ? "" : value + "";
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
|
hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
|
||||||
|
|
||||||
// If set returns undefined, fall back to normal setting
|
// If set returns undefined, fall back to normal setting
|
||||||
if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
|
if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
|
||||||
this.value = val;
|
this.value = val;
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.extend({
|
jQuery.extend( {
|
||||||
valHooks: {
|
valHooks: {
|
||||||
option: {
|
option: {
|
||||||
get: function( elem ) {
|
get: function( elem ) {
|
||||||
|
|
||||||
var val = jQuery.find.attr( elem, "value" );
|
var val = jQuery.find.attr( elem, "value" );
|
||||||
return val != null ?
|
return val != null ?
|
||||||
val :
|
val :
|
||||||
// Support: IE10-11+
|
|
||||||
|
// Support: IE <=10 - 11 only
|
||||||
// option.text throws exceptions (#14686, #14858)
|
// option.text throws exceptions (#14686, #14858)
|
||||||
jQuery.trim( jQuery.text( elem ) );
|
// Strip and collapse whitespace
|
||||||
|
// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
|
||||||
|
jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " );
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
select: {
|
select: {
|
||||||
@@ -86,7 +99,7 @@ jQuery.extend({
|
|||||||
var value, option,
|
var value, option,
|
||||||
options = elem.options,
|
options = elem.options,
|
||||||
index = elem.selectedIndex,
|
index = elem.selectedIndex,
|
||||||
one = elem.type === "select-one" || index < 0,
|
one = elem.type === "select-one",
|
||||||
values = one ? null : [],
|
values = one ? null : [],
|
||||||
max = one ? index + 1 : options.length,
|
max = one ? index + 1 : options.length,
|
||||||
i = index < 0 ?
|
i = index < 0 ?
|
||||||
@@ -97,11 +110,14 @@ jQuery.extend({
|
|||||||
for ( ; i < max; i++ ) {
|
for ( ; i < max; i++ ) {
|
||||||
option = options[ i ];
|
option = options[ i ];
|
||||||
|
|
||||||
// IE6-9 doesn't update selected after form reset (#2551)
|
// Support: IE <=9 only
|
||||||
|
// IE8-9 doesn't update selected after form reset (#2551)
|
||||||
if ( ( option.selected || i === index ) &&
|
if ( ( option.selected || i === index ) &&
|
||||||
|
|
||||||
// Don't return options that are disabled or in a disabled optgroup
|
// Don't return options that are disabled or in a disabled optgroup
|
||||||
( support.optDisabled ? !option.disabled : option.getAttribute( "disabled" ) === null ) &&
|
!option.disabled &&
|
||||||
( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
|
( !option.parentNode.disabled ||
|
||||||
|
!jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
|
||||||
|
|
||||||
// Get the specific value for the option
|
// Get the specific value for the option
|
||||||
value = jQuery( option ).val();
|
value = jQuery( option ).val();
|
||||||
@@ -127,9 +143,16 @@ jQuery.extend({
|
|||||||
|
|
||||||
while ( i-- ) {
|
while ( i-- ) {
|
||||||
option = options[ i ];
|
option = options[ i ];
|
||||||
if ( (option.selected = jQuery.inArray( option.value, values ) >= 0) ) {
|
|
||||||
|
/* eslint-disable no-cond-assign */
|
||||||
|
|
||||||
|
if ( option.selected =
|
||||||
|
jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
|
||||||
|
) {
|
||||||
optionSet = true;
|
optionSet = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* eslint-enable no-cond-assign */
|
||||||
}
|
}
|
||||||
|
|
||||||
// Force browsers to behave consistently when non-matching value is set
|
// Force browsers to behave consistently when non-matching value is set
|
||||||
@@ -140,22 +163,22 @@ jQuery.extend({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Radios and checkboxes getter/setter
|
// Radios and checkboxes getter/setter
|
||||||
jQuery.each([ "radio", "checkbox" ], function() {
|
jQuery.each( [ "radio", "checkbox" ], function() {
|
||||||
jQuery.valHooks[ this ] = {
|
jQuery.valHooks[ this ] = {
|
||||||
set: function( elem, value ) {
|
set: function( elem, value ) {
|
||||||
if ( jQuery.isArray( value ) ) {
|
if ( jQuery.isArray( value ) ) {
|
||||||
return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
|
return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if ( !support.checkOn ) {
|
if ( !support.checkOn ) {
|
||||||
jQuery.valHooks[ this ].get = function( elem ) {
|
jQuery.valHooks[ this ].get = function( elem ) {
|
||||||
return elem.getAttribute("value") === null ? "on" : elem.value;
|
return elem.getAttribute( "value" ) === null ? "on" : elem.value;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
223
bower_components/jquery/src/callbacks.js
vendored
223
bower_components/jquery/src/callbacks.js
vendored
@@ -1,17 +1,16 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./var/rnotwhite"
|
"./var/rnotwhite"
|
||||||
], function( jQuery, rnotwhite ) {
|
], function( jQuery, rnotwhite ) {
|
||||||
|
|
||||||
// String to Object options format cache
|
"use strict";
|
||||||
var optionsCache = {};
|
|
||||||
|
|
||||||
// Convert String-formatted options into Object-formatted ones and store in cache
|
// Convert String-formatted options into Object-formatted ones
|
||||||
function createOptions( options ) {
|
function createOptions( options ) {
|
||||||
var object = optionsCache[ options ] = {};
|
var object = {};
|
||||||
jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
|
jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
|
||||||
object[ flag ] = true;
|
object[ flag ] = true;
|
||||||
});
|
} );
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,156 +41,186 @@ jQuery.Callbacks = function( options ) {
|
|||||||
// Convert options from String-formatted to Object-formatted if needed
|
// Convert options from String-formatted to Object-formatted if needed
|
||||||
// (we check in cache first)
|
// (we check in cache first)
|
||||||
options = typeof options === "string" ?
|
options = typeof options === "string" ?
|
||||||
( optionsCache[ options ] || createOptions( options ) ) :
|
createOptions( options ) :
|
||||||
jQuery.extend( {}, options );
|
jQuery.extend( {}, options );
|
||||||
|
|
||||||
var // Last fire value (for non-forgettable lists)
|
var // Flag to know if list is currently firing
|
||||||
|
firing,
|
||||||
|
|
||||||
|
// Last fire value for non-forgettable lists
|
||||||
memory,
|
memory,
|
||||||
|
|
||||||
// Flag to know if list was already fired
|
// Flag to know if list was already fired
|
||||||
fired,
|
fired,
|
||||||
// Flag to know if list is currently firing
|
|
||||||
firing,
|
// Flag to prevent firing
|
||||||
// First callback to fire (used internally by add and fireWith)
|
locked,
|
||||||
firingStart,
|
|
||||||
// End of the loop when firing
|
|
||||||
firingLength,
|
|
||||||
// Index of currently firing callback (modified by remove if needed)
|
|
||||||
firingIndex,
|
|
||||||
// Actual callback list
|
// Actual callback list
|
||||||
list = [],
|
list = [],
|
||||||
// Stack of fire calls for repeatable lists
|
|
||||||
stack = !options.once && [],
|
// Queue of execution data for repeatable lists
|
||||||
|
queue = [],
|
||||||
|
|
||||||
|
// Index of currently firing callback (modified by add/remove as needed)
|
||||||
|
firingIndex = -1,
|
||||||
|
|
||||||
// Fire callbacks
|
// Fire callbacks
|
||||||
fire = function( data ) {
|
fire = function() {
|
||||||
memory = options.memory && data;
|
|
||||||
fired = true;
|
// Enforce single-firing
|
||||||
firingIndex = firingStart || 0;
|
locked = options.once;
|
||||||
firingStart = 0;
|
|
||||||
firingLength = list.length;
|
// Execute callbacks for all pending executions,
|
||||||
firing = true;
|
// respecting firingIndex overrides and runtime changes
|
||||||
for ( ; list && firingIndex < firingLength; firingIndex++ ) {
|
fired = firing = true;
|
||||||
if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
|
for ( ; queue.length; firingIndex = -1 ) {
|
||||||
memory = false; // To prevent further calls using add
|
memory = queue.shift();
|
||||||
break;
|
while ( ++firingIndex < list.length ) {
|
||||||
|
|
||||||
|
// Run callback and check for early termination
|
||||||
|
if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
|
||||||
|
options.stopOnFalse ) {
|
||||||
|
|
||||||
|
// Jump to end and forget the data so .add doesn't re-fire
|
||||||
|
firingIndex = list.length;
|
||||||
|
memory = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Forget the data if we're done with it
|
||||||
|
if ( !options.memory ) {
|
||||||
|
memory = false;
|
||||||
|
}
|
||||||
|
|
||||||
firing = false;
|
firing = false;
|
||||||
if ( list ) {
|
|
||||||
if ( stack ) {
|
// Clean up if we're done firing for good
|
||||||
if ( stack.length ) {
|
if ( locked ) {
|
||||||
fire( stack.shift() );
|
|
||||||
}
|
// Keep an empty list if we have data for future add calls
|
||||||
} else if ( memory ) {
|
if ( memory ) {
|
||||||
list = [];
|
list = [];
|
||||||
|
|
||||||
|
// Otherwise, this object is spent
|
||||||
} else {
|
} else {
|
||||||
self.disable();
|
list = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Actual Callbacks object
|
// Actual Callbacks object
|
||||||
self = {
|
self = {
|
||||||
|
|
||||||
// Add a callback or a collection of callbacks to the list
|
// Add a callback or a collection of callbacks to the list
|
||||||
add: function() {
|
add: function() {
|
||||||
if ( list ) {
|
if ( list ) {
|
||||||
// First, we save the current length
|
|
||||||
var start = list.length;
|
// If we have memory from a past run, we should fire after adding
|
||||||
(function add( args ) {
|
if ( memory && !firing ) {
|
||||||
|
firingIndex = list.length - 1;
|
||||||
|
queue.push( memory );
|
||||||
|
}
|
||||||
|
|
||||||
|
( function add( args ) {
|
||||||
jQuery.each( args, function( _, arg ) {
|
jQuery.each( args, function( _, arg ) {
|
||||||
var type = jQuery.type( arg );
|
if ( jQuery.isFunction( arg ) ) {
|
||||||
if ( type === "function" ) {
|
|
||||||
if ( !options.unique || !self.has( arg ) ) {
|
if ( !options.unique || !self.has( arg ) ) {
|
||||||
list.push( arg );
|
list.push( arg );
|
||||||
}
|
}
|
||||||
} else if ( arg && arg.length && type !== "string" ) {
|
} else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
|
||||||
|
|
||||||
// Inspect recursively
|
// Inspect recursively
|
||||||
add( arg );
|
add( arg );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
})( arguments );
|
} )( arguments );
|
||||||
// Do we need to add the callbacks to the
|
|
||||||
// current firing batch?
|
if ( memory && !firing ) {
|
||||||
if ( firing ) {
|
fire();
|
||||||
firingLength = list.length;
|
|
||||||
// With memory, if we're not firing then
|
|
||||||
// we should call right away
|
|
||||||
} else if ( memory ) {
|
|
||||||
firingStart = start;
|
|
||||||
fire( memory );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Remove a callback from the list
|
// Remove a callback from the list
|
||||||
remove: function() {
|
remove: function() {
|
||||||
if ( list ) {
|
jQuery.each( arguments, function( _, arg ) {
|
||||||
jQuery.each( arguments, function( _, arg ) {
|
var index;
|
||||||
var index;
|
while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
|
||||||
while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
|
list.splice( index, 1 );
|
||||||
list.splice( index, 1 );
|
|
||||||
// Handle firing indexes
|
// Handle firing indexes
|
||||||
if ( firing ) {
|
if ( index <= firingIndex ) {
|
||||||
if ( index <= firingLength ) {
|
firingIndex--;
|
||||||
firingLength--;
|
|
||||||
}
|
|
||||||
if ( index <= firingIndex ) {
|
|
||||||
firingIndex--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
} );
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Check if a given callback is in the list.
|
// Check if a given callback is in the list.
|
||||||
// If no argument is given, return whether or not list has callbacks attached.
|
// If no argument is given, return whether or not list has callbacks attached.
|
||||||
has: function( fn ) {
|
has: function( fn ) {
|
||||||
return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );
|
return fn ?
|
||||||
|
jQuery.inArray( fn, list ) > -1 :
|
||||||
|
list.length > 0;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Remove all callbacks from the list
|
// Remove all callbacks from the list
|
||||||
empty: function() {
|
empty: function() {
|
||||||
list = [];
|
if ( list ) {
|
||||||
firingLength = 0;
|
list = [];
|
||||||
return this;
|
|
||||||
},
|
|
||||||
// Have the list do nothing anymore
|
|
||||||
disable: function() {
|
|
||||||
list = stack = memory = undefined;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
// Is it disabled?
|
|
||||||
disabled: function() {
|
|
||||||
return !list;
|
|
||||||
},
|
|
||||||
// Lock the list in its current state
|
|
||||||
lock: function() {
|
|
||||||
stack = undefined;
|
|
||||||
if ( !memory ) {
|
|
||||||
self.disable();
|
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
// Is it locked?
|
|
||||||
locked: function() {
|
// Disable .fire and .add
|
||||||
return !stack;
|
// Abort any current/pending executions
|
||||||
|
// Clear all callbacks and values
|
||||||
|
disable: function() {
|
||||||
|
locked = queue = [];
|
||||||
|
list = memory = "";
|
||||||
|
return this;
|
||||||
},
|
},
|
||||||
|
disabled: function() {
|
||||||
|
return !list;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Disable .fire
|
||||||
|
// Also disable .add unless we have memory (since it would have no effect)
|
||||||
|
// Abort any pending executions
|
||||||
|
lock: function() {
|
||||||
|
locked = queue = [];
|
||||||
|
if ( !memory && !firing ) {
|
||||||
|
list = memory = "";
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
locked: function() {
|
||||||
|
return !!locked;
|
||||||
|
},
|
||||||
|
|
||||||
// Call all callbacks with the given context and arguments
|
// Call all callbacks with the given context and arguments
|
||||||
fireWith: function( context, args ) {
|
fireWith: function( context, args ) {
|
||||||
if ( list && ( !fired || stack ) ) {
|
if ( !locked ) {
|
||||||
args = args || [];
|
args = args || [];
|
||||||
args = [ context, args.slice ? args.slice() : args ];
|
args = [ context, args.slice ? args.slice() : args ];
|
||||||
if ( firing ) {
|
queue.push( args );
|
||||||
stack.push( args );
|
if ( !firing ) {
|
||||||
} else {
|
fire();
|
||||||
fire( args );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Call all the callbacks with the given arguments
|
// Call all the callbacks with the given arguments
|
||||||
fire: function() {
|
fire: function() {
|
||||||
self.fireWith( this, arguments );
|
self.fireWith( this, arguments );
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
// To know if the callbacks have already been called at least once
|
// To know if the callbacks have already been called at least once
|
||||||
fired: function() {
|
fired: function() {
|
||||||
return !!fired;
|
return !!fired;
|
||||||
@@ -202,4 +231,4 @@ jQuery.Callbacks = function( options ) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
225
bower_components/jquery/src/core.js
vendored
225
bower_components/jquery/src/core.js
vendored
@@ -1,5 +1,11 @@
|
|||||||
define([
|
/* global Symbol */
|
||||||
|
// Defining this global in .eslintrc would create a danger of using the global
|
||||||
|
// unguarded in another place, it seems safer to define global only for this module
|
||||||
|
|
||||||
|
define( [
|
||||||
"./var/arr",
|
"./var/arr",
|
||||||
|
"./var/document",
|
||||||
|
"./var/getProto",
|
||||||
"./var/slice",
|
"./var/slice",
|
||||||
"./var/concat",
|
"./var/concat",
|
||||||
"./var/push",
|
"./var/push",
|
||||||
@@ -7,29 +13,34 @@ define([
|
|||||||
"./var/class2type",
|
"./var/class2type",
|
||||||
"./var/toString",
|
"./var/toString",
|
||||||
"./var/hasOwn",
|
"./var/hasOwn",
|
||||||
"./var/support"
|
"./var/fnToString",
|
||||||
], function( arr, slice, concat, push, indexOf, class2type, toString, hasOwn, support ) {
|
"./var/ObjectFunctionString",
|
||||||
|
"./var/support",
|
||||||
|
"./core/DOMEval"
|
||||||
|
], function( arr, document, getProto, slice, concat, push, indexOf,
|
||||||
|
class2type, toString, hasOwn, fnToString, ObjectFunctionString,
|
||||||
|
support, DOMEval ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
var
|
var
|
||||||
// Use the correct document accordingly with window argument (sandbox)
|
version = "3.1.0",
|
||||||
document = window.document,
|
|
||||||
|
|
||||||
version = "@VERSION",
|
|
||||||
|
|
||||||
// Define a local copy of jQuery
|
// Define a local copy of jQuery
|
||||||
jQuery = function( selector, context ) {
|
jQuery = function( selector, context ) {
|
||||||
|
|
||||||
// The jQuery object is actually just the init constructor 'enhanced'
|
// The jQuery object is actually just the init constructor 'enhanced'
|
||||||
// Need init if jQuery is called (just allow error to be thrown if not included)
|
// Need init if jQuery is called (just allow error to be thrown if not included)
|
||||||
return new jQuery.fn.init( selector, context );
|
return new jQuery.fn.init( selector, context );
|
||||||
},
|
},
|
||||||
|
|
||||||
// Support: Android<4.1
|
// Support: Android <=4.0 only
|
||||||
// Make sure we trim BOM and NBSP
|
// Make sure we trim BOM and NBSP
|
||||||
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
|
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
|
||||||
|
|
||||||
// Matches dashed string for camelizing
|
// Matches dashed string for camelizing
|
||||||
rmsPrefix = /^-ms-/,
|
rmsPrefix = /^-ms-/,
|
||||||
rdashAlpha = /-([\da-z])/gi,
|
rdashAlpha = /-([a-z])/g,
|
||||||
|
|
||||||
// Used by jQuery.camelCase as callback to replace()
|
// Used by jQuery.camelCase as callback to replace()
|
||||||
fcamelCase = function( all, letter ) {
|
fcamelCase = function( all, letter ) {
|
||||||
@@ -37,14 +48,12 @@ var
|
|||||||
};
|
};
|
||||||
|
|
||||||
jQuery.fn = jQuery.prototype = {
|
jQuery.fn = jQuery.prototype = {
|
||||||
|
|
||||||
// The current version of jQuery being used
|
// The current version of jQuery being used
|
||||||
jquery: version,
|
jquery: version,
|
||||||
|
|
||||||
constructor: jQuery,
|
constructor: jQuery,
|
||||||
|
|
||||||
// Start with an empty selector
|
|
||||||
selector: "",
|
|
||||||
|
|
||||||
// The default length of a jQuery object is 0
|
// The default length of a jQuery object is 0
|
||||||
length: 0,
|
length: 0,
|
||||||
|
|
||||||
@@ -73,23 +82,20 @@ jQuery.fn = jQuery.prototype = {
|
|||||||
|
|
||||||
// Add the old object onto the stack (as a reference)
|
// Add the old object onto the stack (as a reference)
|
||||||
ret.prevObject = this;
|
ret.prevObject = this;
|
||||||
ret.context = this.context;
|
|
||||||
|
|
||||||
// Return the newly-formed element set
|
// Return the newly-formed element set
|
||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Execute a callback for every element in the matched set.
|
// Execute a callback for every element in the matched set.
|
||||||
// (You can seed the arguments with an array of args, but this is
|
each: function( callback ) {
|
||||||
// only used internally.)
|
return jQuery.each( this, callback );
|
||||||
each: function( callback, args ) {
|
|
||||||
return jQuery.each( this, callback, args );
|
|
||||||
},
|
},
|
||||||
|
|
||||||
map: function( callback ) {
|
map: function( callback ) {
|
||||||
return this.pushStack( jQuery.map(this, function( elem, i ) {
|
return this.pushStack( jQuery.map( this, function( elem, i ) {
|
||||||
return callback.call( elem, i, elem );
|
return callback.call( elem, i, elem );
|
||||||
}));
|
} ) );
|
||||||
},
|
},
|
||||||
|
|
||||||
slice: function() {
|
slice: function() {
|
||||||
@@ -107,11 +113,11 @@ jQuery.fn = jQuery.prototype = {
|
|||||||
eq: function( i ) {
|
eq: function( i ) {
|
||||||
var len = this.length,
|
var len = this.length,
|
||||||
j = +i + ( i < 0 ? len : 0 );
|
j = +i + ( i < 0 ? len : 0 );
|
||||||
return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
|
return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
|
||||||
},
|
},
|
||||||
|
|
||||||
end: function() {
|
end: function() {
|
||||||
return this.prevObject || this.constructor(null);
|
return this.prevObject || this.constructor();
|
||||||
},
|
},
|
||||||
|
|
||||||
// For internal use only.
|
// For internal use only.
|
||||||
@@ -123,7 +129,7 @@ jQuery.fn = jQuery.prototype = {
|
|||||||
|
|
||||||
jQuery.extend = jQuery.fn.extend = function() {
|
jQuery.extend = jQuery.fn.extend = function() {
|
||||||
var options, name, src, copy, copyIsArray, clone,
|
var options, name, src, copy, copyIsArray, clone,
|
||||||
target = arguments[0] || {},
|
target = arguments[ 0 ] || {},
|
||||||
i = 1,
|
i = 1,
|
||||||
length = arguments.length,
|
length = arguments.length,
|
||||||
deep = false;
|
deep = false;
|
||||||
@@ -138,7 +144,7 @@ jQuery.extend = jQuery.fn.extend = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Handle case when target is a string or something (possible in deep copy)
|
// Handle case when target is a string or something (possible in deep copy)
|
||||||
if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
|
if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
|
||||||
target = {};
|
target = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,8 +155,10 @@ jQuery.extend = jQuery.fn.extend = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for ( ; i < length; i++ ) {
|
for ( ; i < length; i++ ) {
|
||||||
|
|
||||||
// Only deal with non-null/undefined values
|
// Only deal with non-null/undefined values
|
||||||
if ( (options = arguments[ i ]) != null ) {
|
if ( ( options = arguments[ i ] ) != null ) {
|
||||||
|
|
||||||
// Extend the base object
|
// Extend the base object
|
||||||
for ( name in options ) {
|
for ( name in options ) {
|
||||||
src = target[ name ];
|
src = target[ name ];
|
||||||
@@ -162,13 +170,15 @@ jQuery.extend = jQuery.fn.extend = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Recurse if we're merging plain objects or arrays
|
// Recurse if we're merging plain objects or arrays
|
||||||
if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
|
if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
|
||||||
|
( copyIsArray = jQuery.isArray( copy ) ) ) ) {
|
||||||
|
|
||||||
if ( copyIsArray ) {
|
if ( copyIsArray ) {
|
||||||
copyIsArray = false;
|
copyIsArray = false;
|
||||||
clone = src && jQuery.isArray(src) ? src : [];
|
clone = src && jQuery.isArray( src ) ? src : [];
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
clone = src && jQuery.isPlainObject(src) ? src : {};
|
clone = src && jQuery.isPlainObject( src ) ? src : {};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Never move original objects, clone them
|
// Never move original objects, clone them
|
||||||
@@ -186,7 +196,8 @@ jQuery.extend = jQuery.fn.extend = function() {
|
|||||||
return target;
|
return target;
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.extend({
|
jQuery.extend( {
|
||||||
|
|
||||||
// Unique for each copy of jQuery on the page
|
// Unique for each copy of jQuery on the page
|
||||||
expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
|
expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
|
||||||
|
|
||||||
@@ -200,7 +211,7 @@ jQuery.extend({
|
|||||||
noop: function() {},
|
noop: function() {},
|
||||||
|
|
||||||
isFunction: function( obj ) {
|
isFunction: function( obj ) {
|
||||||
return jQuery.type(obj) === "function";
|
return jQuery.type( obj ) === "function";
|
||||||
},
|
},
|
||||||
|
|
||||||
isArray: Array.isArray,
|
isArray: Array.isArray,
|
||||||
@@ -210,34 +221,46 @@ jQuery.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
isNumeric: function( obj ) {
|
isNumeric: function( obj ) {
|
||||||
// parseFloat NaNs numeric-cast false positives (null|true|false|"")
|
|
||||||
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
|
// As of jQuery 3.0, isNumeric is limited to
|
||||||
// subtraction forces infinities to NaN
|
// strings and numbers (primitives or objects)
|
||||||
// adding 1 corrects loss of precision from parseFloat (#15100)
|
// that can be coerced to finite numbers (gh-2662)
|
||||||
return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;
|
var type = jQuery.type( obj );
|
||||||
|
return ( type === "number" || type === "string" ) &&
|
||||||
|
|
||||||
|
// parseFloat NaNs numeric-cast false positives ("")
|
||||||
|
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
|
||||||
|
// subtraction forces infinities to NaN
|
||||||
|
!isNaN( obj - parseFloat( obj ) );
|
||||||
},
|
},
|
||||||
|
|
||||||
isPlainObject: function( obj ) {
|
isPlainObject: function( obj ) {
|
||||||
// Not plain objects:
|
var proto, Ctor;
|
||||||
// - Any object or value whose internal [[Class]] property is not "[object Object]"
|
|
||||||
// - DOM nodes
|
// Detect obvious negatives
|
||||||
// - window
|
// Use toString instead of jQuery.type to catch host objects
|
||||||
if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
|
if ( !obj || toString.call( obj ) !== "[object Object]" ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( obj.constructor &&
|
proto = getProto( obj );
|
||||||
!hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
|
|
||||||
return false;
|
// Objects with no prototype (e.g., `Object.create( null )`) are plain
|
||||||
|
if ( !proto ) {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the function hasn't returned already, we're confident that
|
// Objects with prototype are plain iff they were constructed by a global Object function
|
||||||
// |obj| is a plain object, created by {} or constructed with new Object
|
Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
|
||||||
return true;
|
return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
|
||||||
},
|
},
|
||||||
|
|
||||||
isEmptyObject: function( obj ) {
|
isEmptyObject: function( obj ) {
|
||||||
|
|
||||||
|
/* eslint-disable no-unused-vars */
|
||||||
|
// See https://github.com/eslint/eslint/issues/6125
|
||||||
var name;
|
var name;
|
||||||
|
|
||||||
for ( name in obj ) {
|
for ( name in obj ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -248,37 +271,20 @@ jQuery.extend({
|
|||||||
if ( obj == null ) {
|
if ( obj == null ) {
|
||||||
return obj + "";
|
return obj + "";
|
||||||
}
|
}
|
||||||
// Support: Android<4.0, iOS<6 (functionish RegExp)
|
|
||||||
|
// Support: Android <=2.3 only (functionish RegExp)
|
||||||
return typeof obj === "object" || typeof obj === "function" ?
|
return typeof obj === "object" || typeof obj === "function" ?
|
||||||
class2type[ toString.call(obj) ] || "object" :
|
class2type[ toString.call( obj ) ] || "object" :
|
||||||
typeof obj;
|
typeof obj;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Evaluates a script in a global context
|
// Evaluates a script in a global context
|
||||||
globalEval: function( code ) {
|
globalEval: function( code ) {
|
||||||
var script,
|
DOMEval( code );
|
||||||
indirect = eval;
|
|
||||||
|
|
||||||
code = jQuery.trim( code );
|
|
||||||
|
|
||||||
if ( code ) {
|
|
||||||
// If the code includes a valid, prologue position
|
|
||||||
// strict mode pragma, execute code by injecting a
|
|
||||||
// script tag into the document.
|
|
||||||
if ( code.indexOf("use strict") === 1 ) {
|
|
||||||
script = document.createElement("script");
|
|
||||||
script.text = code;
|
|
||||||
document.head.appendChild( script ).parentNode.removeChild( script );
|
|
||||||
} else {
|
|
||||||
// Otherwise, avoid the DOM node creation, insertion
|
|
||||||
// and removal by using an indirect global eval
|
|
||||||
indirect( code );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// Convert dashed to camelCase; used by the css and data modules
|
// Convert dashed to camelCase; used by the css and data modules
|
||||||
// Support: IE9-11+
|
// Support: IE <=9 - 11, Edge 12 - 13
|
||||||
// Microsoft forgot to hump their vendor prefix (#9572)
|
// Microsoft forgot to hump their vendor prefix (#9572)
|
||||||
camelCase: function( string ) {
|
camelCase: function( string ) {
|
||||||
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
|
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
|
||||||
@@ -288,49 +294,20 @@ jQuery.extend({
|
|||||||
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
|
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
|
||||||
},
|
},
|
||||||
|
|
||||||
// args is for internal usage only
|
each: function( obj, callback ) {
|
||||||
each: function( obj, callback, args ) {
|
var length, i = 0;
|
||||||
var value,
|
|
||||||
i = 0,
|
|
||||||
length = obj.length,
|
|
||||||
isArray = isArraylike( obj );
|
|
||||||
|
|
||||||
if ( args ) {
|
if ( isArrayLike( obj ) ) {
|
||||||
if ( isArray ) {
|
length = obj.length;
|
||||||
for ( ; i < length; i++ ) {
|
for ( ; i < length; i++ ) {
|
||||||
value = callback.apply( obj[ i ], args );
|
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
|
||||||
|
break;
|
||||||
if ( value === false ) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for ( i in obj ) {
|
|
||||||
value = callback.apply( obj[ i ], args );
|
|
||||||
|
|
||||||
if ( value === false ) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// A special, fast, case for the most common use of each
|
|
||||||
} else {
|
} else {
|
||||||
if ( isArray ) {
|
for ( i in obj ) {
|
||||||
for ( ; i < length; i++ ) {
|
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
|
||||||
value = callback.call( obj[ i ], i, obj[ i ] );
|
break;
|
||||||
|
|
||||||
if ( value === false ) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for ( i in obj ) {
|
|
||||||
value = callback.call( obj[ i ], i, obj[ i ] );
|
|
||||||
|
|
||||||
if ( value === false ) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -338,7 +315,7 @@ jQuery.extend({
|
|||||||
return obj;
|
return obj;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Support: Android<4.1
|
// Support: Android <=4.0 only
|
||||||
trim: function( text ) {
|
trim: function( text ) {
|
||||||
return text == null ?
|
return text == null ?
|
||||||
"" :
|
"" :
|
||||||
@@ -350,7 +327,7 @@ jQuery.extend({
|
|||||||
var ret = results || [];
|
var ret = results || [];
|
||||||
|
|
||||||
if ( arr != null ) {
|
if ( arr != null ) {
|
||||||
if ( isArraylike( Object(arr) ) ) {
|
if ( isArrayLike( Object( arr ) ) ) {
|
||||||
jQuery.merge( ret,
|
jQuery.merge( ret,
|
||||||
typeof arr === "string" ?
|
typeof arr === "string" ?
|
||||||
[ arr ] : arr
|
[ arr ] : arr
|
||||||
@@ -367,6 +344,8 @@ jQuery.extend({
|
|||||||
return arr == null ? -1 : indexOf.call( arr, elem, i );
|
return arr == null ? -1 : indexOf.call( arr, elem, i );
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Support: Android <=4.0 only, PhantomJS 1 only
|
||||||
|
// push.apply(_, arraylike) throws on ancient WebKit
|
||||||
merge: function( first, second ) {
|
merge: function( first, second ) {
|
||||||
var len = +second.length,
|
var len = +second.length,
|
||||||
j = 0,
|
j = 0,
|
||||||
@@ -402,14 +381,13 @@ jQuery.extend({
|
|||||||
|
|
||||||
// arg is for internal usage only
|
// arg is for internal usage only
|
||||||
map: function( elems, callback, arg ) {
|
map: function( elems, callback, arg ) {
|
||||||
var value,
|
var length, value,
|
||||||
i = 0,
|
i = 0,
|
||||||
length = elems.length,
|
|
||||||
isArray = isArraylike( elems ),
|
|
||||||
ret = [];
|
ret = [];
|
||||||
|
|
||||||
// Go through the array, translating each of the items to their new values
|
// Go through the array, translating each of the items to their new values
|
||||||
if ( isArray ) {
|
if ( isArrayLike( elems ) ) {
|
||||||
|
length = elems.length;
|
||||||
for ( ; i < length; i++ ) {
|
for ( ; i < length; i++ ) {
|
||||||
value = callback( elems[ i ], i, arg );
|
value = callback( elems[ i ], i, arg );
|
||||||
|
|
||||||
@@ -470,33 +448,34 @@ jQuery.extend({
|
|||||||
// jQuery.support is not used in Core but other projects attach their
|
// jQuery.support is not used in Core but other projects attach their
|
||||||
// properties to it so it needs to exist.
|
// properties to it so it needs to exist.
|
||||||
support: support
|
support: support
|
||||||
});
|
} );
|
||||||
|
|
||||||
|
if ( typeof Symbol === "function" ) {
|
||||||
|
jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
|
||||||
|
}
|
||||||
|
|
||||||
// Populate the class2type map
|
// Populate the class2type map
|
||||||
jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
|
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
|
||||||
|
function( i, name ) {
|
||||||
class2type[ "[object " + name + "]" ] = name.toLowerCase();
|
class2type[ "[object " + name + "]" ] = name.toLowerCase();
|
||||||
});
|
} );
|
||||||
|
|
||||||
function isArraylike( obj ) {
|
function isArrayLike( obj ) {
|
||||||
|
|
||||||
// Support: iOS 8.2 (not reproducible in simulator)
|
// Support: real iOS 8.2 only (not reproducible in simulator)
|
||||||
// `in` check used to prevent JIT error (gh-2145)
|
// `in` check used to prevent JIT error (gh-2145)
|
||||||
// hasOwn isn't used here due to false negatives
|
// hasOwn isn't used here due to false negatives
|
||||||
// regarding Nodelist length in IE
|
// regarding Nodelist length in IE
|
||||||
var length = "length" in obj && obj.length,
|
var length = !!obj && "length" in obj && obj.length,
|
||||||
type = jQuery.type( obj );
|
type = jQuery.type( obj );
|
||||||
|
|
||||||
if ( type === "function" || jQuery.isWindow( obj ) ) {
|
if ( type === "function" || jQuery.isWindow( obj ) ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( obj.nodeType === 1 && length ) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return type === "array" || length === 0 ||
|
return type === "array" || length === 0 ||
|
||||||
typeof length === "number" && length > 0 && ( length - 1 ) in obj;
|
typeof length === "number" && length > 0 && ( length - 1 ) in obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
19
bower_components/jquery/src/core/access.js
vendored
19
bower_components/jquery/src/core/access.js
vendored
@@ -1,10 +1,12 @@
|
|||||||
define([
|
define( [
|
||||||
"../core"
|
"../core"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// Multifunctional method to get and set values of a collection
|
// Multifunctional method to get and set values of a collection
|
||||||
// The value/s can optionally be executed if it's a function
|
// The value/s can optionally be executed if it's a function
|
||||||
var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
|
var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
|
||||||
var i = 0,
|
var i = 0,
|
||||||
len = elems.length,
|
len = elems.length,
|
||||||
bulk = key == null;
|
bulk = key == null;
|
||||||
@@ -13,7 +15,7 @@ var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGe
|
|||||||
if ( jQuery.type( key ) === "object" ) {
|
if ( jQuery.type( key ) === "object" ) {
|
||||||
chainable = true;
|
chainable = true;
|
||||||
for ( i in key ) {
|
for ( i in key ) {
|
||||||
jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
|
access( elems, fn, i, key[ i ], true, emptyGet, raw );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sets one value
|
// Sets one value
|
||||||
@@ -25,6 +27,7 @@ var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGe
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( bulk ) {
|
if ( bulk ) {
|
||||||
|
|
||||||
// Bulk operations run against the entire set
|
// Bulk operations run against the entire set
|
||||||
if ( raw ) {
|
if ( raw ) {
|
||||||
fn.call( elems, value );
|
fn.call( elems, value );
|
||||||
@@ -41,7 +44,11 @@ var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGe
|
|||||||
|
|
||||||
if ( fn ) {
|
if ( fn ) {
|
||||||
for ( ; i < len; i++ ) {
|
for ( ; i < len; i++ ) {
|
||||||
fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
|
fn(
|
||||||
|
elems[ i ], key, raw ?
|
||||||
|
value :
|
||||||
|
value.call( elems[ i ], i, fn( elems[ i ], key ) )
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -52,9 +59,9 @@ var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGe
|
|||||||
// Gets
|
// Gets
|
||||||
bulk ?
|
bulk ?
|
||||||
fn.call( elems ) :
|
fn.call( elems ) :
|
||||||
len ? fn( elems[0], key ) : emptyGet;
|
len ? fn( elems[ 0 ], key ) : emptyGet;
|
||||||
};
|
};
|
||||||
|
|
||||||
return access;
|
return access;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
60
bower_components/jquery/src/core/init.js
vendored
60
bower_components/jquery/src/core/init.js
vendored
@@ -1,9 +1,12 @@
|
|||||||
// Initialize a jQuery object
|
// Initialize a jQuery object
|
||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
|
"../var/document",
|
||||||
"./var/rsingleTag",
|
"./var/rsingleTag",
|
||||||
"../traversing/findFilter"
|
"../traversing/findFilter"
|
||||||
], function( jQuery, rsingleTag ) {
|
], function( jQuery, document, rsingleTag ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// A central reference to the root jQuery(document)
|
// A central reference to the root jQuery(document)
|
||||||
var rootjQuery,
|
var rootjQuery,
|
||||||
@@ -11,9 +14,10 @@ var rootjQuery,
|
|||||||
// A simple way to check for HTML strings
|
// A simple way to check for HTML strings
|
||||||
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
|
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
|
||||||
// Strict HTML recognition (#11290: must start with <)
|
// Strict HTML recognition (#11290: must start with <)
|
||||||
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
|
// Shortcut simple #id case for speed
|
||||||
|
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
|
||||||
|
|
||||||
init = jQuery.fn.init = function( selector, context ) {
|
init = jQuery.fn.init = function( selector, context, root ) {
|
||||||
var match, elem;
|
var match, elem;
|
||||||
|
|
||||||
// HANDLE: $(""), $(null), $(undefined), $(false)
|
// HANDLE: $(""), $(null), $(undefined), $(false)
|
||||||
@@ -21,9 +25,16 @@ var rootjQuery,
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Method init() accepts an alternate rootjQuery
|
||||||
|
// so migrate can support jQuery.sub (gh-2101)
|
||||||
|
root = root || rootjQuery;
|
||||||
|
|
||||||
// Handle HTML strings
|
// Handle HTML strings
|
||||||
if ( typeof selector === "string" ) {
|
if ( typeof selector === "string" ) {
|
||||||
if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) {
|
if ( selector[ 0 ] === "<" &&
|
||||||
|
selector[ selector.length - 1 ] === ">" &&
|
||||||
|
selector.length >= 3 ) {
|
||||||
|
|
||||||
// Assume that strings that start and end with <> are HTML and skip the regex check
|
// Assume that strings that start and end with <> are HTML and skip the regex check
|
||||||
match = [ null, selector, null ];
|
match = [ null, selector, null ];
|
||||||
|
|
||||||
@@ -32,23 +43,24 @@ var rootjQuery,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Match html or make sure no context is specified for #id
|
// Match html or make sure no context is specified for #id
|
||||||
if ( match && (match[1] || !context) ) {
|
if ( match && ( match[ 1 ] || !context ) ) {
|
||||||
|
|
||||||
// HANDLE: $(html) -> $(array)
|
// HANDLE: $(html) -> $(array)
|
||||||
if ( match[1] ) {
|
if ( match[ 1 ] ) {
|
||||||
context = context instanceof jQuery ? context[0] : context;
|
context = context instanceof jQuery ? context[ 0 ] : context;
|
||||||
|
|
||||||
// Option to run scripts is true for back-compat
|
// Option to run scripts is true for back-compat
|
||||||
// Intentionally let the error be thrown if parseHTML is not present
|
// Intentionally let the error be thrown if parseHTML is not present
|
||||||
jQuery.merge( this, jQuery.parseHTML(
|
jQuery.merge( this, jQuery.parseHTML(
|
||||||
match[1],
|
match[ 1 ],
|
||||||
context && context.nodeType ? context.ownerDocument || context : document,
|
context && context.nodeType ? context.ownerDocument || context : document,
|
||||||
true
|
true
|
||||||
) );
|
) );
|
||||||
|
|
||||||
// HANDLE: $(html, props)
|
// HANDLE: $(html, props)
|
||||||
if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
|
if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
|
||||||
for ( match in context ) {
|
for ( match in context ) {
|
||||||
|
|
||||||
// Properties of context are called as methods if possible
|
// Properties of context are called as methods if possible
|
||||||
if ( jQuery.isFunction( this[ match ] ) ) {
|
if ( jQuery.isFunction( this[ match ] ) ) {
|
||||||
this[ match ]( context[ match ] );
|
this[ match ]( context[ match ] );
|
||||||
@@ -64,24 +76,20 @@ var rootjQuery,
|
|||||||
|
|
||||||
// HANDLE: $(#id)
|
// HANDLE: $(#id)
|
||||||
} else {
|
} else {
|
||||||
elem = document.getElementById( match[2] );
|
elem = document.getElementById( match[ 2 ] );
|
||||||
|
|
||||||
|
if ( elem ) {
|
||||||
|
|
||||||
// Support: Blackberry 4.6
|
|
||||||
// gEBID returns nodes no longer in the document (#6963)
|
|
||||||
if ( elem && elem.parentNode ) {
|
|
||||||
// Inject the element directly into the jQuery object
|
// Inject the element directly into the jQuery object
|
||||||
|
this[ 0 ] = elem;
|
||||||
this.length = 1;
|
this.length = 1;
|
||||||
this[0] = elem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.context = document;
|
|
||||||
this.selector = selector;
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// HANDLE: $(expr, $(...))
|
// HANDLE: $(expr, $(...))
|
||||||
} else if ( !context || context.jquery ) {
|
} else if ( !context || context.jquery ) {
|
||||||
return ( context || rootjQuery ).find( selector );
|
return ( context || root ).find( selector );
|
||||||
|
|
||||||
// HANDLE: $(expr, context)
|
// HANDLE: $(expr, context)
|
||||||
// (which is just equivalent to: $(context).find(expr)
|
// (which is just equivalent to: $(context).find(expr)
|
||||||
@@ -91,24 +99,20 @@ var rootjQuery,
|
|||||||
|
|
||||||
// HANDLE: $(DOMElement)
|
// HANDLE: $(DOMElement)
|
||||||
} else if ( selector.nodeType ) {
|
} else if ( selector.nodeType ) {
|
||||||
this.context = this[0] = selector;
|
this[ 0 ] = selector;
|
||||||
this.length = 1;
|
this.length = 1;
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
// HANDLE: $(function)
|
// HANDLE: $(function)
|
||||||
// Shortcut for document ready
|
// Shortcut for document ready
|
||||||
} else if ( jQuery.isFunction( selector ) ) {
|
} else if ( jQuery.isFunction( selector ) ) {
|
||||||
return typeof rootjQuery.ready !== "undefined" ?
|
return root.ready !== undefined ?
|
||||||
rootjQuery.ready( selector ) :
|
root.ready( selector ) :
|
||||||
|
|
||||||
// Execute immediately if ready is not present
|
// Execute immediately if ready is not present
|
||||||
selector( jQuery );
|
selector( jQuery );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( selector.selector !== undefined ) {
|
|
||||||
this.selector = selector.selector;
|
|
||||||
this.context = selector.context;
|
|
||||||
}
|
|
||||||
|
|
||||||
return jQuery.makeArray( selector, this );
|
return jQuery.makeArray( selector, this );
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -120,4 +124,4 @@ rootjQuery = jQuery( document );
|
|||||||
|
|
||||||
return init;
|
return init;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
52
bower_components/jquery/src/core/parseHTML.js
vendored
52
bower_components/jquery/src/core/parseHTML.js
vendored
@@ -1,31 +1,57 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
|
"../var/document",
|
||||||
"./var/rsingleTag",
|
"./var/rsingleTag",
|
||||||
"../manipulation" // buildFragment
|
"../manipulation/buildFragment",
|
||||||
], function( jQuery, rsingleTag ) {
|
|
||||||
|
|
||||||
// data: string of html
|
// This is the only module that needs core/support
|
||||||
// context (optional): If specified, the fragment will be created in this context, defaults to document
|
"./support"
|
||||||
|
], function( jQuery, document, rsingleTag, buildFragment, support ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
// Argument "data" should be string of html
|
||||||
|
// context (optional): If specified, the fragment will be created in this context,
|
||||||
|
// defaults to document
|
||||||
// keepScripts (optional): If true, will include scripts passed in the html string
|
// keepScripts (optional): If true, will include scripts passed in the html string
|
||||||
jQuery.parseHTML = function( data, context, keepScripts ) {
|
jQuery.parseHTML = function( data, context, keepScripts ) {
|
||||||
if ( !data || typeof data !== "string" ) {
|
if ( typeof data !== "string" ) {
|
||||||
return null;
|
return [];
|
||||||
}
|
}
|
||||||
if ( typeof context === "boolean" ) {
|
if ( typeof context === "boolean" ) {
|
||||||
keepScripts = context;
|
keepScripts = context;
|
||||||
context = false;
|
context = false;
|
||||||
}
|
}
|
||||||
context = context || document;
|
|
||||||
|
|
||||||
var parsed = rsingleTag.exec( data ),
|
var base, parsed, scripts;
|
||||||
scripts = !keepScripts && [];
|
|
||||||
|
if ( !context ) {
|
||||||
|
|
||||||
|
// Stop scripts or inline event handlers from being executed immediately
|
||||||
|
// by using document.implementation
|
||||||
|
if ( support.createHTMLDocument ) {
|
||||||
|
context = document.implementation.createHTMLDocument( "" );
|
||||||
|
|
||||||
|
// Set the base href for the created document
|
||||||
|
// so any parsed elements with URLs
|
||||||
|
// are based on the document's URL (gh-2965)
|
||||||
|
base = context.createElement( "base" );
|
||||||
|
base.href = document.location.href;
|
||||||
|
context.head.appendChild( base );
|
||||||
|
} else {
|
||||||
|
context = document;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
parsed = rsingleTag.exec( data );
|
||||||
|
scripts = !keepScripts && [];
|
||||||
|
|
||||||
// Single tag
|
// Single tag
|
||||||
if ( parsed ) {
|
if ( parsed ) {
|
||||||
return [ context.createElement( parsed[1] ) ];
|
return [ context.createElement( parsed[ 1 ] ) ];
|
||||||
}
|
}
|
||||||
|
|
||||||
parsed = jQuery.buildFragment( [ data ], context, scripts );
|
parsed = buildFragment( [ data ], context, scripts );
|
||||||
|
|
||||||
if ( scripts && scripts.length ) {
|
if ( scripts && scripts.length ) {
|
||||||
jQuery( scripts ).remove();
|
jQuery( scripts ).remove();
|
||||||
@@ -36,4 +62,4 @@ jQuery.parseHTML = function( data, context, keepScripts ) {
|
|||||||
|
|
||||||
return jQuery.parseHTML;
|
return jQuery.parseHTML;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
82
bower_components/jquery/src/core/ready.js
vendored
82
bower_components/jquery/src/core/ready.js
vendored
@@ -1,20 +1,32 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../core/init",
|
"../var/document",
|
||||||
|
"../core/readyException",
|
||||||
"../deferred"
|
"../deferred"
|
||||||
], function( jQuery ) {
|
], function( jQuery, document ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// The deferred used on DOM ready
|
// The deferred used on DOM ready
|
||||||
var readyList;
|
var readyList = jQuery.Deferred();
|
||||||
|
|
||||||
jQuery.fn.ready = function( fn ) {
|
jQuery.fn.ready = function( fn ) {
|
||||||
// Add the callback
|
|
||||||
jQuery.ready.promise().done( fn );
|
readyList
|
||||||
|
.then( fn )
|
||||||
|
|
||||||
|
// Wrap jQuery.readyException in a function so that the lookup
|
||||||
|
// happens at the time of error handling instead of callback
|
||||||
|
// registration.
|
||||||
|
.catch( function( error ) {
|
||||||
|
jQuery.readyException( error );
|
||||||
|
} );
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.extend({
|
jQuery.extend( {
|
||||||
|
|
||||||
// Is the DOM ready to be used? Set to true once it occurs.
|
// Is the DOM ready to be used? Set to true once it occurs.
|
||||||
isReady: false,
|
isReady: false,
|
||||||
|
|
||||||
@@ -49,49 +61,35 @@ jQuery.extend({
|
|||||||
|
|
||||||
// If there are functions bound, to execute
|
// If there are functions bound, to execute
|
||||||
readyList.resolveWith( document, [ jQuery ] );
|
readyList.resolveWith( document, [ jQuery ] );
|
||||||
|
|
||||||
// Trigger any bound ready events
|
|
||||||
if ( jQuery.fn.triggerHandler ) {
|
|
||||||
jQuery( document ).triggerHandler( "ready" );
|
|
||||||
jQuery( document ).off( "ready" );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
/**
|
jQuery.ready.then = readyList.then;
|
||||||
* The ready event handler and self cleanup method
|
|
||||||
*/
|
// The ready event handler and self cleanup method
|
||||||
function completed() {
|
function completed() {
|
||||||
document.removeEventListener( "DOMContentLoaded", completed, false );
|
document.removeEventListener( "DOMContentLoaded", completed );
|
||||||
window.removeEventListener( "load", completed, false );
|
window.removeEventListener( "load", completed );
|
||||||
jQuery.ready();
|
jQuery.ready();
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery.ready.promise = function( obj ) {
|
// Catch cases where $(document).ready() is called
|
||||||
if ( !readyList ) {
|
// after the browser event has already occurred.
|
||||||
|
// Support: IE <=9 - 10 only
|
||||||
|
// Older IE sometimes signals "interactive" too soon
|
||||||
|
if ( document.readyState === "complete" ||
|
||||||
|
( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
|
||||||
|
|
||||||
readyList = jQuery.Deferred();
|
// Handle it asynchronously to allow scripts the opportunity to delay ready
|
||||||
|
window.setTimeout( jQuery.ready );
|
||||||
|
|
||||||
// Catch cases where $(document).ready() is called after the browser event has already occurred.
|
} else {
|
||||||
// We once tried to use readyState "interactive" here, but it caused issues like the one
|
|
||||||
// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
|
|
||||||
if ( document.readyState === "complete" ) {
|
|
||||||
// Handle it asynchronously to allow scripts the opportunity to delay ready
|
|
||||||
setTimeout( jQuery.ready );
|
|
||||||
|
|
||||||
} else {
|
// Use the handy event callback
|
||||||
|
document.addEventListener( "DOMContentLoaded", completed );
|
||||||
|
|
||||||
// Use the handy event callback
|
// A fallback to window.onload, that will always work
|
||||||
document.addEventListener( "DOMContentLoaded", completed, false );
|
window.addEventListener( "load", completed );
|
||||||
|
}
|
||||||
|
|
||||||
// A fallback to window.onload, that will always work
|
} );
|
||||||
window.addEventListener( "load", completed, false );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return readyList.promise( obj );
|
|
||||||
};
|
|
||||||
|
|
||||||
// Kick off the DOM ready check even if the user does not
|
|
||||||
jQuery.ready.promise();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
define(function() {
|
define( function() {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// Match a standalone tag
|
// Match a standalone tag
|
||||||
return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
|
return ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
|
||||||
});
|
} );
|
||||||
|
|||||||
232
bower_components/jquery/src/css.js
vendored
232
bower_components/jquery/src/css.js
vendored
@@ -1,87 +1,94 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./var/pnum",
|
"./var/pnum",
|
||||||
"./core/access",
|
"./core/access",
|
||||||
"./css/var/rmargin",
|
"./css/var/rmargin",
|
||||||
|
"./var/document",
|
||||||
|
"./var/rcssNum",
|
||||||
"./css/var/rnumnonpx",
|
"./css/var/rnumnonpx",
|
||||||
"./css/var/cssExpand",
|
"./css/var/cssExpand",
|
||||||
"./css/var/isHidden",
|
|
||||||
"./css/var/getStyles",
|
"./css/var/getStyles",
|
||||||
|
"./css/var/swap",
|
||||||
"./css/curCSS",
|
"./css/curCSS",
|
||||||
"./css/defaultDisplay",
|
"./css/adjustCSS",
|
||||||
"./css/addGetHookIf",
|
"./css/addGetHookIf",
|
||||||
"./css/support",
|
"./css/support",
|
||||||
"./data/var/data_priv",
|
|
||||||
|
|
||||||
"./core/init",
|
"./core/init",
|
||||||
"./css/swap",
|
|
||||||
"./core/ready",
|
"./core/ready",
|
||||||
"./selector" // contains
|
"./selector" // contains
|
||||||
], function( jQuery, pnum, access, rmargin, rnumnonpx, cssExpand, isHidden,
|
], function( jQuery, pnum, access, rmargin, document, rcssNum, rnumnonpx, cssExpand,
|
||||||
getStyles, curCSS, defaultDisplay, addGetHookIf, support, data_priv ) {
|
getStyles, swap, curCSS, adjustCSS, addGetHookIf, support ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
var
|
var
|
||||||
// Swappable if display is none or starts with table except "table", "table-cell", or "table-caption"
|
|
||||||
|
// Swappable if display is none or starts with table
|
||||||
|
// except "table", "table-cell", or "table-caption"
|
||||||
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
|
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
|
||||||
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
||||||
rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ),
|
|
||||||
rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ),
|
|
||||||
|
|
||||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||||
cssNormalTransform = {
|
cssNormalTransform = {
|
||||||
letterSpacing: "0",
|
letterSpacing: "0",
|
||||||
fontWeight: "400"
|
fontWeight: "400"
|
||||||
},
|
},
|
||||||
|
|
||||||
cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
|
cssPrefixes = [ "Webkit", "Moz", "ms" ],
|
||||||
|
emptyStyle = document.createElement( "div" ).style;
|
||||||
|
|
||||||
// Return a css property mapped to a potentially vendor prefixed property
|
// Return a css property mapped to a potentially vendor prefixed property
|
||||||
function vendorPropName( style, name ) {
|
function vendorPropName( name ) {
|
||||||
|
|
||||||
// Shortcut for names that are not vendor prefixed
|
// Shortcut for names that are not vendor prefixed
|
||||||
if ( name in style ) {
|
if ( name in emptyStyle ) {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for vendor prefixed names
|
// Check for vendor prefixed names
|
||||||
var capName = name[0].toUpperCase() + name.slice(1),
|
var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
|
||||||
origName = name,
|
|
||||||
i = cssPrefixes.length;
|
i = cssPrefixes.length;
|
||||||
|
|
||||||
while ( i-- ) {
|
while ( i-- ) {
|
||||||
name = cssPrefixes[ i ] + capName;
|
name = cssPrefixes[ i ] + capName;
|
||||||
if ( name in style ) {
|
if ( name in emptyStyle ) {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return origName;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPositiveNumber( elem, value, subtract ) {
|
function setPositiveNumber( elem, value, subtract ) {
|
||||||
var matches = rnumsplit.exec( value );
|
|
||||||
|
// Any relative (+/-) values have already been
|
||||||
|
// normalized at this point
|
||||||
|
var matches = rcssNum.exec( value );
|
||||||
return matches ?
|
return matches ?
|
||||||
|
|
||||||
// Guard against undefined "subtract", e.g., when used as in cssHooks
|
// Guard against undefined "subtract", e.g., when used as in cssHooks
|
||||||
Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) :
|
Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
|
||||||
value;
|
value;
|
||||||
}
|
}
|
||||||
|
|
||||||
function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
|
function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
|
||||||
var i = extra === ( isBorderBox ? "border" : "content" ) ?
|
var i = extra === ( isBorderBox ? "border" : "content" ) ?
|
||||||
|
|
||||||
// If we already have the right measurement, avoid augmentation
|
// If we already have the right measurement, avoid augmentation
|
||||||
4 :
|
4 :
|
||||||
|
|
||||||
// Otherwise initialize for horizontal or vertical properties
|
// Otherwise initialize for horizontal or vertical properties
|
||||||
name === "width" ? 1 : 0,
|
name === "width" ? 1 : 0,
|
||||||
|
|
||||||
val = 0;
|
val = 0;
|
||||||
|
|
||||||
for ( ; i < 4; i += 2 ) {
|
for ( ; i < 4; i += 2 ) {
|
||||||
|
|
||||||
// Both box models exclude margin, so add it if we want it
|
// Both box models exclude margin, so add it if we want it
|
||||||
if ( extra === "margin" ) {
|
if ( extra === "margin" ) {
|
||||||
val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
|
val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isBorderBox ) {
|
if ( isBorderBox ) {
|
||||||
|
|
||||||
// border-box includes padding, so remove it if we want content
|
// border-box includes padding, so remove it if we want content
|
||||||
if ( extra === "content" ) {
|
if ( extra === "content" ) {
|
||||||
val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
|
val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
|
||||||
@@ -92,6 +99,7 @@ function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
|
|||||||
val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
|
val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// At this point, extra isn't content, so add padding
|
// At this point, extra isn't content, so add padding
|
||||||
val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
|
val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
|
||||||
|
|
||||||
@@ -108,15 +116,23 @@ function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
|
|||||||
function getWidthOrHeight( elem, name, extra ) {
|
function getWidthOrHeight( elem, name, extra ) {
|
||||||
|
|
||||||
// Start with offset property, which is equivalent to the border-box value
|
// Start with offset property, which is equivalent to the border-box value
|
||||||
var valueIsBorderBox = true,
|
var val,
|
||||||
val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
|
valueIsBorderBox = true,
|
||||||
styles = getStyles( elem ),
|
styles = getStyles( elem ),
|
||||||
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
|
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
|
||||||
|
|
||||||
|
// Support: IE <=11 only
|
||||||
|
// Running getBoundingClientRect on a disconnected node
|
||||||
|
// in IE throws an error.
|
||||||
|
if ( elem.getClientRects().length ) {
|
||||||
|
val = elem.getBoundingClientRect()[ name ];
|
||||||
|
}
|
||||||
|
|
||||||
// Some non-html elements return undefined for offsetWidth, so check for null/undefined
|
// Some non-html elements return undefined for offsetWidth, so check for null/undefined
|
||||||
// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
|
// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
|
||||||
// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
|
// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
|
||||||
if ( val <= 0 || val == null ) {
|
if ( val <= 0 || val == null ) {
|
||||||
|
|
||||||
// Fall back to computed then uncomputed css if necessary
|
// Fall back to computed then uncomputed css if necessary
|
||||||
val = curCSS( elem, name, styles );
|
val = curCSS( elem, name, styles );
|
||||||
if ( val < 0 || val == null ) {
|
if ( val < 0 || val == null ) {
|
||||||
@@ -124,7 +140,7 @@ function getWidthOrHeight( elem, name, extra ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Computed unit is not pixels. Stop here and return.
|
// Computed unit is not pixels. Stop here and return.
|
||||||
if ( rnumnonpx.test(val) ) {
|
if ( rnumnonpx.test( val ) ) {
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,58 +165,7 @@ function getWidthOrHeight( elem, name, extra ) {
|
|||||||
) + "px";
|
) + "px";
|
||||||
}
|
}
|
||||||
|
|
||||||
function showHide( elements, show ) {
|
jQuery.extend( {
|
||||||
var display, elem, hidden,
|
|
||||||
values = [],
|
|
||||||
index = 0,
|
|
||||||
length = elements.length;
|
|
||||||
|
|
||||||
for ( ; index < length; index++ ) {
|
|
||||||
elem = elements[ index ];
|
|
||||||
if ( !elem.style ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
values[ index ] = data_priv.get( elem, "olddisplay" );
|
|
||||||
display = elem.style.display;
|
|
||||||
if ( show ) {
|
|
||||||
// Reset the inline display of this element to learn if it is
|
|
||||||
// being hidden by cascaded rules or not
|
|
||||||
if ( !values[ index ] && display === "none" ) {
|
|
||||||
elem.style.display = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set elements which have been overridden with display: none
|
|
||||||
// in a stylesheet to whatever the default browser style is
|
|
||||||
// for such an element
|
|
||||||
if ( elem.style.display === "" && isHidden( elem ) ) {
|
|
||||||
values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) );
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
hidden = isHidden( elem );
|
|
||||||
|
|
||||||
if ( display !== "none" || !hidden ) {
|
|
||||||
data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the display of most of the elements in a second loop
|
|
||||||
// to avoid the constant reflow
|
|
||||||
for ( index = 0; index < length; index++ ) {
|
|
||||||
elem = elements[ index ];
|
|
||||||
if ( !elem.style ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
|
|
||||||
elem.style.display = show ? values[ index ] || "" : "none";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return elements;
|
|
||||||
}
|
|
||||||
|
|
||||||
jQuery.extend({
|
|
||||||
|
|
||||||
// Add in style property hooks for overriding the default
|
// Add in style property hooks for overriding the default
|
||||||
// behavior of getting and setting a style property
|
// behavior of getting and setting a style property
|
||||||
@@ -219,6 +184,7 @@ jQuery.extend({
|
|||||||
|
|
||||||
// Don't automatically add "px" to these possibly-unitless properties
|
// Don't automatically add "px" to these possibly-unitless properties
|
||||||
cssNumber: {
|
cssNumber: {
|
||||||
|
"animationIterationCount": true,
|
||||||
"columnCount": true,
|
"columnCount": true,
|
||||||
"fillOpacity": true,
|
"fillOpacity": true,
|
||||||
"flexGrow": true,
|
"flexGrow": true,
|
||||||
@@ -252,7 +218,8 @@ jQuery.extend({
|
|||||||
origName = jQuery.camelCase( name ),
|
origName = jQuery.camelCase( name ),
|
||||||
style = elem.style;
|
style = elem.style;
|
||||||
|
|
||||||
name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );
|
name = jQuery.cssProps[ origName ] ||
|
||||||
|
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
|
||||||
|
|
||||||
// Gets hook for the prefixed version, then unprefixed version
|
// Gets hook for the prefixed version, then unprefixed version
|
||||||
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
|
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
|
||||||
@@ -262,8 +229,9 @@ jQuery.extend({
|
|||||||
type = typeof value;
|
type = typeof value;
|
||||||
|
|
||||||
// Convert "+=" or "-=" to relative numbers (#7345)
|
// Convert "+=" or "-=" to relative numbers (#7345)
|
||||||
if ( type === "string" && (ret = rrelNum.exec( value )) ) {
|
if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
|
||||||
value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );
|
value = adjustCSS( elem, name, ret );
|
||||||
|
|
||||||
// Fixes bug #9237
|
// Fixes bug #9237
|
||||||
type = "number";
|
type = "number";
|
||||||
}
|
}
|
||||||
@@ -273,25 +241,29 @@ jQuery.extend({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If a number, add 'px' to the (except for certain CSS properties)
|
// If a number was passed in, add the unit (except for certain CSS properties)
|
||||||
if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
|
if ( type === "number" ) {
|
||||||
value += "px";
|
value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Support: IE9-11+
|
|
||||||
// background-* props affect original clone's values
|
// background-* props affect original clone's values
|
||||||
if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
|
if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
|
||||||
style[ name ] = "inherit";
|
style[ name ] = "inherit";
|
||||||
}
|
}
|
||||||
|
|
||||||
// If a hook was provided, use that value, otherwise just set the specified value
|
// If a hook was provided, use that value, otherwise just set the specified value
|
||||||
if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
|
if ( !hooks || !( "set" in hooks ) ||
|
||||||
|
( value = hooks.set( elem, value, extra ) ) !== undefined ) {
|
||||||
|
|
||||||
style[ name ] = value;
|
style[ name ] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// If a hook was provided get the non-computed value from there
|
// If a hook was provided get the non-computed value from there
|
||||||
if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
|
if ( hooks && "get" in hooks &&
|
||||||
|
( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,7 +277,8 @@ jQuery.extend({
|
|||||||
origName = jQuery.camelCase( name );
|
origName = jQuery.camelCase( name );
|
||||||
|
|
||||||
// Make sure that we're working with the right name
|
// Make sure that we're working with the right name
|
||||||
name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );
|
name = jQuery.cssProps[ origName ] ||
|
||||||
|
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
|
||||||
|
|
||||||
// Try prefixed name followed by the unprefixed name
|
// Try prefixed name followed by the unprefixed name
|
||||||
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
|
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
|
||||||
@@ -328,54 +301,74 @@ jQuery.extend({
|
|||||||
// Make numeric if forced or a qualifier was provided and val looks numeric
|
// Make numeric if forced or a qualifier was provided and val looks numeric
|
||||||
if ( extra === "" || extra ) {
|
if ( extra === "" || extra ) {
|
||||||
num = parseFloat( val );
|
num = parseFloat( val );
|
||||||
return extra === true || jQuery.isNumeric( num ) ? num || 0 : val;
|
return extra === true || isFinite( num ) ? num || 0 : val;
|
||||||
}
|
}
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.each([ "height", "width" ], function( i, name ) {
|
jQuery.each( [ "height", "width" ], function( i, name ) {
|
||||||
jQuery.cssHooks[ name ] = {
|
jQuery.cssHooks[ name ] = {
|
||||||
get: function( elem, computed, extra ) {
|
get: function( elem, computed, extra ) {
|
||||||
if ( computed ) {
|
if ( computed ) {
|
||||||
|
|
||||||
// Certain elements can have dimension info if we invisibly show them
|
// Certain elements can have dimension info if we invisibly show them
|
||||||
// but it must have a current display style that would benefit
|
// but it must have a current display style that would benefit
|
||||||
return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ?
|
return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
|
||||||
jQuery.swap( elem, cssShow, function() {
|
|
||||||
return getWidthOrHeight( elem, name, extra );
|
// Support: Safari 8+
|
||||||
}) :
|
// Table columns in Safari have non-zero offsetWidth & zero
|
||||||
getWidthOrHeight( elem, name, extra );
|
// getBoundingClientRect().width unless display is changed.
|
||||||
|
// Support: IE <=11 only
|
||||||
|
// Running getBoundingClientRect on a disconnected node
|
||||||
|
// in IE throws an error.
|
||||||
|
( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
|
||||||
|
swap( elem, cssShow, function() {
|
||||||
|
return getWidthOrHeight( elem, name, extra );
|
||||||
|
} ) :
|
||||||
|
getWidthOrHeight( elem, name, extra );
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
set: function( elem, value, extra ) {
|
set: function( elem, value, extra ) {
|
||||||
var styles = extra && getStyles( elem );
|
var matches,
|
||||||
return setPositiveNumber( elem, value, extra ?
|
styles = extra && getStyles( elem ),
|
||||||
augmentWidthOrHeight(
|
subtract = extra && augmentWidthOrHeight(
|
||||||
elem,
|
elem,
|
||||||
name,
|
name,
|
||||||
extra,
|
extra,
|
||||||
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
|
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
|
||||||
styles
|
styles
|
||||||
) : 0
|
);
|
||||||
);
|
|
||||||
|
// Convert to pixels if value adjustment is needed
|
||||||
|
if ( subtract && ( matches = rcssNum.exec( value ) ) &&
|
||||||
|
( matches[ 3 ] || "px" ) !== "px" ) {
|
||||||
|
|
||||||
|
elem.style[ name ] = value;
|
||||||
|
value = jQuery.css( elem, name );
|
||||||
|
}
|
||||||
|
|
||||||
|
return setPositiveNumber( elem, value, subtract );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Support: Android 2.3
|
jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
|
||||||
jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
|
|
||||||
function( elem, computed ) {
|
function( elem, computed ) {
|
||||||
if ( computed ) {
|
if ( computed ) {
|
||||||
return jQuery.swap( elem, { "display": "inline-block" },
|
return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
|
||||||
curCSS, [ elem, "marginRight" ] );
|
elem.getBoundingClientRect().left -
|
||||||
|
swap( elem, { marginLeft: 0 }, function() {
|
||||||
|
return elem.getBoundingClientRect().left;
|
||||||
|
} )
|
||||||
|
) + "px";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
// These hooks are used by animate to expand properties
|
// These hooks are used by animate to expand properties
|
||||||
jQuery.each({
|
jQuery.each( {
|
||||||
margin: "",
|
margin: "",
|
||||||
padding: "",
|
padding: "",
|
||||||
border: "Width"
|
border: "Width"
|
||||||
@@ -386,7 +379,7 @@ jQuery.each({
|
|||||||
expanded = {},
|
expanded = {},
|
||||||
|
|
||||||
// Assumes a single number if not a string
|
// Assumes a single number if not a string
|
||||||
parts = typeof value === "string" ? value.split(" ") : [ value ];
|
parts = typeof value === "string" ? value.split( " " ) : [ value ];
|
||||||
|
|
||||||
for ( ; i < 4; i++ ) {
|
for ( ; i < 4; i++ ) {
|
||||||
expanded[ prefix + cssExpand[ i ] + suffix ] =
|
expanded[ prefix + cssExpand[ i ] + suffix ] =
|
||||||
@@ -400,9 +393,9 @@ jQuery.each({
|
|||||||
if ( !rmargin.test( prefix ) ) {
|
if ( !rmargin.test( prefix ) ) {
|
||||||
jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
|
jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend( {
|
||||||
css: function( name, value ) {
|
css: function( name, value ) {
|
||||||
return access( this, function( elem, name, value ) {
|
return access( this, function( elem, name, value ) {
|
||||||
var styles, len,
|
var styles, len,
|
||||||
@@ -424,27 +417,8 @@ jQuery.fn.extend({
|
|||||||
jQuery.style( elem, name, value ) :
|
jQuery.style( elem, name, value ) :
|
||||||
jQuery.css( elem, name );
|
jQuery.css( elem, name );
|
||||||
}, name, value, arguments.length > 1 );
|
}, name, value, arguments.length > 1 );
|
||||||
},
|
|
||||||
show: function() {
|
|
||||||
return showHide( this, true );
|
|
||||||
},
|
|
||||||
hide: function() {
|
|
||||||
return showHide( this );
|
|
||||||
},
|
|
||||||
toggle: function( state ) {
|
|
||||||
if ( typeof state === "boolean" ) {
|
|
||||||
return state ? this.show() : this.hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.each(function() {
|
|
||||||
if ( isHidden( this ) ) {
|
|
||||||
jQuery( this ).show();
|
|
||||||
} else {
|
|
||||||
jQuery( this ).hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
10
bower_components/jquery/src/css/addGetHookIf.js
vendored
10
bower_components/jquery/src/css/addGetHookIf.js
vendored
@@ -1,10 +1,14 @@
|
|||||||
define(function() {
|
define( function() {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
function addGetHookIf( conditionFn, hookFn ) {
|
function addGetHookIf( conditionFn, hookFn ) {
|
||||||
|
|
||||||
// Define the hook, we'll check on the first run if it's really needed.
|
// Define the hook, we'll check on the first run if it's really needed.
|
||||||
return {
|
return {
|
||||||
get: function() {
|
get: function() {
|
||||||
if ( conditionFn() ) {
|
if ( conditionFn() ) {
|
||||||
|
|
||||||
// Hook not needed (or it's not possible to use it due
|
// Hook not needed (or it's not possible to use it due
|
||||||
// to missing dependency), remove it.
|
// to missing dependency), remove it.
|
||||||
delete this.get;
|
delete this.get;
|
||||||
@@ -12,11 +16,11 @@ function addGetHookIf( conditionFn, hookFn ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Hook needed; redefine it so that the support test is not executed again.
|
// Hook needed; redefine it so that the support test is not executed again.
|
||||||
return (this.get = hookFn).apply( this, arguments );
|
return ( this.get = hookFn ).apply( this, arguments );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
return addGetHookIf;
|
return addGetHookIf;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
28
bower_components/jquery/src/css/curCSS.js
vendored
28
bower_components/jquery/src/css/curCSS.js
vendored
@@ -1,10 +1,13 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"./var/rnumnonpx",
|
"./var/rnumnonpx",
|
||||||
"./var/rmargin",
|
"./var/rmargin",
|
||||||
"./var/getStyles",
|
"./var/getStyles",
|
||||||
"../selector" // contains
|
"./support",
|
||||||
], function( jQuery, rnumnonpx, rmargin, getStyles ) {
|
"../selector" // Get jQuery.contains
|
||||||
|
], function( jQuery, rnumnonpx, rmargin, getStyles, support ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
function curCSS( elem, name, computed ) {
|
function curCSS( elem, name, computed ) {
|
||||||
var width, minWidth, maxWidth, ret,
|
var width, minWidth, maxWidth, ret,
|
||||||
@@ -12,23 +15,21 @@ function curCSS( elem, name, computed ) {
|
|||||||
|
|
||||||
computed = computed || getStyles( elem );
|
computed = computed || getStyles( elem );
|
||||||
|
|
||||||
// Support: IE9
|
// Support: IE <=9 only
|
||||||
// getPropertyValue is only needed for .css('filter') (#12537)
|
// getPropertyValue is only needed for .css('filter') (#12537)
|
||||||
if ( computed ) {
|
if ( computed ) {
|
||||||
ret = computed.getPropertyValue( name ) || computed[ name ];
|
ret = computed.getPropertyValue( name ) || computed[ name ];
|
||||||
}
|
|
||||||
|
|
||||||
if ( computed ) {
|
|
||||||
|
|
||||||
if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
|
if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
|
||||||
ret = jQuery.style( elem, name );
|
ret = jQuery.style( elem, name );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Support: iOS < 6
|
|
||||||
// A tribute to the "awesome hack by Dean Edwards"
|
// A tribute to the "awesome hack by Dean Edwards"
|
||||||
// iOS < 6 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
|
// Android Browser returns percentage for some values,
|
||||||
// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
|
// but width seems to be reliably pixels.
|
||||||
if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
|
// This is against the CSSOM draft spec:
|
||||||
|
// https://drafts.csswg.org/cssom/#resolved-values
|
||||||
|
if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
|
||||||
|
|
||||||
// Remember the original values
|
// Remember the original values
|
||||||
width = style.width;
|
width = style.width;
|
||||||
@@ -47,11 +48,12 @@ function curCSS( elem, name, computed ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return ret !== undefined ?
|
return ret !== undefined ?
|
||||||
// Support: IE
|
|
||||||
|
// Support: IE <=9 - 11 only
|
||||||
// IE returns zIndex value as an integer.
|
// IE returns zIndex value as an integer.
|
||||||
ret + "" :
|
ret + "" :
|
||||||
ret;
|
ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
return curCSS;
|
return curCSS;
|
||||||
});
|
} );
|
||||||
|
|||||||
@@ -1,70 +0,0 @@
|
|||||||
define([
|
|
||||||
"../core",
|
|
||||||
"../manipulation" // appendTo
|
|
||||||
], function( jQuery ) {
|
|
||||||
|
|
||||||
var iframe,
|
|
||||||
elemdisplay = {};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieve the actual display of a element
|
|
||||||
* @param {String} name nodeName of the element
|
|
||||||
* @param {Object} doc Document object
|
|
||||||
*/
|
|
||||||
// Called only from within defaultDisplay
|
|
||||||
function actualDisplay( name, doc ) {
|
|
||||||
var style,
|
|
||||||
elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
|
|
||||||
|
|
||||||
// getDefaultComputedStyle might be reliably used only on attached element
|
|
||||||
display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?
|
|
||||||
|
|
||||||
// Use of this method is a temporary fix (more like optimization) until something better comes along,
|
|
||||||
// since it was removed from specification and supported only in FF
|
|
||||||
style.display : jQuery.css( elem[ 0 ], "display" );
|
|
||||||
|
|
||||||
// We don't have any data stored on the element,
|
|
||||||
// so use "detach" method as fast way to get rid of the element
|
|
||||||
elem.detach();
|
|
||||||
|
|
||||||
return display;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Try to determine the default display value of an element
|
|
||||||
* @param {String} nodeName
|
|
||||||
*/
|
|
||||||
function defaultDisplay( nodeName ) {
|
|
||||||
var doc = document,
|
|
||||||
display = elemdisplay[ nodeName ];
|
|
||||||
|
|
||||||
if ( !display ) {
|
|
||||||
display = actualDisplay( nodeName, doc );
|
|
||||||
|
|
||||||
// If the simple way fails, read from inside an iframe
|
|
||||||
if ( display === "none" || !display ) {
|
|
||||||
|
|
||||||
// Use the already-created iframe if possible
|
|
||||||
iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement );
|
|
||||||
|
|
||||||
// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
|
|
||||||
doc = iframe[ 0 ].contentDocument;
|
|
||||||
|
|
||||||
// Support: IE
|
|
||||||
doc.write();
|
|
||||||
doc.close();
|
|
||||||
|
|
||||||
display = actualDisplay( nodeName, doc );
|
|
||||||
iframe.detach();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Store the correct default display
|
|
||||||
elemdisplay[ nodeName ] = display;
|
|
||||||
}
|
|
||||||
|
|
||||||
return display;
|
|
||||||
}
|
|
||||||
|
|
||||||
return defaultDisplay;
|
|
||||||
|
|
||||||
});
|
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../selector"
|
"../selector"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
jQuery.expr.filters.hidden = function( elem ) {
|
"use strict";
|
||||||
// Support: Opera <= 12.12
|
|
||||||
// Opera reports offsetWidths and offsetHeights less than zero on some elements
|
jQuery.expr.pseudos.hidden = function( elem ) {
|
||||||
return elem.offsetWidth <= 0 && elem.offsetHeight <= 0;
|
return !jQuery.expr.pseudos.visible( elem );
|
||||||
};
|
};
|
||||||
jQuery.expr.filters.visible = function( elem ) {
|
jQuery.expr.pseudos.visible = function( elem ) {
|
||||||
return !jQuery.expr.filters.hidden( elem );
|
return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
145
bower_components/jquery/src/css/support.js
vendored
145
bower_components/jquery/src/css/support.js
vendored
@@ -1,96 +1,89 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
|
"../var/document",
|
||||||
|
"../var/documentElement",
|
||||||
"../var/support"
|
"../var/support"
|
||||||
], function( jQuery, support ) {
|
], function( jQuery, document, documentElement, support ) {
|
||||||
|
|
||||||
(function() {
|
"use strict";
|
||||||
var pixelPositionVal, boxSizingReliableVal,
|
|
||||||
docElem = document.documentElement,
|
( function() {
|
||||||
|
|
||||||
|
// Executing both pixelPosition & boxSizingReliable tests require only one layout
|
||||||
|
// so they're executed at the same time to save the second computation.
|
||||||
|
function computeStyleTests() {
|
||||||
|
|
||||||
|
// This is a singleton, we need to execute it only once
|
||||||
|
if ( !div ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.style.cssText =
|
||||||
|
"box-sizing:border-box;" +
|
||||||
|
"position:relative;display:block;" +
|
||||||
|
"margin:auto;border:1px;padding:1px;" +
|
||||||
|
"top:1%;width:50%";
|
||||||
|
div.innerHTML = "";
|
||||||
|
documentElement.appendChild( container );
|
||||||
|
|
||||||
|
var divStyle = window.getComputedStyle( div );
|
||||||
|
pixelPositionVal = divStyle.top !== "1%";
|
||||||
|
|
||||||
|
// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
|
||||||
|
reliableMarginLeftVal = divStyle.marginLeft === "2px";
|
||||||
|
boxSizingReliableVal = divStyle.width === "4px";
|
||||||
|
|
||||||
|
// Support: Android 4.0 - 4.3 only
|
||||||
|
// Some styles come back with percentage values, even though they shouldn't
|
||||||
|
div.style.marginRight = "50%";
|
||||||
|
pixelMarginRightVal = divStyle.marginRight === "4px";
|
||||||
|
|
||||||
|
documentElement.removeChild( container );
|
||||||
|
|
||||||
|
// Nullify the div so it wouldn't be stored in the memory and
|
||||||
|
// it will also be a sign that checks already performed
|
||||||
|
div = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
|
||||||
container = document.createElement( "div" ),
|
container = document.createElement( "div" ),
|
||||||
div = document.createElement( "div" );
|
div = document.createElement( "div" );
|
||||||
|
|
||||||
|
// Finish early in limited (non-browser) environments
|
||||||
if ( !div.style ) {
|
if ( !div.style ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Support: IE9-11+
|
// Support: IE <=9 - 11 only
|
||||||
// Style of cloned element affects source element cloned (#8908)
|
// Style of cloned element affects source element cloned (#8908)
|
||||||
div.style.backgroundClip = "content-box";
|
div.style.backgroundClip = "content-box";
|
||||||
div.cloneNode( true ).style.backgroundClip = "";
|
div.cloneNode( true ).style.backgroundClip = "";
|
||||||
support.clearCloneStyle = div.style.backgroundClip === "content-box";
|
support.clearCloneStyle = div.style.backgroundClip === "content-box";
|
||||||
|
|
||||||
container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" +
|
container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
|
||||||
"position:absolute";
|
"padding:0;margin-top:1px;position:absolute";
|
||||||
container.appendChild( div );
|
container.appendChild( div );
|
||||||
|
|
||||||
// Executing both pixelPosition & boxSizingReliable tests require only one layout
|
jQuery.extend( support, {
|
||||||
// so they're executed at the same time to save the second computation.
|
pixelPosition: function() {
|
||||||
function computePixelPositionAndBoxSizingReliable() {
|
computeStyleTests();
|
||||||
div.style.cssText =
|
return pixelPositionVal;
|
||||||
// Support: Firefox<29, Android 2.3
|
},
|
||||||
// Vendor-prefix box-sizing
|
boxSizingReliable: function() {
|
||||||
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
|
computeStyleTests();
|
||||||
"box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
|
return boxSizingReliableVal;
|
||||||
"border:1px;padding:1px;width:4px;position:absolute";
|
},
|
||||||
div.innerHTML = "";
|
pixelMarginRight: function() {
|
||||||
docElem.appendChild( container );
|
computeStyleTests();
|
||||||
|
return pixelMarginRightVal;
|
||||||
var divStyle = window.getComputedStyle( div, null );
|
},
|
||||||
pixelPositionVal = divStyle.top !== "1%";
|
reliableMarginLeft: function() {
|
||||||
boxSizingReliableVal = divStyle.width === "4px";
|
computeStyleTests();
|
||||||
|
return reliableMarginLeftVal;
|
||||||
docElem.removeChild( container );
|
}
|
||||||
}
|
} );
|
||||||
|
} )();
|
||||||
// Support: node.js jsdom
|
|
||||||
// Don't assume that getComputedStyle is a property of the global object
|
|
||||||
if ( window.getComputedStyle ) {
|
|
||||||
jQuery.extend( support, {
|
|
||||||
pixelPosition: function() {
|
|
||||||
|
|
||||||
// This test is executed only once but we still do memoizing
|
|
||||||
// since we can use the boxSizingReliable pre-computing.
|
|
||||||
// No need to check if the test was already performed, though.
|
|
||||||
computePixelPositionAndBoxSizingReliable();
|
|
||||||
return pixelPositionVal;
|
|
||||||
},
|
|
||||||
boxSizingReliable: function() {
|
|
||||||
if ( boxSizingReliableVal == null ) {
|
|
||||||
computePixelPositionAndBoxSizingReliable();
|
|
||||||
}
|
|
||||||
return boxSizingReliableVal;
|
|
||||||
},
|
|
||||||
reliableMarginRight: function() {
|
|
||||||
|
|
||||||
// Support: Android 2.3
|
|
||||||
// Check if div with explicit width and no margin-right incorrectly
|
|
||||||
// gets computed margin-right based on width of container. (#3333)
|
|
||||||
// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
|
|
||||||
// This support function is only executed once so no memoizing is needed.
|
|
||||||
var ret,
|
|
||||||
marginDiv = div.appendChild( document.createElement( "div" ) );
|
|
||||||
|
|
||||||
// Reset CSS: box-sizing; display; margin; border; padding
|
|
||||||
marginDiv.style.cssText = div.style.cssText =
|
|
||||||
// Support: Firefox<29, Android 2.3
|
|
||||||
// Vendor-prefix box-sizing
|
|
||||||
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
|
|
||||||
"box-sizing:content-box;display:block;margin:0;border:0;padding:0";
|
|
||||||
marginDiv.style.marginRight = marginDiv.style.width = "0";
|
|
||||||
div.style.width = "1px";
|
|
||||||
docElem.appendChild( container );
|
|
||||||
|
|
||||||
ret = !parseFloat( window.getComputedStyle( marginDiv, null ).marginRight );
|
|
||||||
|
|
||||||
docElem.removeChild( container );
|
|
||||||
div.removeChild( marginDiv );
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
|
|
||||||
return support;
|
return support;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
28
bower_components/jquery/src/css/swap.js
vendored
28
bower_components/jquery/src/css/swap.js
vendored
@@ -1,28 +0,0 @@
|
|||||||
define([
|
|
||||||
"../core"
|
|
||||||
], function( jQuery ) {
|
|
||||||
|
|
||||||
// A method for quickly swapping in/out CSS properties to get correct calculations.
|
|
||||||
jQuery.swap = function( elem, options, callback, args ) {
|
|
||||||
var ret, name,
|
|
||||||
old = {};
|
|
||||||
|
|
||||||
// Remember the old values, and insert the new ones
|
|
||||||
for ( name in options ) {
|
|
||||||
old[ name ] = elem.style[ name ];
|
|
||||||
elem.style[ name ] = options[ name ];
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = callback.apply( elem, args || [] );
|
|
||||||
|
|
||||||
// Revert the old values
|
|
||||||
for ( name in options ) {
|
|
||||||
elem.style[ name ] = old[ name ];
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
};
|
|
||||||
|
|
||||||
return jQuery.swap;
|
|
||||||
|
|
||||||
});
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
define(function() {
|
define( function() {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
return [ "Top", "Right", "Bottom", "Left" ];
|
return [ "Top", "Right", "Bottom", "Left" ];
|
||||||
});
|
} );
|
||||||
|
|||||||
17
bower_components/jquery/src/css/var/getStyles.js
vendored
17
bower_components/jquery/src/css/var/getStyles.js
vendored
@@ -1,12 +1,17 @@
|
|||||||
define(function() {
|
define( function() {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
return function( elem ) {
|
return function( elem ) {
|
||||||
// Support: IE<=11+, Firefox<=30+ (#15098, #14150)
|
|
||||||
|
// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
|
||||||
// IE throws on elements created in popups
|
// IE throws on elements created in popups
|
||||||
// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
|
// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
|
||||||
if ( elem.ownerDocument.defaultView.opener ) {
|
var view = elem.ownerDocument.defaultView;
|
||||||
return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
|
|
||||||
|
if ( !view || !view.opener ) {
|
||||||
|
view = window;
|
||||||
}
|
}
|
||||||
|
|
||||||
return window.getComputedStyle( elem, null );
|
return view.getComputedStyle( elem );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|||||||
13
bower_components/jquery/src/css/var/isHidden.js
vendored
13
bower_components/jquery/src/css/var/isHidden.js
vendored
@@ -1,13 +0,0 @@
|
|||||||
define([
|
|
||||||
"../../core",
|
|
||||||
"../../selector"
|
|
||||||
// css is assumed
|
|
||||||
], function( jQuery ) {
|
|
||||||
|
|
||||||
return function( elem, el ) {
|
|
||||||
// isHidden might be called from jQuery#filter function;
|
|
||||||
// in that case, element will be second argument
|
|
||||||
elem = el || elem;
|
|
||||||
return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
|
|
||||||
};
|
|
||||||
});
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
define(function() {
|
define( function() {
|
||||||
return (/^margin/);
|
"use strict";
|
||||||
});
|
|
||||||
|
return ( /^margin/ );
|
||||||
|
} );
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
define([
|
define( [
|
||||||
"../../var/pnum"
|
"../../var/pnum"
|
||||||
], function( pnum ) {
|
], function( pnum ) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
|
return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
|
||||||
});
|
} );
|
||||||
|
|||||||
101
bower_components/jquery/src/data.js
vendored
101
bower_components/jquery/src/data.js
vendored
@@ -1,10 +1,11 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./var/rnotwhite",
|
|
||||||
"./core/access",
|
"./core/access",
|
||||||
"./data/var/data_priv",
|
"./data/var/dataPriv",
|
||||||
"./data/var/data_user"
|
"./data/var/dataUser"
|
||||||
], function( jQuery, rnotwhite, access, data_priv, data_user ) {
|
], function( jQuery, access, dataPriv, dataUser ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// Implementation Summary
|
// Implementation Summary
|
||||||
//
|
//
|
||||||
@@ -17,7 +18,7 @@ define([
|
|||||||
// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
|
// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
|
||||||
|
|
||||||
var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
|
var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
|
||||||
rmultiDash = /([A-Z])/g;
|
rmultiDash = /[A-Z]/g;
|
||||||
|
|
||||||
function dataAttr( elem, key, data ) {
|
function dataAttr( elem, key, data ) {
|
||||||
var name;
|
var name;
|
||||||
@@ -25,7 +26,7 @@ function dataAttr( elem, key, data ) {
|
|||||||
// If nothing was found internally, try to fetch any
|
// If nothing was found internally, try to fetch any
|
||||||
// data from the HTML5 data-* attribute
|
// data from the HTML5 data-* attribute
|
||||||
if ( data === undefined && elem.nodeType === 1 ) {
|
if ( data === undefined && elem.nodeType === 1 ) {
|
||||||
name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
|
name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
|
||||||
data = elem.getAttribute( name );
|
data = elem.getAttribute( name );
|
||||||
|
|
||||||
if ( typeof data === "string" ) {
|
if ( typeof data === "string" ) {
|
||||||
@@ -33,14 +34,15 @@ function dataAttr( elem, key, data ) {
|
|||||||
data = data === "true" ? true :
|
data = data === "true" ? true :
|
||||||
data === "false" ? false :
|
data === "false" ? false :
|
||||||
data === "null" ? null :
|
data === "null" ? null :
|
||||||
|
|
||||||
// Only convert to a number if it doesn't change the string
|
// Only convert to a number if it doesn't change the string
|
||||||
+data + "" === data ? +data :
|
+data + "" === data ? +data :
|
||||||
rbrace.test( data ) ? jQuery.parseJSON( data ) :
|
rbrace.test( data ) ? JSON.parse( data ) :
|
||||||
data;
|
data;
|
||||||
} catch( e ) {}
|
} catch ( e ) {}
|
||||||
|
|
||||||
// Make sure we set the data so it isn't changed later
|
// Make sure we set the data so it isn't changed later
|
||||||
data_user.set( elem, key, data );
|
dataUser.set( elem, key, data );
|
||||||
} else {
|
} else {
|
||||||
data = undefined;
|
data = undefined;
|
||||||
}
|
}
|
||||||
@@ -48,31 +50,31 @@ function dataAttr( elem, key, data ) {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery.extend({
|
jQuery.extend( {
|
||||||
hasData: function( elem ) {
|
hasData: function( elem ) {
|
||||||
return data_user.hasData( elem ) || data_priv.hasData( elem );
|
return dataUser.hasData( elem ) || dataPriv.hasData( elem );
|
||||||
},
|
},
|
||||||
|
|
||||||
data: function( elem, name, data ) {
|
data: function( elem, name, data ) {
|
||||||
return data_user.access( elem, name, data );
|
return dataUser.access( elem, name, data );
|
||||||
},
|
},
|
||||||
|
|
||||||
removeData: function( elem, name ) {
|
removeData: function( elem, name ) {
|
||||||
data_user.remove( elem, name );
|
dataUser.remove( elem, name );
|
||||||
},
|
},
|
||||||
|
|
||||||
// TODO: Now that all calls to _data and _removeData have been replaced
|
// TODO: Now that all calls to _data and _removeData have been replaced
|
||||||
// with direct calls to data_priv methods, these can be deprecated.
|
// with direct calls to dataPriv methods, these can be deprecated.
|
||||||
_data: function( elem, name, data ) {
|
_data: function( elem, name, data ) {
|
||||||
return data_priv.access( elem, name, data );
|
return dataPriv.access( elem, name, data );
|
||||||
},
|
},
|
||||||
|
|
||||||
_removeData: function( elem, name ) {
|
_removeData: function( elem, name ) {
|
||||||
data_priv.remove( elem, name );
|
dataPriv.remove( elem, name );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend( {
|
||||||
data: function( key, value ) {
|
data: function( key, value ) {
|
||||||
var i, name, data,
|
var i, name, data,
|
||||||
elem = this[ 0 ],
|
elem = this[ 0 ],
|
||||||
@@ -81,23 +83,23 @@ jQuery.fn.extend({
|
|||||||
// Gets all values
|
// Gets all values
|
||||||
if ( key === undefined ) {
|
if ( key === undefined ) {
|
||||||
if ( this.length ) {
|
if ( this.length ) {
|
||||||
data = data_user.get( elem );
|
data = dataUser.get( elem );
|
||||||
|
|
||||||
if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
|
if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
|
||||||
i = attrs.length;
|
i = attrs.length;
|
||||||
while ( i-- ) {
|
while ( i-- ) {
|
||||||
|
|
||||||
// Support: IE11+
|
// Support: IE 11 only
|
||||||
// The attrs elements can be null (#14894)
|
// The attrs elements can be null (#14894)
|
||||||
if ( attrs[ i ] ) {
|
if ( attrs[ i ] ) {
|
||||||
name = attrs[ i ].name;
|
name = attrs[ i ].name;
|
||||||
if ( name.indexOf( "data-" ) === 0 ) {
|
if ( name.indexOf( "data-" ) === 0 ) {
|
||||||
name = jQuery.camelCase( name.slice(5) );
|
name = jQuery.camelCase( name.slice( 5 ) );
|
||||||
dataAttr( elem, name, data[ name ] );
|
dataAttr( elem, name, data[ name ] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
data_priv.set( elem, "hasDataAttrs", true );
|
dataPriv.set( elem, "hasDataAttrs", true );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,14 +108,13 @@ jQuery.fn.extend({
|
|||||||
|
|
||||||
// Sets multiple values
|
// Sets multiple values
|
||||||
if ( typeof key === "object" ) {
|
if ( typeof key === "object" ) {
|
||||||
return this.each(function() {
|
return this.each( function() {
|
||||||
data_user.set( this, key );
|
dataUser.set( this, key );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
return access( this, function( value ) {
|
return access( this, function( value ) {
|
||||||
var data,
|
var data;
|
||||||
camelKey = jQuery.camelCase( key );
|
|
||||||
|
|
||||||
// The calling jQuery object (element matches) is not empty
|
// The calling jQuery object (element matches) is not empty
|
||||||
// (and therefore has an element appears at this[ 0 ]) and the
|
// (and therefore has an element appears at this[ 0 ]) and the
|
||||||
@@ -121,23 +122,17 @@ jQuery.fn.extend({
|
|||||||
// will result in `undefined` for elem = this[ 0 ] which will
|
// will result in `undefined` for elem = this[ 0 ] which will
|
||||||
// throw an exception if an attempt to read a data cache is made.
|
// throw an exception if an attempt to read a data cache is made.
|
||||||
if ( elem && value === undefined ) {
|
if ( elem && value === undefined ) {
|
||||||
// Attempt to get data from the cache
|
|
||||||
// with the key as-is
|
|
||||||
data = data_user.get( elem, key );
|
|
||||||
if ( data !== undefined ) {
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Attempt to get data from the cache
|
// Attempt to get data from the cache
|
||||||
// with the key camelized
|
// The key will always be camelCased in Data
|
||||||
data = data_user.get( elem, camelKey );
|
data = dataUser.get( elem, key );
|
||||||
if ( data !== undefined ) {
|
if ( data !== undefined ) {
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Attempt to "discover" the data in
|
// Attempt to "discover" the data in
|
||||||
// HTML5 custom data-* attrs
|
// HTML5 custom data-* attrs
|
||||||
data = dataAttr( elem, camelKey, undefined );
|
data = dataAttr( elem, key );
|
||||||
if ( data !== undefined ) {
|
if ( data !== undefined ) {
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@@ -147,32 +142,20 @@ jQuery.fn.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set the data...
|
// Set the data...
|
||||||
this.each(function() {
|
this.each( function() {
|
||||||
// First, attempt to store a copy or reference of any
|
|
||||||
// data that might've been store with a camelCased key.
|
|
||||||
var data = data_user.get( this, camelKey );
|
|
||||||
|
|
||||||
// For HTML5 data-* attribute interop, we have to
|
// We always store the camelCased key
|
||||||
// store property names with dashes in a camelCase form.
|
dataUser.set( this, key, value );
|
||||||
// This might not apply to all properties...*
|
} );
|
||||||
data_user.set( this, camelKey, value );
|
|
||||||
|
|
||||||
// *... In the case of properties that might _actually_
|
|
||||||
// have dashes, we need to also store a copy of that
|
|
||||||
// unchanged property.
|
|
||||||
if ( key.indexOf("-") !== -1 && data !== undefined ) {
|
|
||||||
data_user.set( this, key, value );
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, null, value, arguments.length > 1, null, true );
|
}, null, value, arguments.length > 1, null, true );
|
||||||
},
|
},
|
||||||
|
|
||||||
removeData: function( key ) {
|
removeData: function( key ) {
|
||||||
return this.each(function() {
|
return this.each( function() {
|
||||||
data_user.remove( this, key );
|
dataUser.remove( this, key );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
186
bower_components/jquery/src/data/Data.js
vendored
186
bower_components/jquery/src/data/Data.js
vendored
@@ -1,100 +1,80 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../var/rnotwhite",
|
"../var/rnotwhite",
|
||||||
"./accepts"
|
"./var/acceptData"
|
||||||
], function( jQuery, rnotwhite ) {
|
], function( jQuery, rnotwhite, acceptData ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
function Data() {
|
function Data() {
|
||||||
// Support: Android<4,
|
|
||||||
// Old WebKit does not have Object.preventExtensions/freeze method,
|
|
||||||
// return new empty object instead with no [[set]] accessor
|
|
||||||
Object.defineProperty( this.cache = {}, 0, {
|
|
||||||
get: function() {
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
this.expando = jQuery.expando + Data.uid++;
|
this.expando = jQuery.expando + Data.uid++;
|
||||||
}
|
}
|
||||||
|
|
||||||
Data.uid = 1;
|
Data.uid = 1;
|
||||||
Data.accepts = jQuery.acceptData;
|
|
||||||
|
|
||||||
Data.prototype = {
|
Data.prototype = {
|
||||||
key: function( owner ) {
|
|
||||||
// We can accept data for non-element nodes in modern browsers,
|
|
||||||
// but we should not, see #8335.
|
|
||||||
// Always return the key for a frozen object.
|
|
||||||
if ( !Data.accepts( owner ) ) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
var descriptor = {},
|
cache: function( owner ) {
|
||||||
// Check if the owner object already has a cache key
|
|
||||||
unlock = owner[ this.expando ];
|
// Check if the owner object already has a cache
|
||||||
|
var value = owner[ this.expando ];
|
||||||
|
|
||||||
// If not, create one
|
// If not, create one
|
||||||
if ( !unlock ) {
|
if ( !value ) {
|
||||||
unlock = Data.uid++;
|
value = {};
|
||||||
|
|
||||||
// Secure it in a non-enumerable, non-writable property
|
// We can accept data for non-element nodes in modern browsers,
|
||||||
try {
|
// but we should not, see #8335.
|
||||||
descriptor[ this.expando ] = { value: unlock };
|
// Always return an empty object.
|
||||||
Object.defineProperties( owner, descriptor );
|
if ( acceptData( owner ) ) {
|
||||||
|
|
||||||
// Support: Android<4
|
// If it is a node unlikely to be stringify-ed or looped over
|
||||||
// Fallback to a less secure definition
|
// use plain assignment
|
||||||
} catch ( e ) {
|
if ( owner.nodeType ) {
|
||||||
descriptor[ this.expando ] = unlock;
|
owner[ this.expando ] = value;
|
||||||
jQuery.extend( owner, descriptor );
|
|
||||||
|
// Otherwise secure it in a non-enumerable property
|
||||||
|
// configurable must be true to allow the property to be
|
||||||
|
// deleted when data is removed
|
||||||
|
} else {
|
||||||
|
Object.defineProperty( owner, this.expando, {
|
||||||
|
value: value,
|
||||||
|
configurable: true
|
||||||
|
} );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure the cache object
|
return value;
|
||||||
if ( !this.cache[ unlock ] ) {
|
|
||||||
this.cache[ unlock ] = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
return unlock;
|
|
||||||
},
|
},
|
||||||
set: function( owner, data, value ) {
|
set: function( owner, data, value ) {
|
||||||
var prop,
|
var prop,
|
||||||
// There may be an unlock assigned to this node,
|
cache = this.cache( owner );
|
||||||
// if there is no entry for this "owner", create one inline
|
|
||||||
// and set the unlock as though an owner entry had always existed
|
|
||||||
unlock = this.key( owner ),
|
|
||||||
cache = this.cache[ unlock ];
|
|
||||||
|
|
||||||
// Handle: [ owner, key, value ] args
|
// Handle: [ owner, key, value ] args
|
||||||
|
// Always use camelCase key (gh-2257)
|
||||||
if ( typeof data === "string" ) {
|
if ( typeof data === "string" ) {
|
||||||
cache[ data ] = value;
|
cache[ jQuery.camelCase( data ) ] = value;
|
||||||
|
|
||||||
// Handle: [ owner, { properties } ] args
|
// Handle: [ owner, { properties } ] args
|
||||||
} else {
|
} else {
|
||||||
// Fresh assignments by object are shallow copied
|
|
||||||
if ( jQuery.isEmptyObject( cache ) ) {
|
// Copy the properties one-by-one to the cache object
|
||||||
jQuery.extend( this.cache[ unlock ], data );
|
for ( prop in data ) {
|
||||||
// Otherwise, copy the properties one-by-one to the cache object
|
cache[ jQuery.camelCase( prop ) ] = data[ prop ];
|
||||||
} else {
|
|
||||||
for ( prop in data ) {
|
|
||||||
cache[ prop ] = data[ prop ];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return cache;
|
return cache;
|
||||||
},
|
},
|
||||||
get: function( owner, key ) {
|
get: function( owner, key ) {
|
||||||
// Either a valid cache is found, or will be created.
|
|
||||||
// New caches will be created and the unlock returned,
|
|
||||||
// allowing direct access to the newly created
|
|
||||||
// empty data object. A valid owner object must be provided.
|
|
||||||
var cache = this.cache[ this.key( owner ) ];
|
|
||||||
|
|
||||||
return key === undefined ?
|
return key === undefined ?
|
||||||
cache : cache[ key ];
|
this.cache( owner ) :
|
||||||
|
|
||||||
|
// Always use camelCase key (gh-2257)
|
||||||
|
owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
|
||||||
},
|
},
|
||||||
access: function( owner, key, value ) {
|
access: function( owner, key, value ) {
|
||||||
var stored;
|
|
||||||
// In cases where either:
|
// In cases where either:
|
||||||
//
|
//
|
||||||
// 1. No key was specified
|
// 1. No key was specified
|
||||||
@@ -107,15 +87,12 @@ Data.prototype = {
|
|||||||
// 2. The data stored at the key
|
// 2. The data stored at the key
|
||||||
//
|
//
|
||||||
if ( key === undefined ||
|
if ( key === undefined ||
|
||||||
((key && typeof key === "string") && value === undefined) ) {
|
( ( key && typeof key === "string" ) && value === undefined ) ) {
|
||||||
|
|
||||||
stored = this.get( owner, key );
|
return this.get( owner, key );
|
||||||
|
|
||||||
return stored !== undefined ?
|
|
||||||
stored : this.get( owner, jQuery.camelCase(key) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// [*]When the key is not a string, or both a key and value
|
// When the key is not a string, or both a key and value
|
||||||
// are specified, set or extend (existing objects) with either:
|
// are specified, set or extend (existing objects) with either:
|
||||||
//
|
//
|
||||||
// 1. An object of properties
|
// 1. An object of properties
|
||||||
@@ -128,54 +105,57 @@ Data.prototype = {
|
|||||||
return value !== undefined ? value : key;
|
return value !== undefined ? value : key;
|
||||||
},
|
},
|
||||||
remove: function( owner, key ) {
|
remove: function( owner, key ) {
|
||||||
var i, name, camel,
|
var i,
|
||||||
unlock = this.key( owner ),
|
cache = owner[ this.expando ];
|
||||||
cache = this.cache[ unlock ];
|
|
||||||
|
|
||||||
if ( key === undefined ) {
|
if ( cache === undefined ) {
|
||||||
this.cache[ unlock ] = {};
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( key !== undefined ) {
|
||||||
|
|
||||||
} else {
|
|
||||||
// Support array or space separated string of keys
|
// Support array or space separated string of keys
|
||||||
if ( jQuery.isArray( key ) ) {
|
if ( jQuery.isArray( key ) ) {
|
||||||
// If "name" is an array of keys...
|
|
||||||
// When data is initially created, via ("key", "val") signature,
|
// If key is an array of keys...
|
||||||
// keys will be converted to camelCase.
|
// We always set camelCase keys, so remove that.
|
||||||
// Since there is no way to tell _how_ a key was added, remove
|
key = key.map( jQuery.camelCase );
|
||||||
// both plain key and camelCase key. #12786
|
|
||||||
// This will only penalize the array argument path.
|
|
||||||
name = key.concat( key.map( jQuery.camelCase ) );
|
|
||||||
} else {
|
} else {
|
||||||
camel = jQuery.camelCase( key );
|
key = jQuery.camelCase( key );
|
||||||
// Try the string as a key before any manipulation
|
|
||||||
if ( key in cache ) {
|
// If a key with the spaces exists, use it.
|
||||||
name = [ key, camel ];
|
// Otherwise, create an array by matching non-whitespace
|
||||||
} else {
|
key = key in cache ?
|
||||||
// If a key with the spaces exists, use it.
|
[ key ] :
|
||||||
// Otherwise, create an array by matching non-whitespace
|
( key.match( rnotwhite ) || [] );
|
||||||
name = camel;
|
|
||||||
name = name in cache ?
|
|
||||||
[ name ] : ( name.match( rnotwhite ) || [] );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
i = name.length;
|
i = key.length;
|
||||||
|
|
||||||
while ( i-- ) {
|
while ( i-- ) {
|
||||||
delete cache[ name[ i ] ];
|
delete cache[ key[ i ] ];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove the expando if there's no more data
|
||||||
|
if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
|
||||||
|
|
||||||
|
// Support: Chrome <=35 - 45
|
||||||
|
// Webkit & Blink performance suffers when deleting properties
|
||||||
|
// from DOM nodes, so set to undefined instead
|
||||||
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
|
||||||
|
if ( owner.nodeType ) {
|
||||||
|
owner[ this.expando ] = undefined;
|
||||||
|
} else {
|
||||||
|
delete owner[ this.expando ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
hasData: function( owner ) {
|
hasData: function( owner ) {
|
||||||
return !jQuery.isEmptyObject(
|
var cache = owner[ this.expando ];
|
||||||
this.cache[ owner[ this.expando ] ] || {}
|
return cache !== undefined && !jQuery.isEmptyObject( cache );
|
||||||
);
|
|
||||||
},
|
|
||||||
discard: function( owner ) {
|
|
||||||
if ( owner[ this.expando ] ) {
|
|
||||||
delete this.cache[ owner[ this.expando ] ];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return Data;
|
return Data;
|
||||||
});
|
} );
|
||||||
|
|||||||
20
bower_components/jquery/src/data/accepts.js
vendored
20
bower_components/jquery/src/data/accepts.js
vendored
@@ -1,20 +0,0 @@
|
|||||||
define([
|
|
||||||
"../core"
|
|
||||||
], function( jQuery ) {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines whether an object can have data
|
|
||||||
*/
|
|
||||||
jQuery.acceptData = function( owner ) {
|
|
||||||
// Accepts only:
|
|
||||||
// - Node
|
|
||||||
// - Node.ELEMENT_NODE
|
|
||||||
// - Node.DOCUMENT_NODE
|
|
||||||
// - Object
|
|
||||||
// - Any
|
|
||||||
/* jshint -W018 */
|
|
||||||
return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
|
|
||||||
};
|
|
||||||
|
|
||||||
return jQuery.acceptData;
|
|
||||||
});
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
define([
|
|
||||||
"../Data"
|
|
||||||
], function( Data ) {
|
|
||||||
return new Data();
|
|
||||||
});
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
define([
|
|
||||||
"../Data"
|
|
||||||
], function( Data ) {
|
|
||||||
return new Data();
|
|
||||||
});
|
|
||||||
382
bower_components/jquery/src/deferred.js
vendored
382
bower_components/jquery/src/deferred.js
vendored
@@ -1,17 +1,63 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./var/slice",
|
"./var/slice",
|
||||||
"./callbacks"
|
"./callbacks"
|
||||||
], function( jQuery, slice ) {
|
], function( jQuery, slice ) {
|
||||||
|
|
||||||
jQuery.extend({
|
"use strict";
|
||||||
|
|
||||||
|
function Identity( v ) {
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
function Thrower( ex ) {
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
|
||||||
|
function adoptValue( value, resolve, reject ) {
|
||||||
|
var method;
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
// Check for promise aspect first to privilege synchronous behavior
|
||||||
|
if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {
|
||||||
|
method.call( value ).done( resolve ).fail( reject );
|
||||||
|
|
||||||
|
// Other thenables
|
||||||
|
} else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {
|
||||||
|
method.call( value, resolve, reject );
|
||||||
|
|
||||||
|
// Other non-thenables
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// Support: Android 4.0 only
|
||||||
|
// Strict mode functions invoked without .call/.apply get global-object context
|
||||||
|
resolve.call( undefined, value );
|
||||||
|
}
|
||||||
|
|
||||||
|
// For Promises/A+, convert exceptions into rejections
|
||||||
|
// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
|
||||||
|
// Deferred#then to conditionally suppress rejection.
|
||||||
|
} catch ( value ) {
|
||||||
|
|
||||||
|
// Support: Android 4.0 only
|
||||||
|
// Strict mode functions invoked without .call/.apply get global-object context
|
||||||
|
reject.call( undefined, value );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery.extend( {
|
||||||
|
|
||||||
Deferred: function( func ) {
|
Deferred: function( func ) {
|
||||||
var tuples = [
|
var tuples = [
|
||||||
// action, add listener, listener list, final state
|
|
||||||
[ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
|
// action, add listener, callbacks,
|
||||||
[ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
|
// ... .then handlers, argument index, [final state]
|
||||||
[ "notify", "progress", jQuery.Callbacks("memory") ]
|
[ "notify", "progress", jQuery.Callbacks( "memory" ),
|
||||||
|
jQuery.Callbacks( "memory" ), 2 ],
|
||||||
|
[ "resolve", "done", jQuery.Callbacks( "once memory" ),
|
||||||
|
jQuery.Callbacks( "once memory" ), 0, "resolved" ],
|
||||||
|
[ "reject", "fail", jQuery.Callbacks( "once memory" ),
|
||||||
|
jQuery.Callbacks( "once memory" ), 1, "rejected" ]
|
||||||
],
|
],
|
||||||
state = "pending",
|
state = "pending",
|
||||||
promise = {
|
promise = {
|
||||||
@@ -22,27 +68,206 @@ jQuery.extend({
|
|||||||
deferred.done( arguments ).fail( arguments );
|
deferred.done( arguments ).fail( arguments );
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
then: function( /* fnDone, fnFail, fnProgress */ ) {
|
"catch": function( fn ) {
|
||||||
|
return promise.then( null, fn );
|
||||||
|
},
|
||||||
|
|
||||||
|
// Keep pipe for back-compat
|
||||||
|
pipe: function( /* fnDone, fnFail, fnProgress */ ) {
|
||||||
var fns = arguments;
|
var fns = arguments;
|
||||||
return jQuery.Deferred(function( newDefer ) {
|
|
||||||
|
return jQuery.Deferred( function( newDefer ) {
|
||||||
jQuery.each( tuples, function( i, tuple ) {
|
jQuery.each( tuples, function( i, tuple ) {
|
||||||
var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
|
|
||||||
// deferred[ done | fail | progress ] for forwarding actions to newDefer
|
// Map tuples (progress, done, fail) to arguments (done, fail, progress)
|
||||||
deferred[ tuple[1] ](function() {
|
var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
|
||||||
|
|
||||||
|
// deferred.progress(function() { bind to newDefer or newDefer.notify })
|
||||||
|
// deferred.done(function() { bind to newDefer or newDefer.resolve })
|
||||||
|
// deferred.fail(function() { bind to newDefer or newDefer.reject })
|
||||||
|
deferred[ tuple[ 1 ] ]( function() {
|
||||||
var returned = fn && fn.apply( this, arguments );
|
var returned = fn && fn.apply( this, arguments );
|
||||||
if ( returned && jQuery.isFunction( returned.promise ) ) {
|
if ( returned && jQuery.isFunction( returned.promise ) ) {
|
||||||
returned.promise()
|
returned.promise()
|
||||||
|
.progress( newDefer.notify )
|
||||||
.done( newDefer.resolve )
|
.done( newDefer.resolve )
|
||||||
.fail( newDefer.reject )
|
.fail( newDefer.reject );
|
||||||
.progress( newDefer.notify );
|
|
||||||
} else {
|
} else {
|
||||||
newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
|
newDefer[ tuple[ 0 ] + "With" ](
|
||||||
|
this,
|
||||||
|
fn ? [ returned ] : arguments
|
||||||
|
);
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
});
|
} );
|
||||||
fns = null;
|
fns = null;
|
||||||
}).promise();
|
} ).promise();
|
||||||
},
|
},
|
||||||
|
then: function( onFulfilled, onRejected, onProgress ) {
|
||||||
|
var maxDepth = 0;
|
||||||
|
function resolve( depth, deferred, handler, special ) {
|
||||||
|
return function() {
|
||||||
|
var that = this,
|
||||||
|
args = arguments,
|
||||||
|
mightThrow = function() {
|
||||||
|
var returned, then;
|
||||||
|
|
||||||
|
// Support: Promises/A+ section 2.3.3.3.3
|
||||||
|
// https://promisesaplus.com/#point-59
|
||||||
|
// Ignore double-resolution attempts
|
||||||
|
if ( depth < maxDepth ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
returned = handler.apply( that, args );
|
||||||
|
|
||||||
|
// Support: Promises/A+ section 2.3.1
|
||||||
|
// https://promisesaplus.com/#point-48
|
||||||
|
if ( returned === deferred.promise() ) {
|
||||||
|
throw new TypeError( "Thenable self-resolution" );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Support: Promises/A+ sections 2.3.3.1, 3.5
|
||||||
|
// https://promisesaplus.com/#point-54
|
||||||
|
// https://promisesaplus.com/#point-75
|
||||||
|
// Retrieve `then` only once
|
||||||
|
then = returned &&
|
||||||
|
|
||||||
|
// Support: Promises/A+ section 2.3.4
|
||||||
|
// https://promisesaplus.com/#point-64
|
||||||
|
// Only check objects and functions for thenability
|
||||||
|
( typeof returned === "object" ||
|
||||||
|
typeof returned === "function" ) &&
|
||||||
|
returned.then;
|
||||||
|
|
||||||
|
// Handle a returned thenable
|
||||||
|
if ( jQuery.isFunction( then ) ) {
|
||||||
|
|
||||||
|
// Special processors (notify) just wait for resolution
|
||||||
|
if ( special ) {
|
||||||
|
then.call(
|
||||||
|
returned,
|
||||||
|
resolve( maxDepth, deferred, Identity, special ),
|
||||||
|
resolve( maxDepth, deferred, Thrower, special )
|
||||||
|
);
|
||||||
|
|
||||||
|
// Normal processors (resolve) also hook into progress
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// ...and disregard older resolution values
|
||||||
|
maxDepth++;
|
||||||
|
|
||||||
|
then.call(
|
||||||
|
returned,
|
||||||
|
resolve( maxDepth, deferred, Identity, special ),
|
||||||
|
resolve( maxDepth, deferred, Thrower, special ),
|
||||||
|
resolve( maxDepth, deferred, Identity,
|
||||||
|
deferred.notifyWith )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle all other returned values
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// Only substitute handlers pass on context
|
||||||
|
// and multiple values (non-spec behavior)
|
||||||
|
if ( handler !== Identity ) {
|
||||||
|
that = undefined;
|
||||||
|
args = [ returned ];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process the value(s)
|
||||||
|
// Default process is resolve
|
||||||
|
( special || deferred.resolveWith )( that, args );
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Only normal processors (resolve) catch and reject exceptions
|
||||||
|
process = special ?
|
||||||
|
mightThrow :
|
||||||
|
function() {
|
||||||
|
try {
|
||||||
|
mightThrow();
|
||||||
|
} catch ( e ) {
|
||||||
|
|
||||||
|
if ( jQuery.Deferred.exceptionHook ) {
|
||||||
|
jQuery.Deferred.exceptionHook( e,
|
||||||
|
process.stackTrace );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Support: Promises/A+ section 2.3.3.3.4.1
|
||||||
|
// https://promisesaplus.com/#point-61
|
||||||
|
// Ignore post-resolution exceptions
|
||||||
|
if ( depth + 1 >= maxDepth ) {
|
||||||
|
|
||||||
|
// Only substitute handlers pass on context
|
||||||
|
// and multiple values (non-spec behavior)
|
||||||
|
if ( handler !== Thrower ) {
|
||||||
|
that = undefined;
|
||||||
|
args = [ e ];
|
||||||
|
}
|
||||||
|
|
||||||
|
deferred.rejectWith( that, args );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Support: Promises/A+ section 2.3.3.3.1
|
||||||
|
// https://promisesaplus.com/#point-57
|
||||||
|
// Re-resolve promises immediately to dodge false rejection from
|
||||||
|
// subsequent errors
|
||||||
|
if ( depth ) {
|
||||||
|
process();
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// Call an optional hook to record the stack, in case of exception
|
||||||
|
// since it's otherwise lost when execution goes async
|
||||||
|
if ( jQuery.Deferred.getStackHook ) {
|
||||||
|
process.stackTrace = jQuery.Deferred.getStackHook();
|
||||||
|
}
|
||||||
|
window.setTimeout( process );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return jQuery.Deferred( function( newDefer ) {
|
||||||
|
|
||||||
|
// progress_handlers.add( ... )
|
||||||
|
tuples[ 0 ][ 3 ].add(
|
||||||
|
resolve(
|
||||||
|
0,
|
||||||
|
newDefer,
|
||||||
|
jQuery.isFunction( onProgress ) ?
|
||||||
|
onProgress :
|
||||||
|
Identity,
|
||||||
|
newDefer.notifyWith
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// fulfilled_handlers.add( ... )
|
||||||
|
tuples[ 1 ][ 3 ].add(
|
||||||
|
resolve(
|
||||||
|
0,
|
||||||
|
newDefer,
|
||||||
|
jQuery.isFunction( onFulfilled ) ?
|
||||||
|
onFulfilled :
|
||||||
|
Identity
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// rejected_handlers.add( ... )
|
||||||
|
tuples[ 2 ][ 3 ].add(
|
||||||
|
resolve(
|
||||||
|
0,
|
||||||
|
newDefer,
|
||||||
|
jQuery.isFunction( onRejected ) ?
|
||||||
|
onRejected :
|
||||||
|
Thrower
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} ).promise();
|
||||||
|
},
|
||||||
|
|
||||||
// Get a promise for this deferred
|
// Get a promise for this deferred
|
||||||
// If obj is provided, the promise aspect is added to the object
|
// If obj is provided, the promise aspect is added to the object
|
||||||
promise: function( obj ) {
|
promise: function( obj ) {
|
||||||
@@ -51,34 +276,53 @@ jQuery.extend({
|
|||||||
},
|
},
|
||||||
deferred = {};
|
deferred = {};
|
||||||
|
|
||||||
// Keep pipe for back-compat
|
|
||||||
promise.pipe = promise.then;
|
|
||||||
|
|
||||||
// Add list-specific methods
|
// Add list-specific methods
|
||||||
jQuery.each( tuples, function( i, tuple ) {
|
jQuery.each( tuples, function( i, tuple ) {
|
||||||
var list = tuple[ 2 ],
|
var list = tuple[ 2 ],
|
||||||
stateString = tuple[ 3 ];
|
stateString = tuple[ 5 ];
|
||||||
|
|
||||||
// promise[ done | fail | progress ] = list.add
|
// promise.progress = list.add
|
||||||
promise[ tuple[1] ] = list.add;
|
// promise.done = list.add
|
||||||
|
// promise.fail = list.add
|
||||||
|
promise[ tuple[ 1 ] ] = list.add;
|
||||||
|
|
||||||
// Handle state
|
// Handle state
|
||||||
if ( stateString ) {
|
if ( stateString ) {
|
||||||
list.add(function() {
|
list.add(
|
||||||
// state = [ resolved | rejected ]
|
function() {
|
||||||
state = stateString;
|
|
||||||
|
|
||||||
// [ reject_list | resolve_list ].disable; progress_list.lock
|
// state = "resolved" (i.e., fulfilled)
|
||||||
}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
|
// state = "rejected"
|
||||||
|
state = stateString;
|
||||||
|
},
|
||||||
|
|
||||||
|
// rejected_callbacks.disable
|
||||||
|
// fulfilled_callbacks.disable
|
||||||
|
tuples[ 3 - i ][ 2 ].disable,
|
||||||
|
|
||||||
|
// progress_callbacks.lock
|
||||||
|
tuples[ 0 ][ 2 ].lock
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// deferred[ resolve | reject | notify ]
|
// progress_handlers.fire
|
||||||
deferred[ tuple[0] ] = function() {
|
// fulfilled_handlers.fire
|
||||||
deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
|
// rejected_handlers.fire
|
||||||
|
list.add( tuple[ 3 ].fire );
|
||||||
|
|
||||||
|
// deferred.notify = function() { deferred.notifyWith(...) }
|
||||||
|
// deferred.resolve = function() { deferred.resolveWith(...) }
|
||||||
|
// deferred.reject = function() { deferred.rejectWith(...) }
|
||||||
|
deferred[ tuple[ 0 ] ] = function() {
|
||||||
|
deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
|
||||||
return this;
|
return this;
|
||||||
};
|
};
|
||||||
deferred[ tuple[0] + "With" ] = list.fireWith;
|
|
||||||
});
|
// deferred.notifyWith = list.fireWith
|
||||||
|
// deferred.resolveWith = list.fireWith
|
||||||
|
// deferred.rejectWith = list.fireWith
|
||||||
|
deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
|
||||||
|
} );
|
||||||
|
|
||||||
// Make the deferred a promise
|
// Make the deferred a promise
|
||||||
promise.promise( deferred );
|
promise.promise( deferred );
|
||||||
@@ -93,57 +337,53 @@ jQuery.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
// Deferred helper
|
// Deferred helper
|
||||||
when: function( subordinate /* , ..., subordinateN */ ) {
|
when: function( singleValue ) {
|
||||||
var i = 0,
|
var
|
||||||
|
|
||||||
|
// count of uncompleted subordinates
|
||||||
|
remaining = arguments.length,
|
||||||
|
|
||||||
|
// count of unprocessed arguments
|
||||||
|
i = remaining,
|
||||||
|
|
||||||
|
// subordinate fulfillment data
|
||||||
|
resolveContexts = Array( i ),
|
||||||
resolveValues = slice.call( arguments ),
|
resolveValues = slice.call( arguments ),
|
||||||
length = resolveValues.length,
|
|
||||||
|
|
||||||
// the count of uncompleted subordinates
|
// the master Deferred
|
||||||
remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
|
master = jQuery.Deferred(),
|
||||||
|
|
||||||
// the master Deferred. If resolveValues consist of only a single Deferred, just use that.
|
// subordinate callback factory
|
||||||
deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
|
updateFunc = function( i ) {
|
||||||
|
|
||||||
// Update function for both resolve and progress values
|
|
||||||
updateFunc = function( i, contexts, values ) {
|
|
||||||
return function( value ) {
|
return function( value ) {
|
||||||
contexts[ i ] = this;
|
resolveContexts[ i ] = this;
|
||||||
values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
|
resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
|
||||||
if ( values === progressValues ) {
|
if ( !( --remaining ) ) {
|
||||||
deferred.notifyWith( contexts, values );
|
master.resolveWith( resolveContexts, resolveValues );
|
||||||
} else if ( !( --remaining ) ) {
|
|
||||||
deferred.resolveWith( contexts, values );
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
};
|
||||||
|
|
||||||
progressValues, progressContexts, resolveContexts;
|
// Single- and empty arguments are adopted like Promise.resolve
|
||||||
|
if ( remaining <= 1 ) {
|
||||||
|
adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject );
|
||||||
|
|
||||||
// Add listeners to Deferred subordinates; treat others as resolved
|
// Use .then() to unwrap secondary thenables (cf. gh-3000)
|
||||||
if ( length > 1 ) {
|
if ( master.state() === "pending" ||
|
||||||
progressValues = new Array( length );
|
jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
|
||||||
progressContexts = new Array( length );
|
|
||||||
resolveContexts = new Array( length );
|
return master.then();
|
||||||
for ( ; i < length; i++ ) {
|
|
||||||
if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
|
|
||||||
resolveValues[ i ].promise()
|
|
||||||
.done( updateFunc( i, resolveContexts, resolveValues ) )
|
|
||||||
.fail( deferred.reject )
|
|
||||||
.progress( updateFunc( i, progressContexts, progressValues ) );
|
|
||||||
} else {
|
|
||||||
--remaining;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we're not waiting on anything, resolve the master
|
// Multiple arguments are aggregated like Promise.all array elements
|
||||||
if ( !remaining ) {
|
while ( i-- ) {
|
||||||
deferred.resolveWith( resolveContexts, resolveValues );
|
adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
|
||||||
}
|
}
|
||||||
|
|
||||||
return deferred.promise();
|
return master.promise();
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
35
bower_components/jquery/src/deprecated.js
vendored
35
bower_components/jquery/src/deprecated.js
vendored
@@ -1,13 +1,30 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core"
|
||||||
"./traversing"
|
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
// The number of elements contained in the matched element set
|
"use strict";
|
||||||
jQuery.fn.size = function() {
|
|
||||||
return this.length;
|
|
||||||
};
|
|
||||||
|
|
||||||
jQuery.fn.andSelf = jQuery.fn.addBack;
|
jQuery.fn.extend( {
|
||||||
|
|
||||||
});
|
bind: function( types, data, fn ) {
|
||||||
|
return this.on( types, null, data, fn );
|
||||||
|
},
|
||||||
|
unbind: function( types, fn ) {
|
||||||
|
return this.off( types, null, fn );
|
||||||
|
},
|
||||||
|
|
||||||
|
delegate: function( selector, types, data, fn ) {
|
||||||
|
return this.on( types, selector, data, fn );
|
||||||
|
},
|
||||||
|
undelegate: function( selector, types, fn ) {
|
||||||
|
|
||||||
|
// ( namespace ) or ( selector, types [, fn] )
|
||||||
|
return arguments.length === 1 ?
|
||||||
|
this.off( selector, "**" ) :
|
||||||
|
this.off( types, selector || "**", fn );
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
jQuery.parseJSON = JSON.parse;
|
||||||
|
|
||||||
|
} );
|
||||||
|
|||||||
26
bower_components/jquery/src/dimensions.js
vendored
26
bower_components/jquery/src/dimensions.js
vendored
@@ -1,12 +1,16 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./core/access",
|
"./core/access",
|
||||||
"./css"
|
"./css"
|
||||||
], function( jQuery, access ) {
|
], function( jQuery, access ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
|
// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
|
||||||
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
|
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
|
||||||
jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) {
|
jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
|
||||||
|
function( defaultExtra, funcName ) {
|
||||||
|
|
||||||
// Margin is only for outerHeight, outerWidth
|
// Margin is only for outerHeight, outerWidth
|
||||||
jQuery.fn[ funcName ] = function( margin, value ) {
|
jQuery.fn[ funcName ] = function( margin, value ) {
|
||||||
var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
|
var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
|
||||||
@@ -16,10 +20,11 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
|
|||||||
var doc;
|
var doc;
|
||||||
|
|
||||||
if ( jQuery.isWindow( elem ) ) {
|
if ( jQuery.isWindow( elem ) ) {
|
||||||
// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
|
|
||||||
// isn't a whole lot we can do. See pull request at this URL for discussion:
|
// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
|
||||||
// https://github.com/jquery/jquery/pull/764
|
return funcName.indexOf( "outer" ) === 0 ?
|
||||||
return elem.document.documentElement[ "client" + name ];
|
elem[ "inner" + name ] :
|
||||||
|
elem.document.documentElement[ "client" + name ];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get document width or height
|
// Get document width or height
|
||||||
@@ -36,15 +41,16 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return value === undefined ?
|
return value === undefined ?
|
||||||
|
|
||||||
// Get width or height on the element, requesting but not forcing parseFloat
|
// Get width or height on the element, requesting but not forcing parseFloat
|
||||||
jQuery.css( elem, type, extra ) :
|
jQuery.css( elem, type, extra ) :
|
||||||
|
|
||||||
// Set width or height on the element
|
// Set width or height on the element
|
||||||
jQuery.style( elem, type, value, extra );
|
jQuery.style( elem, type, value, extra );
|
||||||
}, type, chainable ? margin : undefined, chainable, null );
|
}, type, chainable ? margin : undefined, chainable );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
});
|
} );
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
422
bower_components/jquery/src/effects.js
vendored
422
bower_components/jquery/src/effects.js
vendored
@@ -1,81 +1,44 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./var/pnum",
|
"./var/document",
|
||||||
|
"./var/rcssNum",
|
||||||
|
"./var/rnotwhite",
|
||||||
"./css/var/cssExpand",
|
"./css/var/cssExpand",
|
||||||
"./css/var/isHidden",
|
"./css/var/isHiddenWithinTree",
|
||||||
"./css/defaultDisplay",
|
"./css/var/swap",
|
||||||
"./data/var/data_priv",
|
"./css/adjustCSS",
|
||||||
|
"./data/var/dataPriv",
|
||||||
|
"./css/showHide",
|
||||||
|
|
||||||
"./core/init",
|
"./core/init",
|
||||||
"./effects/Tween",
|
|
||||||
"./queue",
|
"./queue",
|
||||||
"./css",
|
|
||||||
"./deferred",
|
"./deferred",
|
||||||
"./traversing"
|
"./traversing",
|
||||||
], function( jQuery, pnum, cssExpand, isHidden, defaultDisplay, data_priv ) {
|
"./manipulation",
|
||||||
|
"./css",
|
||||||
|
"./effects/Tween"
|
||||||
|
], function( jQuery, document, rcssNum, rnotwhite, cssExpand, isHiddenWithinTree, swap,
|
||||||
|
adjustCSS, dataPriv, showHide ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
var
|
var
|
||||||
fxNow, timerId,
|
fxNow, timerId,
|
||||||
rfxtypes = /^(?:toggle|show|hide)$/,
|
rfxtypes = /^(?:toggle|show|hide)$/,
|
||||||
rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ),
|
rrun = /queueHooks$/;
|
||||||
rrun = /queueHooks$/,
|
|
||||||
animationPrefilters = [ defaultPrefilter ],
|
|
||||||
tweeners = {
|
|
||||||
"*": [ function( prop, value ) {
|
|
||||||
var tween = this.createTween( prop, value ),
|
|
||||||
target = tween.cur(),
|
|
||||||
parts = rfxnum.exec( value ),
|
|
||||||
unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
|
|
||||||
|
|
||||||
// Starting value computation is required for potential unit mismatches
|
function raf() {
|
||||||
start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) &&
|
if ( timerId ) {
|
||||||
rfxnum.exec( jQuery.css( tween.elem, prop ) ),
|
window.requestAnimationFrame( raf );
|
||||||
scale = 1,
|
jQuery.fx.tick();
|
||||||
maxIterations = 20;
|
}
|
||||||
|
}
|
||||||
if ( start && start[ 3 ] !== unit ) {
|
|
||||||
// Trust units reported by jQuery.css
|
|
||||||
unit = unit || start[ 3 ];
|
|
||||||
|
|
||||||
// Make sure we update the tween properties later on
|
|
||||||
parts = parts || [];
|
|
||||||
|
|
||||||
// Iteratively approximate from a nonzero starting point
|
|
||||||
start = +target || 1;
|
|
||||||
|
|
||||||
do {
|
|
||||||
// If previous iteration zeroed out, double until we get *something*.
|
|
||||||
// Use string for doubling so we don't accidentally see scale as unchanged below
|
|
||||||
scale = scale || ".5";
|
|
||||||
|
|
||||||
// Adjust and apply
|
|
||||||
start = start / scale;
|
|
||||||
jQuery.style( tween.elem, prop, start + unit );
|
|
||||||
|
|
||||||
// Update scale, tolerating zero or NaN from tween.cur(),
|
|
||||||
// break the loop if scale is unchanged or perfect, or if we've just had enough
|
|
||||||
} while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update tween properties
|
|
||||||
if ( parts ) {
|
|
||||||
start = tween.start = +start || +target || 0;
|
|
||||||
tween.unit = unit;
|
|
||||||
// If a +=/-= token was provided, we're doing a relative animation
|
|
||||||
tween.end = parts[ 1 ] ?
|
|
||||||
start + ( parts[ 1 ] + 1 ) * parts[ 2 ] :
|
|
||||||
+parts[ 2 ];
|
|
||||||
}
|
|
||||||
|
|
||||||
return tween;
|
|
||||||
} ]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Animations created synchronously will run synchronously
|
// Animations created synchronously will run synchronously
|
||||||
function createFxNow() {
|
function createFxNow() {
|
||||||
setTimeout(function() {
|
window.setTimeout( function() {
|
||||||
fxNow = undefined;
|
fxNow = undefined;
|
||||||
});
|
} );
|
||||||
return ( fxNow = jQuery.now() );
|
return ( fxNow = jQuery.now() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,7 +51,7 @@ function genFx( type, includeWidth ) {
|
|||||||
// If we include width, step value is 1 to do all cssExpand values,
|
// If we include width, step value is 1 to do all cssExpand values,
|
||||||
// otherwise step value is 2 to skip over Left and Right
|
// otherwise step value is 2 to skip over Left and Right
|
||||||
includeWidth = includeWidth ? 1 : 0;
|
includeWidth = includeWidth ? 1 : 0;
|
||||||
for ( ; i < 4 ; i += 2 - includeWidth ) {
|
for ( ; i < 4; i += 2 - includeWidth ) {
|
||||||
which = cssExpand[ i ];
|
which = cssExpand[ i ];
|
||||||
attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
|
attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
|
||||||
}
|
}
|
||||||
@@ -102,11 +65,11 @@ function genFx( type, includeWidth ) {
|
|||||||
|
|
||||||
function createTween( value, prop, animation ) {
|
function createTween( value, prop, animation ) {
|
||||||
var tween,
|
var tween,
|
||||||
collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ),
|
collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
|
||||||
index = 0,
|
index = 0,
|
||||||
length = collection.length;
|
length = collection.length;
|
||||||
for ( ; index < length; index++ ) {
|
for ( ; index < length; index++ ) {
|
||||||
if ( (tween = collection[ index ].call( animation, prop, value )) ) {
|
if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
|
||||||
|
|
||||||
// We're done with this property
|
// We're done with this property
|
||||||
return tween;
|
return tween;
|
||||||
@@ -115,15 +78,15 @@ function createTween( value, prop, animation ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function defaultPrefilter( elem, props, opts ) {
|
function defaultPrefilter( elem, props, opts ) {
|
||||||
/* jshint validthis: true */
|
var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
|
||||||
var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
|
isBox = "width" in props || "height" in props,
|
||||||
anim = this,
|
anim = this,
|
||||||
orig = {},
|
orig = {},
|
||||||
style = elem.style,
|
style = elem.style,
|
||||||
hidden = elem.nodeType && isHidden( elem ),
|
hidden = elem.nodeType && isHiddenWithinTree( elem ),
|
||||||
dataShow = data_priv.get( elem, "fxshow" );
|
dataShow = dataPriv.get( elem, "fxshow" );
|
||||||
|
|
||||||
// Handle queue: false promises
|
// Queue-skipping animations hijack the fx hooks
|
||||||
if ( !opts.queue ) {
|
if ( !opts.queue ) {
|
||||||
hooks = jQuery._queueHooks( elem, "fx" );
|
hooks = jQuery._queueHooks( elem, "fx" );
|
||||||
if ( hooks.unqueued == null ) {
|
if ( hooks.unqueued == null ) {
|
||||||
@@ -137,113 +100,151 @@ function defaultPrefilter( elem, props, opts ) {
|
|||||||
}
|
}
|
||||||
hooks.unqueued++;
|
hooks.unqueued++;
|
||||||
|
|
||||||
anim.always(function() {
|
anim.always( function() {
|
||||||
|
|
||||||
// Ensure the complete handler is called before this completes
|
// Ensure the complete handler is called before this completes
|
||||||
anim.always(function() {
|
anim.always( function() {
|
||||||
hooks.unqueued--;
|
hooks.unqueued--;
|
||||||
if ( !jQuery.queue( elem, "fx" ).length ) {
|
if ( !jQuery.queue( elem, "fx" ).length ) {
|
||||||
hooks.empty.fire();
|
hooks.empty.fire();
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Height/width overflow pass
|
// Detect show/hide animations
|
||||||
if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
|
|
||||||
// Make sure that nothing sneaks out
|
|
||||||
// Record all 3 overflow attributes because IE9-10 do not
|
|
||||||
// change the overflow attribute when overflowX and
|
|
||||||
// overflowY are set to the same value
|
|
||||||
opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
|
|
||||||
|
|
||||||
// Set display property to inline-block for height/width
|
|
||||||
// animations on inline elements that are having width/height animated
|
|
||||||
display = jQuery.css( elem, "display" );
|
|
||||||
|
|
||||||
// Test default display if display is currently "none"
|
|
||||||
checkDisplay = display === "none" ?
|
|
||||||
data_priv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
|
|
||||||
|
|
||||||
if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
|
|
||||||
style.display = "inline-block";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( opts.overflow ) {
|
|
||||||
style.overflow = "hidden";
|
|
||||||
anim.always(function() {
|
|
||||||
style.overflow = opts.overflow[ 0 ];
|
|
||||||
style.overflowX = opts.overflow[ 1 ];
|
|
||||||
style.overflowY = opts.overflow[ 2 ];
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// show/hide pass
|
|
||||||
for ( prop in props ) {
|
for ( prop in props ) {
|
||||||
value = props[ prop ];
|
value = props[ prop ];
|
||||||
if ( rfxtypes.exec( value ) ) {
|
if ( rfxtypes.test( value ) ) {
|
||||||
delete props[ prop ];
|
delete props[ prop ];
|
||||||
toggle = toggle || value === "toggle";
|
toggle = toggle || value === "toggle";
|
||||||
if ( value === ( hidden ? "hide" : "show" ) ) {
|
if ( value === ( hidden ? "hide" : "show" ) ) {
|
||||||
|
|
||||||
// If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden
|
// Pretend to be hidden if this is a "show" and
|
||||||
|
// there is still data from a stopped show/hide
|
||||||
if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
|
if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
|
||||||
hidden = true;
|
hidden = true;
|
||||||
|
|
||||||
|
// Ignore all other no-op show/hide data
|
||||||
} else {
|
} else {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
|
orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
|
||||||
|
|
||||||
// Any non-fx value stops us from restoring the original display value
|
|
||||||
} else {
|
|
||||||
display = undefined;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !jQuery.isEmptyObject( orig ) ) {
|
// Bail out if this is a no-op like .hide().hide()
|
||||||
if ( dataShow ) {
|
propTween = !jQuery.isEmptyObject( props );
|
||||||
if ( "hidden" in dataShow ) {
|
if ( !propTween && jQuery.isEmptyObject( orig ) ) {
|
||||||
hidden = dataShow.hidden;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Restrict "overflow" and "display" styles during box animations
|
||||||
|
if ( isBox && elem.nodeType === 1 ) {
|
||||||
|
|
||||||
|
// Support: IE <=9 - 11, Edge 12 - 13
|
||||||
|
// Record all 3 overflow attributes because IE does not infer the shorthand
|
||||||
|
// from identically-valued overflowX and overflowY
|
||||||
|
opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
|
||||||
|
|
||||||
|
// Identify a display type, preferring old show/hide data over the CSS cascade
|
||||||
|
restoreDisplay = dataShow && dataShow.display;
|
||||||
|
if ( restoreDisplay == null ) {
|
||||||
|
restoreDisplay = dataPriv.get( elem, "display" );
|
||||||
|
}
|
||||||
|
display = jQuery.css( elem, "display" );
|
||||||
|
if ( display === "none" ) {
|
||||||
|
if ( restoreDisplay ) {
|
||||||
|
display = restoreDisplay;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// Get nonempty value(s) by temporarily forcing visibility
|
||||||
|
showHide( [ elem ], true );
|
||||||
|
restoreDisplay = elem.style.display || restoreDisplay;
|
||||||
|
display = jQuery.css( elem, "display" );
|
||||||
|
showHide( [ elem ] );
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
dataShow = data_priv.access( elem, "fxshow", {} );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store state if its toggle - enables .stop().toggle() to "reverse"
|
// Animate inline elements as inline-block
|
||||||
if ( toggle ) {
|
if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
|
||||||
dataShow.hidden = !hidden;
|
if ( jQuery.css( elem, "float" ) === "none" ) {
|
||||||
}
|
|
||||||
if ( hidden ) {
|
|
||||||
jQuery( elem ).show();
|
|
||||||
} else {
|
|
||||||
anim.done(function() {
|
|
||||||
jQuery( elem ).hide();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
anim.done(function() {
|
|
||||||
var prop;
|
|
||||||
|
|
||||||
data_priv.remove( elem, "fxshow" );
|
// Restore the original display value at the end of pure show/hide animations
|
||||||
for ( prop in orig ) {
|
if ( !propTween ) {
|
||||||
jQuery.style( elem, prop, orig[ prop ] );
|
anim.done( function() {
|
||||||
}
|
style.display = restoreDisplay;
|
||||||
});
|
} );
|
||||||
for ( prop in orig ) {
|
if ( restoreDisplay == null ) {
|
||||||
tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
|
display = style.display;
|
||||||
|
restoreDisplay = display === "none" ? "" : display;
|
||||||
if ( !( prop in dataShow ) ) {
|
}
|
||||||
dataShow[ prop ] = tween.start;
|
|
||||||
if ( hidden ) {
|
|
||||||
tween.end = tween.start;
|
|
||||||
tween.start = prop === "width" || prop === "height" ? 1 : 0;
|
|
||||||
}
|
}
|
||||||
|
style.display = "inline-block";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// If this is a noop like .hide().hide(), restore an overwritten display value
|
if ( opts.overflow ) {
|
||||||
} else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) {
|
style.overflow = "hidden";
|
||||||
style.display = display;
|
anim.always( function() {
|
||||||
|
style.overflow = opts.overflow[ 0 ];
|
||||||
|
style.overflowX = opts.overflow[ 1 ];
|
||||||
|
style.overflowY = opts.overflow[ 2 ];
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Implement show/hide animations
|
||||||
|
propTween = false;
|
||||||
|
for ( prop in orig ) {
|
||||||
|
|
||||||
|
// General show/hide setup for this element animation
|
||||||
|
if ( !propTween ) {
|
||||||
|
if ( dataShow ) {
|
||||||
|
if ( "hidden" in dataShow ) {
|
||||||
|
hidden = dataShow.hidden;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
|
||||||
|
if ( toggle ) {
|
||||||
|
dataShow.hidden = !hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show elements before animating them
|
||||||
|
if ( hidden ) {
|
||||||
|
showHide( [ elem ], true );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* eslint-disable no-loop-func */
|
||||||
|
|
||||||
|
anim.done( function() {
|
||||||
|
|
||||||
|
/* eslint-enable no-loop-func */
|
||||||
|
|
||||||
|
// The final step of a "hide" animation is actually hiding the element
|
||||||
|
if ( !hidden ) {
|
||||||
|
showHide( [ elem ] );
|
||||||
|
}
|
||||||
|
dataPriv.remove( elem, "fxshow" );
|
||||||
|
for ( prop in orig ) {
|
||||||
|
jQuery.style( elem, prop, orig[ prop ] );
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Per-property setup
|
||||||
|
propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
|
||||||
|
if ( !( prop in dataShow ) ) {
|
||||||
|
dataShow[ prop ] = propTween.start;
|
||||||
|
if ( hidden ) {
|
||||||
|
propTween.end = propTween.start;
|
||||||
|
propTween.start = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,29 +289,31 @@ function Animation( elem, properties, options ) {
|
|||||||
var result,
|
var result,
|
||||||
stopped,
|
stopped,
|
||||||
index = 0,
|
index = 0,
|
||||||
length = animationPrefilters.length,
|
length = Animation.prefilters.length,
|
||||||
deferred = jQuery.Deferred().always( function() {
|
deferred = jQuery.Deferred().always( function() {
|
||||||
|
|
||||||
// Don't match elem in the :animated selector
|
// Don't match elem in the :animated selector
|
||||||
delete tick.elem;
|
delete tick.elem;
|
||||||
}),
|
} ),
|
||||||
tick = function() {
|
tick = function() {
|
||||||
if ( stopped ) {
|
if ( stopped ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var currentTime = fxNow || createFxNow(),
|
var currentTime = fxNow || createFxNow(),
|
||||||
remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
|
remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
|
||||||
// Support: Android 2.3
|
|
||||||
|
// Support: Android 2.3 only
|
||||||
// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
|
// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
|
||||||
temp = remaining / animation.duration || 0,
|
temp = remaining / animation.duration || 0,
|
||||||
percent = 1 - temp,
|
percent = 1 - temp,
|
||||||
index = 0,
|
index = 0,
|
||||||
length = animation.tweens.length;
|
length = animation.tweens.length;
|
||||||
|
|
||||||
for ( ; index < length ; index++ ) {
|
for ( ; index < length; index++ ) {
|
||||||
animation.tweens[ index ].run( percent );
|
animation.tweens[ index ].run( percent );
|
||||||
}
|
}
|
||||||
|
|
||||||
deferred.notifyWith( elem, [ animation, percent, remaining ]);
|
deferred.notifyWith( elem, [ animation, percent, remaining ] );
|
||||||
|
|
||||||
if ( percent < 1 && length ) {
|
if ( percent < 1 && length ) {
|
||||||
return remaining;
|
return remaining;
|
||||||
@@ -319,10 +322,13 @@ function Animation( elem, properties, options ) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
animation = deferred.promise({
|
animation = deferred.promise( {
|
||||||
elem: elem,
|
elem: elem,
|
||||||
props: jQuery.extend( {}, properties ),
|
props: jQuery.extend( {}, properties ),
|
||||||
opts: jQuery.extend( true, { specialEasing: {} }, options ),
|
opts: jQuery.extend( true, {
|
||||||
|
specialEasing: {},
|
||||||
|
easing: jQuery.easing._default
|
||||||
|
}, options ),
|
||||||
originalProperties: properties,
|
originalProperties: properties,
|
||||||
originalOptions: options,
|
originalOptions: options,
|
||||||
startTime: fxNow || createFxNow(),
|
startTime: fxNow || createFxNow(),
|
||||||
@@ -336,6 +342,7 @@ function Animation( elem, properties, options ) {
|
|||||||
},
|
},
|
||||||
stop: function( gotoEnd ) {
|
stop: function( gotoEnd ) {
|
||||||
var index = 0,
|
var index = 0,
|
||||||
|
|
||||||
// If we are going to the end, we want to run all the tweens
|
// If we are going to the end, we want to run all the tweens
|
||||||
// otherwise we skip this part
|
// otherwise we skip this part
|
||||||
length = gotoEnd ? animation.tweens.length : 0;
|
length = gotoEnd ? animation.tweens.length : 0;
|
||||||
@@ -343,26 +350,31 @@ function Animation( elem, properties, options ) {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
stopped = true;
|
stopped = true;
|
||||||
for ( ; index < length ; index++ ) {
|
for ( ; index < length; index++ ) {
|
||||||
animation.tweens[ index ].run( 1 );
|
animation.tweens[ index ].run( 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Resolve when we played the last frame; otherwise, reject
|
// Resolve when we played the last frame; otherwise, reject
|
||||||
if ( gotoEnd ) {
|
if ( gotoEnd ) {
|
||||||
|
deferred.notifyWith( elem, [ animation, 1, 0 ] );
|
||||||
deferred.resolveWith( elem, [ animation, gotoEnd ] );
|
deferred.resolveWith( elem, [ animation, gotoEnd ] );
|
||||||
} else {
|
} else {
|
||||||
deferred.rejectWith( elem, [ animation, gotoEnd ] );
|
deferred.rejectWith( elem, [ animation, gotoEnd ] );
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}),
|
} ),
|
||||||
props = animation.props;
|
props = animation.props;
|
||||||
|
|
||||||
propFilter( props, animation.opts.specialEasing );
|
propFilter( props, animation.opts.specialEasing );
|
||||||
|
|
||||||
for ( ; index < length ; index++ ) {
|
for ( ; index < length; index++ ) {
|
||||||
result = animationPrefilters[ index ].call( animation, elem, props, animation.opts );
|
result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
|
||||||
if ( result ) {
|
if ( result ) {
|
||||||
|
if ( jQuery.isFunction( result.stop ) ) {
|
||||||
|
jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
|
||||||
|
jQuery.proxy( result.stop, result );
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -378,7 +390,7 @@ function Animation( elem, properties, options ) {
|
|||||||
elem: elem,
|
elem: elem,
|
||||||
anim: animation,
|
anim: animation,
|
||||||
queue: animation.opts.queue
|
queue: animation.opts.queue
|
||||||
})
|
} )
|
||||||
);
|
);
|
||||||
|
|
||||||
// attach callbacks from options
|
// attach callbacks from options
|
||||||
@@ -390,33 +402,43 @@ function Animation( elem, properties, options ) {
|
|||||||
|
|
||||||
jQuery.Animation = jQuery.extend( Animation, {
|
jQuery.Animation = jQuery.extend( Animation, {
|
||||||
|
|
||||||
|
tweeners: {
|
||||||
|
"*": [ function( prop, value ) {
|
||||||
|
var tween = this.createTween( prop, value );
|
||||||
|
adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
|
||||||
|
return tween;
|
||||||
|
} ]
|
||||||
|
},
|
||||||
|
|
||||||
tweener: function( props, callback ) {
|
tweener: function( props, callback ) {
|
||||||
if ( jQuery.isFunction( props ) ) {
|
if ( jQuery.isFunction( props ) ) {
|
||||||
callback = props;
|
callback = props;
|
||||||
props = [ "*" ];
|
props = [ "*" ];
|
||||||
} else {
|
} else {
|
||||||
props = props.split(" ");
|
props = props.match( rnotwhite );
|
||||||
}
|
}
|
||||||
|
|
||||||
var prop,
|
var prop,
|
||||||
index = 0,
|
index = 0,
|
||||||
length = props.length;
|
length = props.length;
|
||||||
|
|
||||||
for ( ; index < length ; index++ ) {
|
for ( ; index < length; index++ ) {
|
||||||
prop = props[ index ];
|
prop = props[ index ];
|
||||||
tweeners[ prop ] = tweeners[ prop ] || [];
|
Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
|
||||||
tweeners[ prop ].unshift( callback );
|
Animation.tweeners[ prop ].unshift( callback );
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
prefilters: [ defaultPrefilter ],
|
||||||
|
|
||||||
prefilter: function( callback, prepend ) {
|
prefilter: function( callback, prepend ) {
|
||||||
if ( prepend ) {
|
if ( prepend ) {
|
||||||
animationPrefilters.unshift( callback );
|
Animation.prefilters.unshift( callback );
|
||||||
} else {
|
} else {
|
||||||
animationPrefilters.push( callback );
|
Animation.prefilters.push( callback );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.speed = function( speed, easing, fn ) {
|
jQuery.speed = function( speed, easing, fn ) {
|
||||||
var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
|
var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
|
||||||
@@ -426,8 +448,15 @@ jQuery.speed = function( speed, easing, fn ) {
|
|||||||
easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
|
easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
|
||||||
};
|
};
|
||||||
|
|
||||||
opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
|
// Go to the end state if fx are off or if document is hidden
|
||||||
opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
|
if ( jQuery.fx.off || document.hidden ) {
|
||||||
|
opt.duration = 0;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
opt.duration = typeof opt.duration === "number" ?
|
||||||
|
opt.duration : opt.duration in jQuery.fx.speeds ?
|
||||||
|
jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
|
||||||
|
}
|
||||||
|
|
||||||
// Normalize opt.queue - true/undefined/null -> "fx"
|
// Normalize opt.queue - true/undefined/null -> "fx"
|
||||||
if ( opt.queue == null || opt.queue === true ) {
|
if ( opt.queue == null || opt.queue === true ) {
|
||||||
@@ -450,24 +479,25 @@ jQuery.speed = function( speed, easing, fn ) {
|
|||||||
return opt;
|
return opt;
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend( {
|
||||||
fadeTo: function( speed, to, easing, callback ) {
|
fadeTo: function( speed, to, easing, callback ) {
|
||||||
|
|
||||||
// Show any hidden elements after setting opacity to 0
|
// Show any hidden elements after setting opacity to 0
|
||||||
return this.filter( isHidden ).css( "opacity", 0 ).show()
|
return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
|
||||||
|
|
||||||
// Animate to the value specified
|
// Animate to the value specified
|
||||||
.end().animate({ opacity: to }, speed, easing, callback );
|
.end().animate( { opacity: to }, speed, easing, callback );
|
||||||
},
|
},
|
||||||
animate: function( prop, speed, easing, callback ) {
|
animate: function( prop, speed, easing, callback ) {
|
||||||
var empty = jQuery.isEmptyObject( prop ),
|
var empty = jQuery.isEmptyObject( prop ),
|
||||||
optall = jQuery.speed( speed, easing, callback ),
|
optall = jQuery.speed( speed, easing, callback ),
|
||||||
doAnimation = function() {
|
doAnimation = function() {
|
||||||
|
|
||||||
// Operate on a copy of prop so per-property easing won't be lost
|
// Operate on a copy of prop so per-property easing won't be lost
|
||||||
var anim = Animation( this, jQuery.extend( {}, prop ), optall );
|
var anim = Animation( this, jQuery.extend( {}, prop ), optall );
|
||||||
|
|
||||||
// Empty animations, or finishing resolves immediately
|
// Empty animations, or finishing resolves immediately
|
||||||
if ( empty || data_priv.get( this, "finish" ) ) {
|
if ( empty || dataPriv.get( this, "finish" ) ) {
|
||||||
anim.stop( true );
|
anim.stop( true );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -493,11 +523,11 @@ jQuery.fn.extend({
|
|||||||
this.queue( type || "fx", [] );
|
this.queue( type || "fx", [] );
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.each(function() {
|
return this.each( function() {
|
||||||
var dequeue = true,
|
var dequeue = true,
|
||||||
index = type != null && type + "queueHooks",
|
index = type != null && type + "queueHooks",
|
||||||
timers = jQuery.timers,
|
timers = jQuery.timers,
|
||||||
data = data_priv.get( this );
|
data = dataPriv.get( this );
|
||||||
|
|
||||||
if ( index ) {
|
if ( index ) {
|
||||||
if ( data[ index ] && data[ index ].stop ) {
|
if ( data[ index ] && data[ index ].stop ) {
|
||||||
@@ -512,7 +542,9 @@ jQuery.fn.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
for ( index = timers.length; index--; ) {
|
for ( index = timers.length; index--; ) {
|
||||||
if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
|
if ( timers[ index ].elem === this &&
|
||||||
|
( type == null || timers[ index ].queue === type ) ) {
|
||||||
|
|
||||||
timers[ index ].anim.stop( gotoEnd );
|
timers[ index ].anim.stop( gotoEnd );
|
||||||
dequeue = false;
|
dequeue = false;
|
||||||
timers.splice( index, 1 );
|
timers.splice( index, 1 );
|
||||||
@@ -525,15 +557,15 @@ jQuery.fn.extend({
|
|||||||
if ( dequeue || !gotoEnd ) {
|
if ( dequeue || !gotoEnd ) {
|
||||||
jQuery.dequeue( this, type );
|
jQuery.dequeue( this, type );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
},
|
},
|
||||||
finish: function( type ) {
|
finish: function( type ) {
|
||||||
if ( type !== false ) {
|
if ( type !== false ) {
|
||||||
type = type || "fx";
|
type = type || "fx";
|
||||||
}
|
}
|
||||||
return this.each(function() {
|
return this.each( function() {
|
||||||
var index,
|
var index,
|
||||||
data = data_priv.get( this ),
|
data = dataPriv.get( this ),
|
||||||
queue = data[ type + "queue" ],
|
queue = data[ type + "queue" ],
|
||||||
hooks = data[ type + "queueHooks" ],
|
hooks = data[ type + "queueHooks" ],
|
||||||
timers = jQuery.timers,
|
timers = jQuery.timers,
|
||||||
@@ -566,24 +598,24 @@ jQuery.fn.extend({
|
|||||||
|
|
||||||
// Turn off finishing flag
|
// Turn off finishing flag
|
||||||
delete data.finish;
|
delete data.finish;
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.each([ "toggle", "show", "hide" ], function( i, name ) {
|
jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
|
||||||
var cssFn = jQuery.fn[ name ];
|
var cssFn = jQuery.fn[ name ];
|
||||||
jQuery.fn[ name ] = function( speed, easing, callback ) {
|
jQuery.fn[ name ] = function( speed, easing, callback ) {
|
||||||
return speed == null || typeof speed === "boolean" ?
|
return speed == null || typeof speed === "boolean" ?
|
||||||
cssFn.apply( this, arguments ) :
|
cssFn.apply( this, arguments ) :
|
||||||
this.animate( genFx( name, true ), speed, easing, callback );
|
this.animate( genFx( name, true ), speed, easing, callback );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Generate shortcuts for custom animations
|
// Generate shortcuts for custom animations
|
||||||
jQuery.each({
|
jQuery.each( {
|
||||||
slideDown: genFx("show"),
|
slideDown: genFx( "show" ),
|
||||||
slideUp: genFx("hide"),
|
slideUp: genFx( "hide" ),
|
||||||
slideToggle: genFx("toggle"),
|
slideToggle: genFx( "toggle" ),
|
||||||
fadeIn: { opacity: "show" },
|
fadeIn: { opacity: "show" },
|
||||||
fadeOut: { opacity: "hide" },
|
fadeOut: { opacity: "hide" },
|
||||||
fadeToggle: { opacity: "toggle" }
|
fadeToggle: { opacity: "toggle" }
|
||||||
@@ -591,7 +623,7 @@ jQuery.each({
|
|||||||
jQuery.fn[ name ] = function( speed, easing, callback ) {
|
jQuery.fn[ name ] = function( speed, easing, callback ) {
|
||||||
return this.animate( props, speed, easing, callback );
|
return this.animate( props, speed, easing, callback );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.timers = [];
|
jQuery.timers = [];
|
||||||
jQuery.fx.tick = function() {
|
jQuery.fx.tick = function() {
|
||||||
@@ -603,6 +635,7 @@ jQuery.fx.tick = function() {
|
|||||||
|
|
||||||
for ( ; i < timers.length; i++ ) {
|
for ( ; i < timers.length; i++ ) {
|
||||||
timer = timers[ i ];
|
timer = timers[ i ];
|
||||||
|
|
||||||
// Checks the timer has not already been removed
|
// Checks the timer has not already been removed
|
||||||
if ( !timer() && timers[ i ] === timer ) {
|
if ( !timer() && timers[ i ] === timer ) {
|
||||||
timers.splice( i--, 1 );
|
timers.splice( i--, 1 );
|
||||||
@@ -625,24 +658,31 @@ jQuery.fx.timer = function( timer ) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
jQuery.fx.interval = 13;
|
jQuery.fx.interval = 13;
|
||||||
|
|
||||||
jQuery.fx.start = function() {
|
jQuery.fx.start = function() {
|
||||||
if ( !timerId ) {
|
if ( !timerId ) {
|
||||||
timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );
|
timerId = window.requestAnimationFrame ?
|
||||||
|
window.requestAnimationFrame( raf ) :
|
||||||
|
window.setInterval( jQuery.fx.tick, jQuery.fx.interval );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.fx.stop = function() {
|
jQuery.fx.stop = function() {
|
||||||
clearInterval( timerId );
|
if ( window.cancelAnimationFrame ) {
|
||||||
|
window.cancelAnimationFrame( timerId );
|
||||||
|
} else {
|
||||||
|
window.clearInterval( timerId );
|
||||||
|
}
|
||||||
|
|
||||||
timerId = null;
|
timerId = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.fx.speeds = {
|
jQuery.fx.speeds = {
|
||||||
slow: 600,
|
slow: 600,
|
||||||
fast: 200,
|
fast: 200,
|
||||||
|
|
||||||
// Default speed
|
// Default speed
|
||||||
_default: 400
|
_default: 400
|
||||||
};
|
};
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
27
bower_components/jquery/src/effects/Tween.js
vendored
27
bower_components/jquery/src/effects/Tween.js
vendored
@@ -1,8 +1,10 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../css"
|
"../css"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
function Tween( elem, options, prop, end, easing ) {
|
function Tween( elem, options, prop, end, easing ) {
|
||||||
return new Tween.prototype.init( elem, options, prop, end, easing );
|
return new Tween.prototype.init( elem, options, prop, end, easing );
|
||||||
}
|
}
|
||||||
@@ -13,7 +15,7 @@ Tween.prototype = {
|
|||||||
init: function( elem, options, prop, end, easing, unit ) {
|
init: function( elem, options, prop, end, easing, unit ) {
|
||||||
this.elem = elem;
|
this.elem = elem;
|
||||||
this.prop = prop;
|
this.prop = prop;
|
||||||
this.easing = easing || "swing";
|
this.easing = easing || jQuery.easing._default;
|
||||||
this.options = options;
|
this.options = options;
|
||||||
this.start = this.now = this.cur();
|
this.start = this.now = this.cur();
|
||||||
this.end = end;
|
this.end = end;
|
||||||
@@ -59,8 +61,10 @@ Tween.propHooks = {
|
|||||||
get: function( tween ) {
|
get: function( tween ) {
|
||||||
var result;
|
var result;
|
||||||
|
|
||||||
if ( tween.elem[ tween.prop ] != null &&
|
// Use a property on the element directly when it is not a DOM element,
|
||||||
(!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {
|
// or when there is no matching style property that exists.
|
||||||
|
if ( tween.elem.nodeType !== 1 ||
|
||||||
|
tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
|
||||||
return tween.elem[ tween.prop ];
|
return tween.elem[ tween.prop ];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,16 +73,20 @@ Tween.propHooks = {
|
|||||||
// Simple values such as "10px" are parsed to Float;
|
// Simple values such as "10px" are parsed to Float;
|
||||||
// complex values such as "rotate(1rad)" are returned as-is.
|
// complex values such as "rotate(1rad)" are returned as-is.
|
||||||
result = jQuery.css( tween.elem, tween.prop, "" );
|
result = jQuery.css( tween.elem, tween.prop, "" );
|
||||||
|
|
||||||
// Empty strings, null, undefined and "auto" are converted to 0.
|
// Empty strings, null, undefined and "auto" are converted to 0.
|
||||||
return !result || result === "auto" ? 0 : result;
|
return !result || result === "auto" ? 0 : result;
|
||||||
},
|
},
|
||||||
set: function( tween ) {
|
set: function( tween ) {
|
||||||
|
|
||||||
// Use step hook for back compat.
|
// Use step hook for back compat.
|
||||||
// Use cssHook if its there.
|
// Use cssHook if its there.
|
||||||
// Use .style if available and use plain properties where available.
|
// Use .style if available and use plain properties where available.
|
||||||
if ( jQuery.fx.step[ tween.prop ] ) {
|
if ( jQuery.fx.step[ tween.prop ] ) {
|
||||||
jQuery.fx.step[ tween.prop ]( tween );
|
jQuery.fx.step[ tween.prop ]( tween );
|
||||||
} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
|
} else if ( tween.elem.nodeType === 1 &&
|
||||||
|
( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
|
||||||
|
jQuery.cssHooks[ tween.prop ] ) ) {
|
||||||
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
|
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
|
||||||
} else {
|
} else {
|
||||||
tween.elem[ tween.prop ] = tween.now;
|
tween.elem[ tween.prop ] = tween.now;
|
||||||
@@ -87,7 +95,7 @@ Tween.propHooks = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Support: IE9
|
// Support: IE <=9 only
|
||||||
// Panic based approach to setting things on disconnected nodes
|
// Panic based approach to setting things on disconnected nodes
|
||||||
Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
|
Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
|
||||||
set: function( tween ) {
|
set: function( tween ) {
|
||||||
@@ -103,12 +111,13 @@ jQuery.easing = {
|
|||||||
},
|
},
|
||||||
swing: function( p ) {
|
swing: function( p ) {
|
||||||
return 0.5 - Math.cos( p * Math.PI ) / 2;
|
return 0.5 - Math.cos( p * Math.PI ) / 2;
|
||||||
}
|
},
|
||||||
|
_default: "swing"
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.fx = Tween.prototype.init;
|
jQuery.fx = Tween.prototype.init;
|
||||||
|
|
||||||
// Back Compat <1.8 extension point
|
// Back compat <1.8 extension point
|
||||||
jQuery.fx.step = {};
|
jQuery.fx.step = {};
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../selector",
|
"../selector",
|
||||||
"../effects"
|
"../effects"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
jQuery.expr.filters.animated = function( elem ) {
|
"use strict";
|
||||||
return jQuery.grep(jQuery.timers, function( fn ) {
|
|
||||||
|
jQuery.expr.pseudos.animated = function( elem ) {
|
||||||
|
return jQuery.grep( jQuery.timers, function( fn ) {
|
||||||
return elem === fn.elem;
|
return elem === fn.elem;
|
||||||
}).length;
|
} ).length;
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
668
bower_components/jquery/src/event.js
vendored
668
bower_components/jquery/src/event.js
vendored
@@ -1,22 +1,21 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./var/strundefined",
|
"./var/document",
|
||||||
|
"./var/documentElement",
|
||||||
"./var/rnotwhite",
|
"./var/rnotwhite",
|
||||||
"./var/hasOwn",
|
|
||||||
"./var/slice",
|
"./var/slice",
|
||||||
"./event/support",
|
"./data/var/dataPriv",
|
||||||
"./data/var/data_priv",
|
|
||||||
|
|
||||||
"./core/init",
|
"./core/init",
|
||||||
"./data/accepts",
|
|
||||||
"./selector"
|
"./selector"
|
||||||
], function( jQuery, strundefined, rnotwhite, hasOwn, slice, support, data_priv ) {
|
], function( jQuery, document, documentElement, rnotwhite, slice, dataPriv ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
var
|
var
|
||||||
rkeyEvent = /^key/,
|
rkeyEvent = /^key/,
|
||||||
rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
|
rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
|
||||||
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
|
rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
|
||||||
rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
|
|
||||||
|
|
||||||
function returnTrue() {
|
function returnTrue() {
|
||||||
return true;
|
return true;
|
||||||
@@ -26,12 +25,75 @@ function returnFalse() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Support: IE <=9 only
|
||||||
|
// See #13393 for more info
|
||||||
function safeActiveElement() {
|
function safeActiveElement() {
|
||||||
try {
|
try {
|
||||||
return document.activeElement;
|
return document.activeElement;
|
||||||
} catch ( err ) { }
|
} catch ( err ) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function on( elem, types, selector, data, fn, one ) {
|
||||||
|
var origFn, type;
|
||||||
|
|
||||||
|
// Types can be a map of types/handlers
|
||||||
|
if ( typeof types === "object" ) {
|
||||||
|
|
||||||
|
// ( types-Object, selector, data )
|
||||||
|
if ( typeof selector !== "string" ) {
|
||||||
|
|
||||||
|
// ( types-Object, data )
|
||||||
|
data = data || selector;
|
||||||
|
selector = undefined;
|
||||||
|
}
|
||||||
|
for ( type in types ) {
|
||||||
|
on( elem, type, selector, data, types[ type ], one );
|
||||||
|
}
|
||||||
|
return elem;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( data == null && fn == null ) {
|
||||||
|
|
||||||
|
// ( types, fn )
|
||||||
|
fn = selector;
|
||||||
|
data = selector = undefined;
|
||||||
|
} else if ( fn == null ) {
|
||||||
|
if ( typeof selector === "string" ) {
|
||||||
|
|
||||||
|
// ( types, selector, fn )
|
||||||
|
fn = data;
|
||||||
|
data = undefined;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// ( types, data, fn )
|
||||||
|
fn = data;
|
||||||
|
data = selector;
|
||||||
|
selector = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( fn === false ) {
|
||||||
|
fn = returnFalse;
|
||||||
|
} else if ( !fn ) {
|
||||||
|
return elem;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( one === 1 ) {
|
||||||
|
origFn = fn;
|
||||||
|
fn = function( event ) {
|
||||||
|
|
||||||
|
// Can use an empty set, since event contains the info
|
||||||
|
jQuery().off( event );
|
||||||
|
return origFn.apply( this, arguments );
|
||||||
|
};
|
||||||
|
|
||||||
|
// Use same guid so caller can remove using origFn
|
||||||
|
fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
|
||||||
|
}
|
||||||
|
return elem.each( function() {
|
||||||
|
jQuery.event.add( this, types, fn, data, selector );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Helper functions for managing events -- not part of the public interface.
|
* Helper functions for managing events -- not part of the public interface.
|
||||||
* Props to Dean Edwards' addEvent library for many of the ideas.
|
* Props to Dean Edwards' addEvent library for many of the ideas.
|
||||||
@@ -45,7 +107,7 @@ jQuery.event = {
|
|||||||
var handleObjIn, eventHandle, tmp,
|
var handleObjIn, eventHandle, tmp,
|
||||||
events, t, handleObj,
|
events, t, handleObj,
|
||||||
special, handlers, type, namespaces, origType,
|
special, handlers, type, namespaces, origType,
|
||||||
elemData = data_priv.get( elem );
|
elemData = dataPriv.get( elem );
|
||||||
|
|
||||||
// Don't attach events to noData or text/comment nodes (but allow plain objects)
|
// Don't attach events to noData or text/comment nodes (but allow plain objects)
|
||||||
if ( !elemData ) {
|
if ( !elemData ) {
|
||||||
@@ -59,20 +121,27 @@ jQuery.event = {
|
|||||||
selector = handleObjIn.selector;
|
selector = handleObjIn.selector;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ensure that invalid selectors throw exceptions at attach time
|
||||||
|
// Evaluate against documentElement in case elem is a non-element node (e.g., document)
|
||||||
|
if ( selector ) {
|
||||||
|
jQuery.find.matchesSelector( documentElement, selector );
|
||||||
|
}
|
||||||
|
|
||||||
// Make sure that the handler has a unique ID, used to find/remove it later
|
// Make sure that the handler has a unique ID, used to find/remove it later
|
||||||
if ( !handler.guid ) {
|
if ( !handler.guid ) {
|
||||||
handler.guid = jQuery.guid++;
|
handler.guid = jQuery.guid++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Init the element's event structure and main handler, if this is the first
|
// Init the element's event structure and main handler, if this is the first
|
||||||
if ( !(events = elemData.events) ) {
|
if ( !( events = elemData.events ) ) {
|
||||||
events = elemData.events = {};
|
events = elemData.events = {};
|
||||||
}
|
}
|
||||||
if ( !(eventHandle = elemData.handle) ) {
|
if ( !( eventHandle = elemData.handle ) ) {
|
||||||
eventHandle = elemData.handle = function( e ) {
|
eventHandle = elemData.handle = function( e ) {
|
||||||
|
|
||||||
// Discard the second event of a jQuery.event.trigger() and
|
// Discard the second event of a jQuery.event.trigger() and
|
||||||
// when an event is called after a page has unloaded
|
// when an event is called after a page has unloaded
|
||||||
return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ?
|
return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
|
||||||
jQuery.event.dispatch.apply( elem, arguments ) : undefined;
|
jQuery.event.dispatch.apply( elem, arguments ) : undefined;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -81,9 +150,9 @@ jQuery.event = {
|
|||||||
types = ( types || "" ).match( rnotwhite ) || [ "" ];
|
types = ( types || "" ).match( rnotwhite ) || [ "" ];
|
||||||
t = types.length;
|
t = types.length;
|
||||||
while ( t-- ) {
|
while ( t-- ) {
|
||||||
tmp = rtypenamespace.exec( types[t] ) || [];
|
tmp = rtypenamespace.exec( types[ t ] ) || [];
|
||||||
type = origType = tmp[1];
|
type = origType = tmp[ 1 ];
|
||||||
namespaces = ( tmp[2] || "" ).split( "." ).sort();
|
namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
|
||||||
|
|
||||||
// There *must* be a type, no attaching namespace-only handlers
|
// There *must* be a type, no attaching namespace-only handlers
|
||||||
if ( !type ) {
|
if ( !type ) {
|
||||||
@@ -100,7 +169,7 @@ jQuery.event = {
|
|||||||
special = jQuery.event.special[ type ] || {};
|
special = jQuery.event.special[ type ] || {};
|
||||||
|
|
||||||
// handleObj is passed to all event handlers
|
// handleObj is passed to all event handlers
|
||||||
handleObj = jQuery.extend({
|
handleObj = jQuery.extend( {
|
||||||
type: type,
|
type: type,
|
||||||
origType: origType,
|
origType: origType,
|
||||||
data: data,
|
data: data,
|
||||||
@@ -108,18 +177,20 @@ jQuery.event = {
|
|||||||
guid: handler.guid,
|
guid: handler.guid,
|
||||||
selector: selector,
|
selector: selector,
|
||||||
needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
|
needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
|
||||||
namespace: namespaces.join(".")
|
namespace: namespaces.join( "." )
|
||||||
}, handleObjIn );
|
}, handleObjIn );
|
||||||
|
|
||||||
// Init the event handler queue if we're the first
|
// Init the event handler queue if we're the first
|
||||||
if ( !(handlers = events[ type ]) ) {
|
if ( !( handlers = events[ type ] ) ) {
|
||||||
handlers = events[ type ] = [];
|
handlers = events[ type ] = [];
|
||||||
handlers.delegateCount = 0;
|
handlers.delegateCount = 0;
|
||||||
|
|
||||||
// Only use addEventListener if the special events handler returns false
|
// Only use addEventListener if the special events handler returns false
|
||||||
if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
|
if ( !special.setup ||
|
||||||
|
special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
|
||||||
|
|
||||||
if ( elem.addEventListener ) {
|
if ( elem.addEventListener ) {
|
||||||
elem.addEventListener( type, eventHandle, false );
|
elem.addEventListener( type, eventHandle );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -151,9 +222,9 @@ jQuery.event = {
|
|||||||
var j, origCount, tmp,
|
var j, origCount, tmp,
|
||||||
events, t, handleObj,
|
events, t, handleObj,
|
||||||
special, handlers, type, namespaces, origType,
|
special, handlers, type, namespaces, origType,
|
||||||
elemData = data_priv.hasData( elem ) && data_priv.get( elem );
|
elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
|
||||||
|
|
||||||
if ( !elemData || !(events = elemData.events) ) {
|
if ( !elemData || !( events = elemData.events ) ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,9 +232,9 @@ jQuery.event = {
|
|||||||
types = ( types || "" ).match( rnotwhite ) || [ "" ];
|
types = ( types || "" ).match( rnotwhite ) || [ "" ];
|
||||||
t = types.length;
|
t = types.length;
|
||||||
while ( t-- ) {
|
while ( t-- ) {
|
||||||
tmp = rtypenamespace.exec( types[t] ) || [];
|
tmp = rtypenamespace.exec( types[ t ] ) || [];
|
||||||
type = origType = tmp[1];
|
type = origType = tmp[ 1 ];
|
||||||
namespaces = ( tmp[2] || "" ).split( "." ).sort();
|
namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
|
||||||
|
|
||||||
// Unbind all events (on this namespace, if provided) for the element
|
// Unbind all events (on this namespace, if provided) for the element
|
||||||
if ( !type ) {
|
if ( !type ) {
|
||||||
@@ -176,7 +247,8 @@ jQuery.event = {
|
|||||||
special = jQuery.event.special[ type ] || {};
|
special = jQuery.event.special[ type ] || {};
|
||||||
type = ( selector ? special.delegateType : special.bindType ) || type;
|
type = ( selector ? special.delegateType : special.bindType ) || type;
|
||||||
handlers = events[ type ] || [];
|
handlers = events[ type ] || [];
|
||||||
tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" );
|
tmp = tmp[ 2 ] &&
|
||||||
|
new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
|
||||||
|
|
||||||
// Remove matching events
|
// Remove matching events
|
||||||
origCount = j = handlers.length;
|
origCount = j = handlers.length;
|
||||||
@@ -186,7 +258,8 @@ jQuery.event = {
|
|||||||
if ( ( mappedTypes || origType === handleObj.origType ) &&
|
if ( ( mappedTypes || origType === handleObj.origType ) &&
|
||||||
( !handler || handler.guid === handleObj.guid ) &&
|
( !handler || handler.guid === handleObj.guid ) &&
|
||||||
( !tmp || tmp.test( handleObj.namespace ) ) &&
|
( !tmp || tmp.test( handleObj.namespace ) ) &&
|
||||||
( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
|
( !selector || selector === handleObj.selector ||
|
||||||
|
selector === "**" && handleObj.selector ) ) {
|
||||||
handlers.splice( j, 1 );
|
handlers.splice( j, 1 );
|
||||||
|
|
||||||
if ( handleObj.selector ) {
|
if ( handleObj.selector ) {
|
||||||
@@ -201,7 +274,9 @@ jQuery.event = {
|
|||||||
// Remove generic event handler if we removed something and no more handlers exist
|
// Remove generic event handler if we removed something and no more handlers exist
|
||||||
// (avoids potential for endless recursion during removal of special event handlers)
|
// (avoids potential for endless recursion during removal of special event handlers)
|
||||||
if ( origCount && !handlers.length ) {
|
if ( origCount && !handlers.length ) {
|
||||||
if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
|
if ( !special.teardown ||
|
||||||
|
special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
|
||||||
|
|
||||||
jQuery.removeEvent( elem, type, elemData.handle );
|
jQuery.removeEvent( elem, type, elemData.handle );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,158 +284,29 @@ jQuery.event = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove the expando if it's no longer used
|
// Remove data and the expando if it's no longer used
|
||||||
if ( jQuery.isEmptyObject( events ) ) {
|
if ( jQuery.isEmptyObject( events ) ) {
|
||||||
delete elemData.handle;
|
dataPriv.remove( elem, "handle events" );
|
||||||
data_priv.remove( elem, "events" );
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
trigger: function( event, data, elem, onlyHandlers ) {
|
dispatch: function( nativeEvent ) {
|
||||||
|
|
||||||
var i, cur, tmp, bubbleType, ontype, handle, special,
|
|
||||||
eventPath = [ elem || document ],
|
|
||||||
type = hasOwn.call( event, "type" ) ? event.type : event,
|
|
||||||
namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : [];
|
|
||||||
|
|
||||||
cur = tmp = elem = elem || document;
|
|
||||||
|
|
||||||
// Don't do events on text and comment nodes
|
|
||||||
if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// focus/blur morphs to focusin/out; ensure we're not firing them right now
|
|
||||||
if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( type.indexOf(".") >= 0 ) {
|
|
||||||
// Namespaced trigger; create a regexp to match event type in handle()
|
|
||||||
namespaces = type.split(".");
|
|
||||||
type = namespaces.shift();
|
|
||||||
namespaces.sort();
|
|
||||||
}
|
|
||||||
ontype = type.indexOf(":") < 0 && "on" + type;
|
|
||||||
|
|
||||||
// Caller can pass in a jQuery.Event object, Object, or just an event type string
|
|
||||||
event = event[ jQuery.expando ] ?
|
|
||||||
event :
|
|
||||||
new jQuery.Event( type, typeof event === "object" && event );
|
|
||||||
|
|
||||||
// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
|
|
||||||
event.isTrigger = onlyHandlers ? 2 : 3;
|
|
||||||
event.namespace = namespaces.join(".");
|
|
||||||
event.namespace_re = event.namespace ?
|
|
||||||
new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) :
|
|
||||||
null;
|
|
||||||
|
|
||||||
// Clean up the event in case it is being reused
|
|
||||||
event.result = undefined;
|
|
||||||
if ( !event.target ) {
|
|
||||||
event.target = elem;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clone any incoming data and prepend the event, creating the handler arg list
|
|
||||||
data = data == null ?
|
|
||||||
[ event ] :
|
|
||||||
jQuery.makeArray( data, [ event ] );
|
|
||||||
|
|
||||||
// Allow special events to draw outside the lines
|
|
||||||
special = jQuery.event.special[ type ] || {};
|
|
||||||
if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Determine event propagation path in advance, per W3C events spec (#9951)
|
|
||||||
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
|
|
||||||
if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
|
|
||||||
|
|
||||||
bubbleType = special.delegateType || type;
|
|
||||||
if ( !rfocusMorph.test( bubbleType + type ) ) {
|
|
||||||
cur = cur.parentNode;
|
|
||||||
}
|
|
||||||
for ( ; cur; cur = cur.parentNode ) {
|
|
||||||
eventPath.push( cur );
|
|
||||||
tmp = cur;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Only add window if we got to document (e.g., not plain obj or detached DOM)
|
|
||||||
if ( tmp === (elem.ownerDocument || document) ) {
|
|
||||||
eventPath.push( tmp.defaultView || tmp.parentWindow || window );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fire handlers on the event path
|
|
||||||
i = 0;
|
|
||||||
while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {
|
|
||||||
|
|
||||||
event.type = i > 1 ?
|
|
||||||
bubbleType :
|
|
||||||
special.bindType || type;
|
|
||||||
|
|
||||||
// jQuery handler
|
|
||||||
handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" );
|
|
||||||
if ( handle ) {
|
|
||||||
handle.apply( cur, data );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Native handler
|
|
||||||
handle = ontype && cur[ ontype ];
|
|
||||||
if ( handle && handle.apply && jQuery.acceptData( cur ) ) {
|
|
||||||
event.result = handle.apply( cur, data );
|
|
||||||
if ( event.result === false ) {
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
event.type = type;
|
|
||||||
|
|
||||||
// If nobody prevented the default action, do it now
|
|
||||||
if ( !onlyHandlers && !event.isDefaultPrevented() ) {
|
|
||||||
|
|
||||||
if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&
|
|
||||||
jQuery.acceptData( elem ) ) {
|
|
||||||
|
|
||||||
// Call a native DOM method on the target with the same name name as the event.
|
|
||||||
// Don't do default actions on window, that's where global variables be (#6170)
|
|
||||||
if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
|
|
||||||
|
|
||||||
// Don't re-trigger an onFOO event when we call its FOO() method
|
|
||||||
tmp = elem[ ontype ];
|
|
||||||
|
|
||||||
if ( tmp ) {
|
|
||||||
elem[ ontype ] = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prevent re-triggering of the same event, since we already bubbled it above
|
|
||||||
jQuery.event.triggered = type;
|
|
||||||
elem[ type ]();
|
|
||||||
jQuery.event.triggered = undefined;
|
|
||||||
|
|
||||||
if ( tmp ) {
|
|
||||||
elem[ ontype ] = tmp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return event.result;
|
|
||||||
},
|
|
||||||
|
|
||||||
dispatch: function( event ) {
|
|
||||||
|
|
||||||
// Make a writable jQuery.Event from the native event object
|
// Make a writable jQuery.Event from the native event object
|
||||||
event = jQuery.event.fix( event );
|
var event = jQuery.event.fix( nativeEvent );
|
||||||
|
|
||||||
var i, j, ret, matched, handleObj,
|
var i, j, ret, matched, handleObj, handlerQueue,
|
||||||
handlerQueue = [],
|
args = new Array( arguments.length ),
|
||||||
args = slice.call( arguments ),
|
handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
|
||||||
handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [],
|
|
||||||
special = jQuery.event.special[ event.type ] || {};
|
special = jQuery.event.special[ event.type ] || {};
|
||||||
|
|
||||||
// Use the fix-ed jQuery.Event rather than the (read-only) native event
|
// Use the fix-ed jQuery.Event rather than the (read-only) native event
|
||||||
args[0] = event;
|
args[ 0 ] = event;
|
||||||
|
|
||||||
|
for ( i = 1; i < arguments.length; i++ ) {
|
||||||
|
args[ i ] = arguments[ i ];
|
||||||
|
}
|
||||||
|
|
||||||
event.delegateTarget = this;
|
event.delegateTarget = this;
|
||||||
|
|
||||||
// Call the preDispatch hook for the mapped type, and let it bail if desired
|
// Call the preDispatch hook for the mapped type, and let it bail if desired
|
||||||
@@ -373,24 +319,25 @@ jQuery.event = {
|
|||||||
|
|
||||||
// Run delegates first; they may want to stop propagation beneath us
|
// Run delegates first; they may want to stop propagation beneath us
|
||||||
i = 0;
|
i = 0;
|
||||||
while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {
|
while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
|
||||||
event.currentTarget = matched.elem;
|
event.currentTarget = matched.elem;
|
||||||
|
|
||||||
j = 0;
|
j = 0;
|
||||||
while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {
|
while ( ( handleObj = matched.handlers[ j++ ] ) &&
|
||||||
|
!event.isImmediatePropagationStopped() ) {
|
||||||
|
|
||||||
// Triggered event must either 1) have no namespace, or 2) have namespace(s)
|
// Triggered event must either 1) have no namespace, or 2) have namespace(s)
|
||||||
// a subset or equal to those in the bound event (both can have no namespace).
|
// a subset or equal to those in the bound event (both can have no namespace).
|
||||||
if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {
|
if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
|
||||||
|
|
||||||
event.handleObj = handleObj;
|
event.handleObj = handleObj;
|
||||||
event.data = handleObj.data;
|
event.data = handleObj.data;
|
||||||
|
|
||||||
ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
|
ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
|
||||||
.apply( matched.elem, args );
|
handleObj.handler ).apply( matched.elem, args );
|
||||||
|
|
||||||
if ( ret !== undefined ) {
|
if ( ret !== undefined ) {
|
||||||
if ( (event.result = ret) === false ) {
|
if ( ( event.result = ret ) === false ) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
}
|
}
|
||||||
@@ -413,15 +360,20 @@ jQuery.event = {
|
|||||||
delegateCount = handlers.delegateCount,
|
delegateCount = handlers.delegateCount,
|
||||||
cur = event.target;
|
cur = event.target;
|
||||||
|
|
||||||
|
// Support: IE <=9
|
||||||
// Find delegate handlers
|
// Find delegate handlers
|
||||||
// Black-hole SVG <use> instance trees (#13180)
|
// Black-hole SVG <use> instance trees (#13180)
|
||||||
// Avoid non-left-click bubbling in Firefox (#3861)
|
//
|
||||||
if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) {
|
// Support: Firefox <=42
|
||||||
|
// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
|
||||||
|
if ( delegateCount && cur.nodeType &&
|
||||||
|
( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
|
||||||
|
|
||||||
for ( ; cur !== this; cur = cur.parentNode || this ) {
|
for ( ; cur !== this; cur = cur.parentNode || this ) {
|
||||||
|
|
||||||
|
// Don't check non-elements (#13208)
|
||||||
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
|
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
|
||||||
if ( cur.disabled !== true || event.type !== "click" ) {
|
if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {
|
||||||
matches = [];
|
matches = [];
|
||||||
for ( i = 0; i < delegateCount; i++ ) {
|
for ( i = 0; i < delegateCount; i++ ) {
|
||||||
handleObj = handlers[ i ];
|
handleObj = handlers[ i ];
|
||||||
@@ -431,7 +383,7 @@ jQuery.event = {
|
|||||||
|
|
||||||
if ( matches[ sel ] === undefined ) {
|
if ( matches[ sel ] === undefined ) {
|
||||||
matches[ sel ] = handleObj.needsContext ?
|
matches[ sel ] = handleObj.needsContext ?
|
||||||
jQuery( sel, this ).index( cur ) >= 0 :
|
jQuery( sel, this ).index( cur ) > -1 :
|
||||||
jQuery.find( sel, this, null, [ cur ] ).length;
|
jQuery.find( sel, this, null, [ cur ] ).length;
|
||||||
}
|
}
|
||||||
if ( matches[ sel ] ) {
|
if ( matches[ sel ] ) {
|
||||||
@@ -439,7 +391,7 @@ jQuery.event = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( matches.length ) {
|
if ( matches.length ) {
|
||||||
handlerQueue.push({ elem: cur, handlers: matches });
|
handlerQueue.push( { elem: cur, handlers: matches } );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -447,104 +399,54 @@ jQuery.event = {
|
|||||||
|
|
||||||
// Add the remaining (directly-bound) handlers
|
// Add the remaining (directly-bound) handlers
|
||||||
if ( delegateCount < handlers.length ) {
|
if ( delegateCount < handlers.length ) {
|
||||||
handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });
|
handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );
|
||||||
}
|
}
|
||||||
|
|
||||||
return handlerQueue;
|
return handlerQueue;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Includes some event props shared by KeyEvent and MouseEvent
|
addProp: function( name, hook ) {
|
||||||
props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
|
Object.defineProperty( jQuery.Event.prototype, name, {
|
||||||
|
enumerable: true,
|
||||||
|
configurable: true,
|
||||||
|
|
||||||
fixHooks: {},
|
get: jQuery.isFunction( hook ) ?
|
||||||
|
function() {
|
||||||
|
if ( this.originalEvent ) {
|
||||||
|
return hook( this.originalEvent );
|
||||||
|
}
|
||||||
|
} :
|
||||||
|
function() {
|
||||||
|
if ( this.originalEvent ) {
|
||||||
|
return this.originalEvent[ name ];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
keyHooks: {
|
set: function( value ) {
|
||||||
props: "char charCode key keyCode".split(" "),
|
Object.defineProperty( this, name, {
|
||||||
filter: function( event, original ) {
|
enumerable: true,
|
||||||
|
configurable: true,
|
||||||
// Add which for key events
|
writable: true,
|
||||||
if ( event.which == null ) {
|
value: value
|
||||||
event.which = original.charCode != null ? original.charCode : original.keyCode;
|
} );
|
||||||
}
|
}
|
||||||
|
} );
|
||||||
return event;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
mouseHooks: {
|
fix: function( originalEvent ) {
|
||||||
props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
|
return originalEvent[ jQuery.expando ] ?
|
||||||
filter: function( event, original ) {
|
originalEvent :
|
||||||
var eventDoc, doc, body,
|
new jQuery.Event( originalEvent );
|
||||||
button = original.button;
|
|
||||||
|
|
||||||
// Calculate pageX/Y if missing and clientX/Y available
|
|
||||||
if ( event.pageX == null && original.clientX != null ) {
|
|
||||||
eventDoc = event.target.ownerDocument || document;
|
|
||||||
doc = eventDoc.documentElement;
|
|
||||||
body = eventDoc.body;
|
|
||||||
|
|
||||||
event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
|
|
||||||
event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add which for click: 1 === left; 2 === middle; 3 === right
|
|
||||||
// Note: button is not normalized, so don't use it
|
|
||||||
if ( !event.which && button !== undefined ) {
|
|
||||||
event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
return event;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
fix: function( event ) {
|
|
||||||
if ( event[ jQuery.expando ] ) {
|
|
||||||
return event;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a writable copy of the event object and normalize some properties
|
|
||||||
var i, prop, copy,
|
|
||||||
type = event.type,
|
|
||||||
originalEvent = event,
|
|
||||||
fixHook = this.fixHooks[ type ];
|
|
||||||
|
|
||||||
if ( !fixHook ) {
|
|
||||||
this.fixHooks[ type ] = fixHook =
|
|
||||||
rmouseEvent.test( type ) ? this.mouseHooks :
|
|
||||||
rkeyEvent.test( type ) ? this.keyHooks :
|
|
||||||
{};
|
|
||||||
}
|
|
||||||
copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
|
|
||||||
|
|
||||||
event = new jQuery.Event( originalEvent );
|
|
||||||
|
|
||||||
i = copy.length;
|
|
||||||
while ( i-- ) {
|
|
||||||
prop = copy[ i ];
|
|
||||||
event[ prop ] = originalEvent[ prop ];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Support: Cordova 2.5 (WebKit) (#13255)
|
|
||||||
// All events should have a target; Cordova deviceready doesn't
|
|
||||||
if ( !event.target ) {
|
|
||||||
event.target = document;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Support: Safari 6.0+, Chrome<28
|
|
||||||
// Target should not be a text node (#504, #13143)
|
|
||||||
if ( event.target.nodeType === 3 ) {
|
|
||||||
event.target = event.target.parentNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
return fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
special: {
|
special: {
|
||||||
load: {
|
load: {
|
||||||
|
|
||||||
// Prevent triggered image.load events from bubbling to window.load
|
// Prevent triggered image.load events from bubbling to window.load
|
||||||
noBubble: true
|
noBubble: true
|
||||||
},
|
},
|
||||||
focus: {
|
focus: {
|
||||||
|
|
||||||
// Fire native event if possible so blur/focus sequence is correct
|
// Fire native event if possible so blur/focus sequence is correct
|
||||||
trigger: function() {
|
trigger: function() {
|
||||||
if ( this !== safeActiveElement() && this.focus ) {
|
if ( this !== safeActiveElement() && this.focus ) {
|
||||||
@@ -564,6 +466,7 @@ jQuery.event = {
|
|||||||
delegateType: "focusout"
|
delegateType: "focusout"
|
||||||
},
|
},
|
||||||
click: {
|
click: {
|
||||||
|
|
||||||
// For checkbox, fire native event so checked state will be right
|
// For checkbox, fire native event so checked state will be right
|
||||||
trigger: function() {
|
trigger: function() {
|
||||||
if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
|
if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
|
||||||
@@ -588,41 +491,21 @@ jQuery.event = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
simulate: function( type, elem, event, bubble ) {
|
|
||||||
// Piggyback on a donor event to simulate a different one.
|
|
||||||
// Fake originalEvent to avoid donor's stopPropagation, but if the
|
|
||||||
// simulated event prevents default then we do the same on the donor.
|
|
||||||
var e = jQuery.extend(
|
|
||||||
new jQuery.Event(),
|
|
||||||
event,
|
|
||||||
{
|
|
||||||
type: type,
|
|
||||||
isSimulated: true,
|
|
||||||
originalEvent: {}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
if ( bubble ) {
|
|
||||||
jQuery.event.trigger( e, null, elem );
|
|
||||||
} else {
|
|
||||||
jQuery.event.dispatch.call( elem, e );
|
|
||||||
}
|
|
||||||
if ( e.isDefaultPrevented() ) {
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.removeEvent = function( elem, type, handle ) {
|
jQuery.removeEvent = function( elem, type, handle ) {
|
||||||
|
|
||||||
|
// This "if" is needed for plain objects
|
||||||
if ( elem.removeEventListener ) {
|
if ( elem.removeEventListener ) {
|
||||||
elem.removeEventListener( type, handle, false );
|
elem.removeEventListener( type, handle );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.Event = function( src, props ) {
|
jQuery.Event = function( src, props ) {
|
||||||
|
|
||||||
// Allow instantiation without the 'new' keyword
|
// Allow instantiation without the 'new' keyword
|
||||||
if ( !(this instanceof jQuery.Event) ) {
|
if ( !( this instanceof jQuery.Event ) ) {
|
||||||
return new jQuery.Event( src, props );
|
return new jQuery.Event( src, props );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -635,11 +518,22 @@ jQuery.Event = function( src, props ) {
|
|||||||
// by a handler lower down the tree; reflect the correct value.
|
// by a handler lower down the tree; reflect the correct value.
|
||||||
this.isDefaultPrevented = src.defaultPrevented ||
|
this.isDefaultPrevented = src.defaultPrevented ||
|
||||||
src.defaultPrevented === undefined &&
|
src.defaultPrevented === undefined &&
|
||||||
// Support: Android<4.0
|
|
||||||
|
// Support: Android <=2.3 only
|
||||||
src.returnValue === false ?
|
src.returnValue === false ?
|
||||||
returnTrue :
|
returnTrue :
|
||||||
returnFalse;
|
returnFalse;
|
||||||
|
|
||||||
|
// Create target properties
|
||||||
|
// Support: Safari <=6 - 7 only
|
||||||
|
// Target should not be a text node (#504, #13143)
|
||||||
|
this.target = ( src.target && src.target.nodeType === 3 ) ?
|
||||||
|
src.target.parentNode :
|
||||||
|
src.target;
|
||||||
|
|
||||||
|
this.currentTarget = src.currentTarget;
|
||||||
|
this.relatedTarget = src.relatedTarget;
|
||||||
|
|
||||||
// Event type
|
// Event type
|
||||||
} else {
|
} else {
|
||||||
this.type = src;
|
this.type = src;
|
||||||
@@ -658,18 +552,20 @@ jQuery.Event = function( src, props ) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
|
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
|
||||||
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||||
jQuery.Event.prototype = {
|
jQuery.Event.prototype = {
|
||||||
|
constructor: jQuery.Event,
|
||||||
isDefaultPrevented: returnFalse,
|
isDefaultPrevented: returnFalse,
|
||||||
isPropagationStopped: returnFalse,
|
isPropagationStopped: returnFalse,
|
||||||
isImmediatePropagationStopped: returnFalse,
|
isImmediatePropagationStopped: returnFalse,
|
||||||
|
isSimulated: false,
|
||||||
|
|
||||||
preventDefault: function() {
|
preventDefault: function() {
|
||||||
var e = this.originalEvent;
|
var e = this.originalEvent;
|
||||||
|
|
||||||
this.isDefaultPrevented = returnTrue;
|
this.isDefaultPrevented = returnTrue;
|
||||||
|
|
||||||
if ( e && e.preventDefault ) {
|
if ( e && !this.isSimulated ) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -678,7 +574,7 @@ jQuery.Event.prototype = {
|
|||||||
|
|
||||||
this.isPropagationStopped = returnTrue;
|
this.isPropagationStopped = returnTrue;
|
||||||
|
|
||||||
if ( e && e.stopPropagation ) {
|
if ( e && !this.isSimulated ) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -687,7 +583,7 @@ jQuery.Event.prototype = {
|
|||||||
|
|
||||||
this.isImmediatePropagationStopped = returnTrue;
|
this.isImmediatePropagationStopped = returnTrue;
|
||||||
|
|
||||||
if ( e && e.stopImmediatePropagation ) {
|
if ( e && !this.isSimulated ) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -695,9 +591,64 @@ jQuery.Event.prototype = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Includes all common event props including KeyEvent and MouseEvent specific props
|
||||||
|
jQuery.each( {
|
||||||
|
altKey: true,
|
||||||
|
bubbles: true,
|
||||||
|
cancelable: true,
|
||||||
|
changedTouches: true,
|
||||||
|
ctrlKey: true,
|
||||||
|
detail: true,
|
||||||
|
eventPhase: true,
|
||||||
|
metaKey: true,
|
||||||
|
pageX: true,
|
||||||
|
pageY: true,
|
||||||
|
shiftKey: true,
|
||||||
|
view: true,
|
||||||
|
"char": true,
|
||||||
|
charCode: true,
|
||||||
|
key: true,
|
||||||
|
keyCode: true,
|
||||||
|
button: true,
|
||||||
|
buttons: true,
|
||||||
|
clientX: true,
|
||||||
|
clientY: true,
|
||||||
|
offsetX: true,
|
||||||
|
offsetY: true,
|
||||||
|
pointerId: true,
|
||||||
|
pointerType: true,
|
||||||
|
screenX: true,
|
||||||
|
screenY: true,
|
||||||
|
targetTouches: true,
|
||||||
|
toElement: true,
|
||||||
|
touches: true,
|
||||||
|
|
||||||
|
which: function( event ) {
|
||||||
|
var button = event.button;
|
||||||
|
|
||||||
|
// Add which for key events
|
||||||
|
if ( event.which == null && rkeyEvent.test( event.type ) ) {
|
||||||
|
return event.charCode != null ? event.charCode : event.keyCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add which for click: 1 === left; 2 === middle; 3 === right
|
||||||
|
if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
|
||||||
|
return ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
return event.which;
|
||||||
|
}
|
||||||
|
}, jQuery.event.addProp );
|
||||||
|
|
||||||
// Create mouseenter/leave events using mouseover/out and event-time checks
|
// Create mouseenter/leave events using mouseover/out and event-time checks
|
||||||
// Support: Chrome 15+
|
// so that event delegation works in jQuery.
|
||||||
jQuery.each({
|
// Do the same for pointerenter/pointerleave and pointerover/pointerout
|
||||||
|
//
|
||||||
|
// Support: Safari 7 only
|
||||||
|
// Safari sends mouseenter too often; see:
|
||||||
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
|
||||||
|
// for the description of the bug (it existed in older Chrome versions as well).
|
||||||
|
jQuery.each( {
|
||||||
mouseenter: "mouseover",
|
mouseenter: "mouseover",
|
||||||
mouseleave: "mouseout",
|
mouseleave: "mouseout",
|
||||||
pointerenter: "pointerover",
|
pointerenter: "pointerover",
|
||||||
@@ -713,9 +664,9 @@ jQuery.each({
|
|||||||
related = event.relatedTarget,
|
related = event.relatedTarget,
|
||||||
handleObj = event.handleObj;
|
handleObj = event.handleObj;
|
||||||
|
|
||||||
// For mousenter/leave call the handler if related is outside the target.
|
// For mouseenter/leave call the handler if related is outside the target.
|
||||||
// NB: No relatedTarget if the mouse left/entered the browser window
|
// NB: No relatedTarget if the mouse left/entered the browser window
|
||||||
if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
|
if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
|
||||||
event.type = handleObj.origType;
|
event.type = handleObj.origType;
|
||||||
ret = handleObj.handler.apply( this, arguments );
|
ret = handleObj.handler.apply( this, arguments );
|
||||||
event.type = fix;
|
event.type = fix;
|
||||||
@@ -723,115 +674,33 @@ jQuery.each({
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Support: Firefox, Chrome, Safari
|
jQuery.fn.extend( {
|
||||||
// Create "bubbling" focus and blur events
|
|
||||||
if ( !support.focusinBubbles ) {
|
|
||||||
jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
|
|
||||||
|
|
||||||
// Attach a single capturing handler on the document while someone wants focusin/focusout
|
on: function( types, selector, data, fn ) {
|
||||||
var handler = function( event ) {
|
return on( this, types, selector, data, fn );
|
||||||
jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
|
|
||||||
};
|
|
||||||
|
|
||||||
jQuery.event.special[ fix ] = {
|
|
||||||
setup: function() {
|
|
||||||
var doc = this.ownerDocument || this,
|
|
||||||
attaches = data_priv.access( doc, fix );
|
|
||||||
|
|
||||||
if ( !attaches ) {
|
|
||||||
doc.addEventListener( orig, handler, true );
|
|
||||||
}
|
|
||||||
data_priv.access( doc, fix, ( attaches || 0 ) + 1 );
|
|
||||||
},
|
|
||||||
teardown: function() {
|
|
||||||
var doc = this.ownerDocument || this,
|
|
||||||
attaches = data_priv.access( doc, fix ) - 1;
|
|
||||||
|
|
||||||
if ( !attaches ) {
|
|
||||||
doc.removeEventListener( orig, handler, true );
|
|
||||||
data_priv.remove( doc, fix );
|
|
||||||
|
|
||||||
} else {
|
|
||||||
data_priv.access( doc, fix, attaches );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
jQuery.fn.extend({
|
|
||||||
|
|
||||||
on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
|
|
||||||
var origFn, type;
|
|
||||||
|
|
||||||
// Types can be a map of types/handlers
|
|
||||||
if ( typeof types === "object" ) {
|
|
||||||
// ( types-Object, selector, data )
|
|
||||||
if ( typeof selector !== "string" ) {
|
|
||||||
// ( types-Object, data )
|
|
||||||
data = data || selector;
|
|
||||||
selector = undefined;
|
|
||||||
}
|
|
||||||
for ( type in types ) {
|
|
||||||
this.on( type, selector, data, types[ type ], one );
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( data == null && fn == null ) {
|
|
||||||
// ( types, fn )
|
|
||||||
fn = selector;
|
|
||||||
data = selector = undefined;
|
|
||||||
} else if ( fn == null ) {
|
|
||||||
if ( typeof selector === "string" ) {
|
|
||||||
// ( types, selector, fn )
|
|
||||||
fn = data;
|
|
||||||
data = undefined;
|
|
||||||
} else {
|
|
||||||
// ( types, data, fn )
|
|
||||||
fn = data;
|
|
||||||
data = selector;
|
|
||||||
selector = undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( fn === false ) {
|
|
||||||
fn = returnFalse;
|
|
||||||
} else if ( !fn ) {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( one === 1 ) {
|
|
||||||
origFn = fn;
|
|
||||||
fn = function( event ) {
|
|
||||||
// Can use an empty set, since event contains the info
|
|
||||||
jQuery().off( event );
|
|
||||||
return origFn.apply( this, arguments );
|
|
||||||
};
|
|
||||||
// Use same guid so caller can remove using origFn
|
|
||||||
fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
|
|
||||||
}
|
|
||||||
return this.each( function() {
|
|
||||||
jQuery.event.add( this, types, fn, data, selector );
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
one: function( types, selector, data, fn ) {
|
one: function( types, selector, data, fn ) {
|
||||||
return this.on( types, selector, data, fn, 1 );
|
return on( this, types, selector, data, fn, 1 );
|
||||||
},
|
},
|
||||||
off: function( types, selector, fn ) {
|
off: function( types, selector, fn ) {
|
||||||
var handleObj, type;
|
var handleObj, type;
|
||||||
if ( types && types.preventDefault && types.handleObj ) {
|
if ( types && types.preventDefault && types.handleObj ) {
|
||||||
|
|
||||||
// ( event ) dispatched jQuery.Event
|
// ( event ) dispatched jQuery.Event
|
||||||
handleObj = types.handleObj;
|
handleObj = types.handleObj;
|
||||||
jQuery( types.delegateTarget ).off(
|
jQuery( types.delegateTarget ).off(
|
||||||
handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,
|
handleObj.namespace ?
|
||||||
|
handleObj.origType + "." + handleObj.namespace :
|
||||||
|
handleObj.origType,
|
||||||
handleObj.selector,
|
handleObj.selector,
|
||||||
handleObj.handler
|
handleObj.handler
|
||||||
);
|
);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
if ( typeof types === "object" ) {
|
if ( typeof types === "object" ) {
|
||||||
|
|
||||||
// ( types-object [, selector] )
|
// ( types-object [, selector] )
|
||||||
for ( type in types ) {
|
for ( type in types ) {
|
||||||
this.off( type, selector, types[ type ] );
|
this.off( type, selector, types[ type ] );
|
||||||
@@ -839,6 +708,7 @@ jQuery.fn.extend({
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
if ( selector === false || typeof selector === "function" ) {
|
if ( selector === false || typeof selector === "function" ) {
|
||||||
|
|
||||||
// ( types [, fn] )
|
// ( types [, fn] )
|
||||||
fn = selector;
|
fn = selector;
|
||||||
selector = undefined;
|
selector = undefined;
|
||||||
@@ -846,23 +716,11 @@ jQuery.fn.extend({
|
|||||||
if ( fn === false ) {
|
if ( fn === false ) {
|
||||||
fn = returnFalse;
|
fn = returnFalse;
|
||||||
}
|
}
|
||||||
return this.each(function() {
|
return this.each( function() {
|
||||||
jQuery.event.remove( this, types, fn, selector );
|
jQuery.event.remove( this, types, fn, selector );
|
||||||
});
|
} );
|
||||||
},
|
|
||||||
|
|
||||||
trigger: function( type, data ) {
|
|
||||||
return this.each(function() {
|
|
||||||
jQuery.event.trigger( type, data, this );
|
|
||||||
});
|
|
||||||
},
|
|
||||||
triggerHandler: function( type, data ) {
|
|
||||||
var elem = this[0];
|
|
||||||
if ( elem ) {
|
|
||||||
return jQuery.event.trigger( type, data, elem, true );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
17
bower_components/jquery/src/event/ajax.js
vendored
17
bower_components/jquery/src/event/ajax.js
vendored
@@ -1,13 +1,22 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../event"
|
"../event"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// Attach a bunch of functions for handling common AJAX events
|
// Attach a bunch of functions for handling common AJAX events
|
||||||
jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) {
|
jQuery.each( [
|
||||||
|
"ajaxStart",
|
||||||
|
"ajaxStop",
|
||||||
|
"ajaxComplete",
|
||||||
|
"ajaxError",
|
||||||
|
"ajaxSuccess",
|
||||||
|
"ajaxSend"
|
||||||
|
], function( i, type ) {
|
||||||
jQuery.fn[ type ] = function( fn ) {
|
jQuery.fn[ type ] = function( fn ) {
|
||||||
return this.on( type, fn );
|
return this.on( type, fn );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
36
bower_components/jquery/src/event/alias.js
vendored
36
bower_components/jquery/src/event/alias.js
vendored
@@ -1,11 +1,16 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../event"
|
|
||||||
|
"../event",
|
||||||
|
"./trigger"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
|
"use strict";
|
||||||
|
|
||||||
|
jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
|
||||||
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
|
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
|
||||||
"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
|
"change select submit keydown keypress keyup contextmenu" ).split( " " ),
|
||||||
|
function( i, name ) {
|
||||||
|
|
||||||
// Handle event binding
|
// Handle event binding
|
||||||
jQuery.fn[ name ] = function( data, fn ) {
|
jQuery.fn[ name ] = function( data, fn ) {
|
||||||
@@ -13,27 +18,12 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
|
|||||||
this.on( name, null, data, fn ) :
|
this.on( name, null, data, fn ) :
|
||||||
this.trigger( name );
|
this.trigger( name );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend( {
|
||||||
hover: function( fnOver, fnOut ) {
|
hover: function( fnOver, fnOut ) {
|
||||||
return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
|
return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
|
||||||
},
|
|
||||||
|
|
||||||
bind: function( types, data, fn ) {
|
|
||||||
return this.on( types, null, data, fn );
|
|
||||||
},
|
|
||||||
unbind: function( types, fn ) {
|
|
||||||
return this.off( types, null, fn );
|
|
||||||
},
|
|
||||||
|
|
||||||
delegate: function( selector, types, data, fn ) {
|
|
||||||
return this.on( types, selector, data, fn );
|
|
||||||
},
|
|
||||||
undelegate: function( selector, types, fn ) {
|
|
||||||
// ( namespace ) or ( selector, types [, fn] )
|
|
||||||
return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
|
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
8
bower_components/jquery/src/event/support.js
vendored
8
bower_components/jquery/src/event/support.js
vendored
@@ -1,9 +1,11 @@
|
|||||||
define([
|
define( [
|
||||||
"../var/support"
|
"../var/support"
|
||||||
], function( support ) {
|
], function( support ) {
|
||||||
|
|
||||||
support.focusinBubbles = "onfocusin" in window;
|
"use strict";
|
||||||
|
|
||||||
|
support.focusin = "onfocusin" in window;
|
||||||
|
|
||||||
return support;
|
return support;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
8
bower_components/jquery/src/exports/amd.js
vendored
8
bower_components/jquery/src/exports/amd.js
vendored
@@ -1,7 +1,9 @@
|
|||||||
define([
|
define( [
|
||||||
"../core"
|
"../core"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// Register as a named AMD module, since jQuery can be concatenated with other
|
// Register as a named AMD module, since jQuery can be concatenated with other
|
||||||
// files that may use define, but not via a proper concatenation script that
|
// files that may use define, but not via a proper concatenation script that
|
||||||
// understands anonymous AMD modules. A named AMD is safest and most robust
|
// understands anonymous AMD modules. A named AMD is safest and most robust
|
||||||
@@ -18,7 +20,7 @@ define([
|
|||||||
if ( typeof define === "function" && define.amd ) {
|
if ( typeof define === "function" && define.amd ) {
|
||||||
define( "jquery", [], function() {
|
define( "jquery", [], function() {
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
16
bower_components/jquery/src/exports/global.js
vendored
16
bower_components/jquery/src/exports/global.js
vendored
@@ -1,9 +1,13 @@
|
|||||||
define([
|
/* ExcludeStart */
|
||||||
"../core",
|
|
||||||
"../var/strundefined"
|
// This file is included in a different way from all the others
|
||||||
], function( jQuery, strundefined ) {
|
// so the "use strict" pragma is not needed.
|
||||||
|
/* eslint strict: "off" */
|
||||||
|
|
||||||
|
/* ExcludeEnd */
|
||||||
|
|
||||||
var
|
var
|
||||||
|
|
||||||
// Map over jQuery in case of overwrite
|
// Map over jQuery in case of overwrite
|
||||||
_jQuery = window.jQuery,
|
_jQuery = window.jQuery,
|
||||||
|
|
||||||
@@ -25,8 +29,6 @@ jQuery.noConflict = function( deep ) {
|
|||||||
// Expose jQuery and $ identifiers, even in AMD
|
// Expose jQuery and $ identifiers, even in AMD
|
||||||
// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
|
// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
|
||||||
// and CommonJS for browser emulators (#13566)
|
// and CommonJS for browser emulators (#13566)
|
||||||
if ( typeof noGlobal === strundefined ) {
|
if ( !noGlobal ) {
|
||||||
window.jQuery = window.$ = jQuery;
|
window.jQuery = window.$ = jQuery;
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
|
||||||
|
|||||||
44
bower_components/jquery/src/intro.js
vendored
44
bower_components/jquery/src/intro.js
vendored
@@ -1,44 +0,0 @@
|
|||||||
/*!
|
|
||||||
* jQuery JavaScript Library v@VERSION
|
|
||||||
* http://jquery.com/
|
|
||||||
*
|
|
||||||
* Includes Sizzle.js
|
|
||||||
* http://sizzlejs.com/
|
|
||||||
*
|
|
||||||
* Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
|
|
||||||
* Released under the MIT license
|
|
||||||
* http://jquery.org/license
|
|
||||||
*
|
|
||||||
* Date: @DATE
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function( global, factory ) {
|
|
||||||
|
|
||||||
if ( typeof module === "object" && typeof module.exports === "object" ) {
|
|
||||||
// For CommonJS and CommonJS-like environments where a proper `window`
|
|
||||||
// is present, execute the factory and get jQuery.
|
|
||||||
// For environments that do not have a `window` with a `document`
|
|
||||||
// (such as Node.js), expose a factory as module.exports.
|
|
||||||
// This accentuates the need for the creation of a real `window`.
|
|
||||||
// e.g. var jQuery = require("jquery")(window);
|
|
||||||
// See ticket #14549 for more info.
|
|
||||||
module.exports = global.document ?
|
|
||||||
factory( global, true ) :
|
|
||||||
function( w ) {
|
|
||||||
if ( !w.document ) {
|
|
||||||
throw new Error( "jQuery requires a window with a document" );
|
|
||||||
}
|
|
||||||
return factory( w );
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
factory( global );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pass this if window is not defined yet
|
|
||||||
}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
|
|
||||||
|
|
||||||
// Support: Firefox 18+
|
|
||||||
// Can't be in strict mode, several libs including ASP.NET trace
|
|
||||||
// the stack via arguments.caller.callee and Firefox dies if
|
|
||||||
// you try to trace through "use strict" call chains. (#13335)
|
|
||||||
//"use strict";
|
|
||||||
13
bower_components/jquery/src/jquery.js
vendored
13
bower_components/jquery/src/jquery.js
vendored
@@ -1,9 +1,10 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./selector",
|
"./selector",
|
||||||
"./traversing",
|
"./traversing",
|
||||||
"./callbacks",
|
"./callbacks",
|
||||||
"./deferred",
|
"./deferred",
|
||||||
|
"./deferred/exceptionHook",
|
||||||
"./core/ready",
|
"./core/ready",
|
||||||
"./data",
|
"./data",
|
||||||
"./queue",
|
"./queue",
|
||||||
@@ -11,6 +12,7 @@ define([
|
|||||||
"./attributes",
|
"./attributes",
|
||||||
"./event",
|
"./event",
|
||||||
"./event/alias",
|
"./event/alias",
|
||||||
|
"./event/focusin",
|
||||||
"./manipulation",
|
"./manipulation",
|
||||||
"./manipulation/_evalUrl",
|
"./manipulation/_evalUrl",
|
||||||
"./wrap",
|
"./wrap",
|
||||||
@@ -28,10 +30,11 @@ define([
|
|||||||
"./offset",
|
"./offset",
|
||||||
"./dimensions",
|
"./dimensions",
|
||||||
"./deprecated",
|
"./deprecated",
|
||||||
"./exports/amd",
|
"./exports/amd"
|
||||||
"./exports/global"
|
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
return jQuery;
|
"use strict";
|
||||||
|
|
||||||
});
|
return ( window.jQuery = window.$ = jQuery );
|
||||||
|
|
||||||
|
} );
|
||||||
|
|||||||
530
bower_components/jquery/src/manipulation.js
vendored
530
bower_components/jquery/src/manipulation.js
vendored
@@ -1,65 +1,65 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./var/concat",
|
"./var/concat",
|
||||||
"./var/push",
|
"./var/push",
|
||||||
"./core/access",
|
"./core/access",
|
||||||
"./manipulation/var/rcheckableType",
|
"./manipulation/var/rcheckableType",
|
||||||
|
"./manipulation/var/rtagName",
|
||||||
|
"./manipulation/var/rscriptType",
|
||||||
|
"./manipulation/wrapMap",
|
||||||
|
"./manipulation/getAll",
|
||||||
|
"./manipulation/setGlobalEval",
|
||||||
|
"./manipulation/buildFragment",
|
||||||
"./manipulation/support",
|
"./manipulation/support",
|
||||||
"./data/var/data_priv",
|
|
||||||
"./data/var/data_user",
|
"./data/var/dataPriv",
|
||||||
|
"./data/var/dataUser",
|
||||||
|
"./data/var/acceptData",
|
||||||
|
"./core/DOMEval",
|
||||||
|
|
||||||
"./core/init",
|
"./core/init",
|
||||||
"./data/accepts",
|
|
||||||
"./traversing",
|
"./traversing",
|
||||||
"./selector",
|
"./selector",
|
||||||
"./event"
|
"./event"
|
||||||
], function( jQuery, concat, push, access, rcheckableType, support, data_priv, data_user ) {
|
], function( jQuery, concat, push, access,
|
||||||
|
rcheckableType, rtagName, rscriptType,
|
||||||
|
wrapMap, getAll, setGlobalEval, buildFragment, support,
|
||||||
|
dataPriv, dataUser, acceptData, DOMEval ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
var
|
var
|
||||||
rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
|
|
||||||
rtagName = /<([\w:]+)/,
|
/* eslint-disable max-len */
|
||||||
rhtml = /<|&#?\w+;/,
|
|
||||||
rnoInnerhtml = /<(?:script|style|link)/i,
|
// See https://github.com/eslint/eslint/issues/3229
|
||||||
|
rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
|
||||||
|
|
||||||
|
/* eslint-enable */
|
||||||
|
|
||||||
|
// Support: IE <=10 - 11, Edge 12 - 13
|
||||||
|
// In IE/Edge using regex groups here causes severe slowdowns.
|
||||||
|
// See https://connect.microsoft.com/IE/feedback/details/1736512/
|
||||||
|
rnoInnerhtml = /<script|<style|<link/i,
|
||||||
|
|
||||||
// checked="checked" or checked
|
// checked="checked" or checked
|
||||||
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
|
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
|
||||||
rscriptType = /^$|\/(?:java|ecma)script/i,
|
|
||||||
rscriptTypeMasked = /^true\/(.*)/,
|
rscriptTypeMasked = /^true\/(.*)/,
|
||||||
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
|
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
|
||||||
|
|
||||||
// We have to close these tags to support XHTML (#13200)
|
|
||||||
wrapMap = {
|
|
||||||
|
|
||||||
// Support: IE9
|
|
||||||
option: [ 1, "<select multiple='multiple'>", "</select>" ],
|
|
||||||
|
|
||||||
thead: [ 1, "<table>", "</table>" ],
|
|
||||||
col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
|
|
||||||
tr: [ 2, "<table><tbody>", "</tbody></table>" ],
|
|
||||||
td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
|
|
||||||
|
|
||||||
_default: [ 0, "", "" ]
|
|
||||||
};
|
|
||||||
|
|
||||||
// Support: IE9
|
|
||||||
wrapMap.optgroup = wrapMap.option;
|
|
||||||
|
|
||||||
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
|
|
||||||
wrapMap.th = wrapMap.td;
|
|
||||||
|
|
||||||
// Support: 1.x compatibility
|
|
||||||
// Manipulating tables requires a tbody
|
|
||||||
function manipulationTarget( elem, content ) {
|
function manipulationTarget( elem, content ) {
|
||||||
return jQuery.nodeName( elem, "table" ) &&
|
if ( jQuery.nodeName( elem, "table" ) &&
|
||||||
jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
|
jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
|
||||||
|
|
||||||
elem.getElementsByTagName("tbody")[0] ||
|
return elem.getElementsByTagName( "tbody" )[ 0 ] || elem;
|
||||||
elem.appendChild( elem.ownerDocument.createElement("tbody") ) :
|
}
|
||||||
elem;
|
|
||||||
|
return elem;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Replace/restore the type attribute of script elements for safe DOM manipulation
|
// Replace/restore the type attribute of script elements for safe DOM manipulation
|
||||||
function disableScript( elem ) {
|
function disableScript( elem ) {
|
||||||
elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type;
|
elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
|
||||||
return elem;
|
return elem;
|
||||||
}
|
}
|
||||||
function restoreScript( elem ) {
|
function restoreScript( elem ) {
|
||||||
@@ -68,24 +68,12 @@ function restoreScript( elem ) {
|
|||||||
if ( match ) {
|
if ( match ) {
|
||||||
elem.type = match[ 1 ];
|
elem.type = match[ 1 ];
|
||||||
} else {
|
} else {
|
||||||
elem.removeAttribute("type");
|
elem.removeAttribute( "type" );
|
||||||
}
|
}
|
||||||
|
|
||||||
return elem;
|
return elem;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mark scripts as having already been evaluated
|
|
||||||
function setGlobalEval( elems, refElements ) {
|
|
||||||
var i = 0,
|
|
||||||
l = elems.length;
|
|
||||||
|
|
||||||
for ( ; i < l; i++ ) {
|
|
||||||
data_priv.set(
|
|
||||||
elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" )
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function cloneCopyEvent( src, dest ) {
|
function cloneCopyEvent( src, dest ) {
|
||||||
var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
|
var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
|
||||||
|
|
||||||
@@ -94,9 +82,9 @@ function cloneCopyEvent( src, dest ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 1. Copy private data: events, handlers, etc.
|
// 1. Copy private data: events, handlers, etc.
|
||||||
if ( data_priv.hasData( src ) ) {
|
if ( dataPriv.hasData( src ) ) {
|
||||||
pdataOld = data_priv.access( src );
|
pdataOld = dataPriv.access( src );
|
||||||
pdataCur = data_priv.set( dest, pdataOld );
|
pdataCur = dataPriv.set( dest, pdataOld );
|
||||||
events = pdataOld.events;
|
events = pdataOld.events;
|
||||||
|
|
||||||
if ( events ) {
|
if ( events ) {
|
||||||
@@ -112,24 +100,14 @@ function cloneCopyEvent( src, dest ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2. Copy user data
|
// 2. Copy user data
|
||||||
if ( data_user.hasData( src ) ) {
|
if ( dataUser.hasData( src ) ) {
|
||||||
udataOld = data_user.access( src );
|
udataOld = dataUser.access( src );
|
||||||
udataCur = jQuery.extend( {}, udataOld );
|
udataCur = jQuery.extend( {}, udataOld );
|
||||||
|
|
||||||
data_user.set( dest, udataCur );
|
dataUser.set( dest, udataCur );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAll( context, tag ) {
|
|
||||||
var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) :
|
|
||||||
context.querySelectorAll ? context.querySelectorAll( tag || "*" ) :
|
|
||||||
[];
|
|
||||||
|
|
||||||
return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
|
|
||||||
jQuery.merge( [ context ], ret ) :
|
|
||||||
ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fix IE bugs, see support tests
|
// Fix IE bugs, see support tests
|
||||||
function fixInput( src, dest ) {
|
function fixInput( src, dest ) {
|
||||||
var nodeName = dest.nodeName.toLowerCase();
|
var nodeName = dest.nodeName.toLowerCase();
|
||||||
@@ -144,7 +122,122 @@ function fixInput( src, dest ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
jQuery.extend({
|
function domManip( collection, args, callback, ignored ) {
|
||||||
|
|
||||||
|
// Flatten any nested arrays
|
||||||
|
args = concat.apply( [], args );
|
||||||
|
|
||||||
|
var fragment, first, scripts, hasScripts, node, doc,
|
||||||
|
i = 0,
|
||||||
|
l = collection.length,
|
||||||
|
iNoClone = l - 1,
|
||||||
|
value = args[ 0 ],
|
||||||
|
isFunction = jQuery.isFunction( value );
|
||||||
|
|
||||||
|
// We can't cloneNode fragments that contain checked, in WebKit
|
||||||
|
if ( isFunction ||
|
||||||
|
( l > 1 && typeof value === "string" &&
|
||||||
|
!support.checkClone && rchecked.test( value ) ) ) {
|
||||||
|
return collection.each( function( index ) {
|
||||||
|
var self = collection.eq( index );
|
||||||
|
if ( isFunction ) {
|
||||||
|
args[ 0 ] = value.call( this, index, self.html() );
|
||||||
|
}
|
||||||
|
domManip( self, args, callback, ignored );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( l ) {
|
||||||
|
fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
|
||||||
|
first = fragment.firstChild;
|
||||||
|
|
||||||
|
if ( fragment.childNodes.length === 1 ) {
|
||||||
|
fragment = first;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Require either new content or an interest in ignored elements to invoke the callback
|
||||||
|
if ( first || ignored ) {
|
||||||
|
scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
|
||||||
|
hasScripts = scripts.length;
|
||||||
|
|
||||||
|
// Use the original fragment for the last item
|
||||||
|
// instead of the first because it can end up
|
||||||
|
// being emptied incorrectly in certain situations (#8070).
|
||||||
|
for ( ; i < l; i++ ) {
|
||||||
|
node = fragment;
|
||||||
|
|
||||||
|
if ( i !== iNoClone ) {
|
||||||
|
node = jQuery.clone( node, true, true );
|
||||||
|
|
||||||
|
// Keep references to cloned scripts for later restoration
|
||||||
|
if ( hasScripts ) {
|
||||||
|
|
||||||
|
// Support: Android <=4.0 only, PhantomJS 1 only
|
||||||
|
// push.apply(_, arraylike) throws on ancient WebKit
|
||||||
|
jQuery.merge( scripts, getAll( node, "script" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
callback.call( collection[ i ], node, i );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( hasScripts ) {
|
||||||
|
doc = scripts[ scripts.length - 1 ].ownerDocument;
|
||||||
|
|
||||||
|
// Reenable scripts
|
||||||
|
jQuery.map( scripts, restoreScript );
|
||||||
|
|
||||||
|
// Evaluate executable scripts on first document insertion
|
||||||
|
for ( i = 0; i < hasScripts; i++ ) {
|
||||||
|
node = scripts[ i ];
|
||||||
|
if ( rscriptType.test( node.type || "" ) &&
|
||||||
|
!dataPriv.access( node, "globalEval" ) &&
|
||||||
|
jQuery.contains( doc, node ) ) {
|
||||||
|
|
||||||
|
if ( node.src ) {
|
||||||
|
|
||||||
|
// Optional AJAX dependency, but won't run scripts if not present
|
||||||
|
if ( jQuery._evalUrl ) {
|
||||||
|
jQuery._evalUrl( node.src );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return collection;
|
||||||
|
}
|
||||||
|
|
||||||
|
function remove( elem, selector, keepData ) {
|
||||||
|
var node,
|
||||||
|
nodes = selector ? jQuery.filter( selector, elem ) : elem,
|
||||||
|
i = 0;
|
||||||
|
|
||||||
|
for ( ; ( node = nodes[ i ] ) != null; i++ ) {
|
||||||
|
if ( !keepData && node.nodeType === 1 ) {
|
||||||
|
jQuery.cleanData( getAll( node ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( node.parentNode ) {
|
||||||
|
if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
|
||||||
|
setGlobalEval( getAll( node, "script" ) );
|
||||||
|
}
|
||||||
|
node.parentNode.removeChild( node );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return elem;
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery.extend( {
|
||||||
|
htmlPrefilter: function( html ) {
|
||||||
|
return html.replace( rxhtmlTag, "<$1></$2>" );
|
||||||
|
},
|
||||||
|
|
||||||
clone: function( elem, dataAndEvents, deepDataAndEvents ) {
|
clone: function( elem, dataAndEvents, deepDataAndEvents ) {
|
||||||
var i, l, srcElements, destElements,
|
var i, l, srcElements, destElements,
|
||||||
clone = elem.cloneNode( true ),
|
clone = elem.cloneNode( true ),
|
||||||
@@ -154,7 +247,7 @@ jQuery.extend({
|
|||||||
if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
|
if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
|
||||||
!jQuery.isXMLDoc( elem ) ) {
|
!jQuery.isXMLDoc( elem ) ) {
|
||||||
|
|
||||||
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
|
// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
|
||||||
destElements = getAll( clone );
|
destElements = getAll( clone );
|
||||||
srcElements = getAll( elem );
|
srcElements = getAll( elem );
|
||||||
|
|
||||||
@@ -187,102 +280,14 @@ jQuery.extend({
|
|||||||
return clone;
|
return clone;
|
||||||
},
|
},
|
||||||
|
|
||||||
buildFragment: function( elems, context, scripts, selection ) {
|
|
||||||
var elem, tmp, tag, wrap, contains, j,
|
|
||||||
fragment = context.createDocumentFragment(),
|
|
||||||
nodes = [],
|
|
||||||
i = 0,
|
|
||||||
l = elems.length;
|
|
||||||
|
|
||||||
for ( ; i < l; i++ ) {
|
|
||||||
elem = elems[ i ];
|
|
||||||
|
|
||||||
if ( elem || elem === 0 ) {
|
|
||||||
|
|
||||||
// Add nodes directly
|
|
||||||
if ( jQuery.type( elem ) === "object" ) {
|
|
||||||
// Support: QtWebKit, PhantomJS
|
|
||||||
// push.apply(_, arraylike) throws on ancient WebKit
|
|
||||||
jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
|
|
||||||
|
|
||||||
// Convert non-html into a text node
|
|
||||||
} else if ( !rhtml.test( elem ) ) {
|
|
||||||
nodes.push( context.createTextNode( elem ) );
|
|
||||||
|
|
||||||
// Convert html into DOM nodes
|
|
||||||
} else {
|
|
||||||
tmp = tmp || fragment.appendChild( context.createElement("div") );
|
|
||||||
|
|
||||||
// Deserialize a standard representation
|
|
||||||
tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
|
|
||||||
wrap = wrapMap[ tag ] || wrapMap._default;
|
|
||||||
tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[ 2 ];
|
|
||||||
|
|
||||||
// Descend through wrappers to the right content
|
|
||||||
j = wrap[ 0 ];
|
|
||||||
while ( j-- ) {
|
|
||||||
tmp = tmp.lastChild;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Support: QtWebKit, PhantomJS
|
|
||||||
// push.apply(_, arraylike) throws on ancient WebKit
|
|
||||||
jQuery.merge( nodes, tmp.childNodes );
|
|
||||||
|
|
||||||
// Remember the top-level container
|
|
||||||
tmp = fragment.firstChild;
|
|
||||||
|
|
||||||
// Ensure the created nodes are orphaned (#12392)
|
|
||||||
tmp.textContent = "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove wrapper from fragment
|
|
||||||
fragment.textContent = "";
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while ( (elem = nodes[ i++ ]) ) {
|
|
||||||
|
|
||||||
// #4087 - If origin and destination elements are the same, and this is
|
|
||||||
// that element, do not do anything
|
|
||||||
if ( selection && jQuery.inArray( elem, selection ) !== -1 ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
contains = jQuery.contains( elem.ownerDocument, elem );
|
|
||||||
|
|
||||||
// Append to fragment
|
|
||||||
tmp = getAll( fragment.appendChild( elem ), "script" );
|
|
||||||
|
|
||||||
// Preserve script evaluation history
|
|
||||||
if ( contains ) {
|
|
||||||
setGlobalEval( tmp );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Capture executables
|
|
||||||
if ( scripts ) {
|
|
||||||
j = 0;
|
|
||||||
while ( (elem = tmp[ j++ ]) ) {
|
|
||||||
if ( rscriptType.test( elem.type || "" ) ) {
|
|
||||||
scripts.push( elem );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return fragment;
|
|
||||||
},
|
|
||||||
|
|
||||||
cleanData: function( elems ) {
|
cleanData: function( elems ) {
|
||||||
var data, elem, type, key,
|
var data, elem, type,
|
||||||
special = jQuery.event.special,
|
special = jQuery.event.special,
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
||||||
for ( ; (elem = elems[ i ]) !== undefined; i++ ) {
|
for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
|
||||||
if ( jQuery.acceptData( elem ) ) {
|
if ( acceptData( elem ) ) {
|
||||||
key = elem[ data_priv.expando ];
|
if ( ( data = elem[ dataPriv.expando ] ) ) {
|
||||||
|
|
||||||
if ( key && (data = data_priv.cache[ key ]) ) {
|
|
||||||
if ( data.events ) {
|
if ( data.events ) {
|
||||||
for ( type in data.events ) {
|
for ( type in data.events ) {
|
||||||
if ( special[ type ] ) {
|
if ( special[ type ] ) {
|
||||||
@@ -294,91 +299,82 @@ jQuery.extend({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( data_priv.cache[ key ] ) {
|
|
||||||
// Discard any remaining `private` data
|
// Support: Chrome <=35 - 45+
|
||||||
delete data_priv.cache[ key ];
|
// Assign undefined instead of using delete, see Data#remove
|
||||||
}
|
elem[ dataPriv.expando ] = undefined;
|
||||||
|
}
|
||||||
|
if ( elem[ dataUser.expando ] ) {
|
||||||
|
|
||||||
|
// Support: Chrome <=35 - 45+
|
||||||
|
// Assign undefined instead of using delete, see Data#remove
|
||||||
|
elem[ dataUser.expando ] = undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Discard any remaining `user` data
|
|
||||||
delete data_user.cache[ elem[ data_user.expando ] ];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
|
jQuery.fn.extend( {
|
||||||
|
detach: function( selector ) {
|
||||||
|
return remove( this, selector, true );
|
||||||
|
},
|
||||||
|
|
||||||
|
remove: function( selector ) {
|
||||||
|
return remove( this, selector );
|
||||||
|
},
|
||||||
|
|
||||||
jQuery.fn.extend({
|
|
||||||
text: function( value ) {
|
text: function( value ) {
|
||||||
return access( this, function( value ) {
|
return access( this, function( value ) {
|
||||||
return value === undefined ?
|
return value === undefined ?
|
||||||
jQuery.text( this ) :
|
jQuery.text( this ) :
|
||||||
this.empty().each(function() {
|
this.empty().each( function() {
|
||||||
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
||||||
this.textContent = value;
|
this.textContent = value;
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
}, null, value, arguments.length );
|
}, null, value, arguments.length );
|
||||||
},
|
},
|
||||||
|
|
||||||
append: function() {
|
append: function() {
|
||||||
return this.domManip( arguments, function( elem ) {
|
return domManip( this, arguments, function( elem ) {
|
||||||
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
||||||
var target = manipulationTarget( this, elem );
|
var target = manipulationTarget( this, elem );
|
||||||
target.appendChild( elem );
|
target.appendChild( elem );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
},
|
},
|
||||||
|
|
||||||
prepend: function() {
|
prepend: function() {
|
||||||
return this.domManip( arguments, function( elem ) {
|
return domManip( this, arguments, function( elem ) {
|
||||||
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
||||||
var target = manipulationTarget( this, elem );
|
var target = manipulationTarget( this, elem );
|
||||||
target.insertBefore( elem, target.firstChild );
|
target.insertBefore( elem, target.firstChild );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
},
|
},
|
||||||
|
|
||||||
before: function() {
|
before: function() {
|
||||||
return this.domManip( arguments, function( elem ) {
|
return domManip( this, arguments, function( elem ) {
|
||||||
if ( this.parentNode ) {
|
if ( this.parentNode ) {
|
||||||
this.parentNode.insertBefore( elem, this );
|
this.parentNode.insertBefore( elem, this );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
},
|
},
|
||||||
|
|
||||||
after: function() {
|
after: function() {
|
||||||
return this.domManip( arguments, function( elem ) {
|
return domManip( this, arguments, function( elem ) {
|
||||||
if ( this.parentNode ) {
|
if ( this.parentNode ) {
|
||||||
this.parentNode.insertBefore( elem, this.nextSibling );
|
this.parentNode.insertBefore( elem, this.nextSibling );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
},
|
|
||||||
|
|
||||||
remove: function( selector, keepData /* Internal Use Only */ ) {
|
|
||||||
var elem,
|
|
||||||
elems = selector ? jQuery.filter( selector, this ) : this,
|
|
||||||
i = 0;
|
|
||||||
|
|
||||||
for ( ; (elem = elems[i]) != null; i++ ) {
|
|
||||||
if ( !keepData && elem.nodeType === 1 ) {
|
|
||||||
jQuery.cleanData( getAll( elem ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( elem.parentNode ) {
|
|
||||||
if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {
|
|
||||||
setGlobalEval( getAll( elem, "script" ) );
|
|
||||||
}
|
|
||||||
elem.parentNode.removeChild( elem );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return this;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
empty: function() {
|
empty: function() {
|
||||||
var elem,
|
var elem,
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
||||||
for ( ; (elem = this[i]) != null; i++ ) {
|
for ( ; ( elem = this[ i ] ) != null; i++ ) {
|
||||||
if ( elem.nodeType === 1 ) {
|
if ( elem.nodeType === 1 ) {
|
||||||
|
|
||||||
// Prevent memory leaks
|
// Prevent memory leaks
|
||||||
@@ -396,9 +392,9 @@ jQuery.fn.extend({
|
|||||||
dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
|
dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
|
||||||
deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
|
deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
|
||||||
|
|
||||||
return this.map(function() {
|
return this.map( function() {
|
||||||
return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
|
return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
|
||||||
});
|
} );
|
||||||
},
|
},
|
||||||
|
|
||||||
html: function( value ) {
|
html: function( value ) {
|
||||||
@@ -415,7 +411,7 @@ jQuery.fn.extend({
|
|||||||
if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
|
if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
|
||||||
!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
|
!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
|
||||||
|
|
||||||
value = value.replace( rxhtmlTag, "<$1></$2>" );
|
value = jQuery.htmlPrefilter( value );
|
||||||
|
|
||||||
try {
|
try {
|
||||||
for ( ; i < l; i++ ) {
|
for ( ; i < l; i++ ) {
|
||||||
@@ -431,7 +427,7 @@ jQuery.fn.extend({
|
|||||||
elem = 0;
|
elem = 0;
|
||||||
|
|
||||||
// If using innerHTML throws an exception, use the fallback method
|
// If using innerHTML throws an exception, use the fallback method
|
||||||
} catch( e ) {}
|
} catch ( e ) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( elem ) {
|
if ( elem ) {
|
||||||
@@ -441,115 +437,25 @@ jQuery.fn.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
replaceWith: function() {
|
replaceWith: function() {
|
||||||
var arg = arguments[ 0 ];
|
var ignored = [];
|
||||||
|
|
||||||
// Make the changes, replacing each context element with the new content
|
// Make the changes, replacing each non-ignored context element with the new content
|
||||||
this.domManip( arguments, function( elem ) {
|
return domManip( this, arguments, function( elem ) {
|
||||||
arg = this.parentNode;
|
var parent = this.parentNode;
|
||||||
|
|
||||||
jQuery.cleanData( getAll( this ) );
|
if ( jQuery.inArray( this, ignored ) < 0 ) {
|
||||||
|
jQuery.cleanData( getAll( this ) );
|
||||||
if ( arg ) {
|
if ( parent ) {
|
||||||
arg.replaceChild( elem, this );
|
parent.replaceChild( elem, this );
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Force removal if there was no new content (e.g., from empty arguments)
|
|
||||||
return arg && (arg.length || arg.nodeType) ? this : this.remove();
|
|
||||||
},
|
|
||||||
|
|
||||||
detach: function( selector ) {
|
|
||||||
return this.remove( selector, true );
|
|
||||||
},
|
|
||||||
|
|
||||||
domManip: function( args, callback ) {
|
|
||||||
|
|
||||||
// Flatten any nested arrays
|
|
||||||
args = concat.apply( [], args );
|
|
||||||
|
|
||||||
var fragment, first, scripts, hasScripts, node, doc,
|
|
||||||
i = 0,
|
|
||||||
l = this.length,
|
|
||||||
set = this,
|
|
||||||
iNoClone = l - 1,
|
|
||||||
value = args[ 0 ],
|
|
||||||
isFunction = jQuery.isFunction( value );
|
|
||||||
|
|
||||||
// We can't cloneNode fragments that contain checked, in WebKit
|
|
||||||
if ( isFunction ||
|
|
||||||
( l > 1 && typeof value === "string" &&
|
|
||||||
!support.checkClone && rchecked.test( value ) ) ) {
|
|
||||||
return this.each(function( index ) {
|
|
||||||
var self = set.eq( index );
|
|
||||||
if ( isFunction ) {
|
|
||||||
args[ 0 ] = value.call( this, index, self.html() );
|
|
||||||
}
|
|
||||||
self.domManip( args, callback );
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( l ) {
|
|
||||||
fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );
|
|
||||||
first = fragment.firstChild;
|
|
||||||
|
|
||||||
if ( fragment.childNodes.length === 1 ) {
|
|
||||||
fragment = first;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( first ) {
|
|
||||||
scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
|
|
||||||
hasScripts = scripts.length;
|
|
||||||
|
|
||||||
// Use the original fragment for the last item instead of the first because it can end up
|
|
||||||
// being emptied incorrectly in certain situations (#8070).
|
|
||||||
for ( ; i < l; i++ ) {
|
|
||||||
node = fragment;
|
|
||||||
|
|
||||||
if ( i !== iNoClone ) {
|
|
||||||
node = jQuery.clone( node, true, true );
|
|
||||||
|
|
||||||
// Keep references to cloned scripts for later restoration
|
|
||||||
if ( hasScripts ) {
|
|
||||||
// Support: QtWebKit
|
|
||||||
// jQuery.merge because push.apply(_, arraylike) throws
|
|
||||||
jQuery.merge( scripts, getAll( node, "script" ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
callback.call( this[ i ], node, i );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( hasScripts ) {
|
|
||||||
doc = scripts[ scripts.length - 1 ].ownerDocument;
|
|
||||||
|
|
||||||
// Reenable scripts
|
|
||||||
jQuery.map( scripts, restoreScript );
|
|
||||||
|
|
||||||
// Evaluate executable scripts on first document insertion
|
|
||||||
for ( i = 0; i < hasScripts; i++ ) {
|
|
||||||
node = scripts[ i ];
|
|
||||||
if ( rscriptType.test( node.type || "" ) &&
|
|
||||||
!data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) {
|
|
||||||
|
|
||||||
if ( node.src ) {
|
|
||||||
// Optional AJAX dependency, but won't run scripts if not present
|
|
||||||
if ( jQuery._evalUrl ) {
|
|
||||||
jQuery._evalUrl( node.src );
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return this;
|
// Force callback invocation
|
||||||
|
}, ignored );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.each({
|
jQuery.each( {
|
||||||
appendTo: "append",
|
appendTo: "append",
|
||||||
prependTo: "prepend",
|
prependTo: "prepend",
|
||||||
insertBefore: "before",
|
insertBefore: "before",
|
||||||
@@ -567,14 +473,14 @@ jQuery.each({
|
|||||||
elems = i === last ? this : this.clone( true );
|
elems = i === last ? this : this.clone( true );
|
||||||
jQuery( insert[ i ] )[ original ]( elems );
|
jQuery( insert[ i ] )[ original ]( elems );
|
||||||
|
|
||||||
// Support: QtWebKit
|
// Support: Android <=4.0 only, PhantomJS 1 only
|
||||||
// .get() because push.apply(_, arraylike) throws
|
// .get() because push.apply(_, arraylike) throws on ancient WebKit
|
||||||
push.apply( ret, elems.get() );
|
push.apply( ret, elems.get() );
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.pushStack( ret );
|
return this.pushStack( ret );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
@@ -1,18 +1,23 @@
|
|||||||
define([
|
define( [
|
||||||
"../ajax"
|
"../ajax"
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
jQuery._evalUrl = function( url ) {
|
jQuery._evalUrl = function( url ) {
|
||||||
return jQuery.ajax({
|
return jQuery.ajax( {
|
||||||
url: url,
|
url: url,
|
||||||
|
|
||||||
|
// Make this explicit, since user can override this through ajaxSetup (#11264)
|
||||||
type: "GET",
|
type: "GET",
|
||||||
dataType: "script",
|
dataType: "script",
|
||||||
|
cache: true,
|
||||||
async: false,
|
async: false,
|
||||||
global: false,
|
global: false,
|
||||||
"throws": true
|
"throws": true
|
||||||
});
|
} );
|
||||||
};
|
};
|
||||||
|
|
||||||
return jQuery._evalUrl;
|
return jQuery._evalUrl;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
define([
|
define( [
|
||||||
|
"../var/document",
|
||||||
"../var/support"
|
"../var/support"
|
||||||
], function( support ) {
|
], function( document, support ) {
|
||||||
|
|
||||||
(function() {
|
"use strict";
|
||||||
|
|
||||||
|
( function() {
|
||||||
var fragment = document.createDocumentFragment(),
|
var fragment = document.createDocumentFragment(),
|
||||||
div = fragment.appendChild( document.createElement( "div" ) ),
|
div = fragment.appendChild( document.createElement( "div" ) ),
|
||||||
input = document.createElement( "input" );
|
input = document.createElement( "input" );
|
||||||
|
|
||||||
// Support: Safari<=5.1
|
// Support: Android 4.0 - 4.3 only
|
||||||
// Check state lost if the name is set (#11217)
|
// Check state lost if the name is set (#11217)
|
||||||
// Support: Windows Web Apps (WWA)
|
// Support: Windows Web Apps (WWA)
|
||||||
// `name` and `type` must use .setAttribute for WWA (#14901)
|
// `name` and `type` must use .setAttribute for WWA (#14901)
|
||||||
@@ -17,16 +20,16 @@ define([
|
|||||||
|
|
||||||
div.appendChild( input );
|
div.appendChild( input );
|
||||||
|
|
||||||
// Support: Safari<=5.1, Android<4.2
|
// Support: Android <=4.1 only
|
||||||
// Older WebKit doesn't clone checked state correctly in fragments
|
// Older WebKit doesn't clone checked state correctly in fragments
|
||||||
support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
|
support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
|
||||||
|
|
||||||
// Support: IE<=11+
|
// Support: IE <=11 only
|
||||||
// Make sure textarea (and checkbox) defaultValue is properly cloned
|
// Make sure textarea (and checkbox) defaultValue is properly cloned
|
||||||
div.innerHTML = "<textarea>x</textarea>";
|
div.innerHTML = "<textarea>x</textarea>";
|
||||||
support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
|
support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
|
||||||
})();
|
} )();
|
||||||
|
|
||||||
return support;
|
return support;
|
||||||
|
|
||||||
});
|
} );
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
define(function() {
|
define( function() {
|
||||||
return (/^(?:checkbox|radio)$/i);
|
"use strict";
|
||||||
});
|
|
||||||
|
return ( /^(?:checkbox|radio)$/i );
|
||||||
|
} );
|
||||||
|
|||||||
115
bower_components/jquery/src/offset.js
vendored
115
bower_components/jquery/src/offset.js
vendored
@@ -1,7 +1,8 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./var/strundefined",
|
|
||||||
"./core/access",
|
"./core/access",
|
||||||
|
"./var/document",
|
||||||
|
"./var/documentElement",
|
||||||
"./css/var/rnumnonpx",
|
"./css/var/rnumnonpx",
|
||||||
"./css/curCSS",
|
"./css/curCSS",
|
||||||
"./css/addGetHookIf",
|
"./css/addGetHookIf",
|
||||||
@@ -10,9 +11,9 @@ define([
|
|||||||
"./core/init",
|
"./core/init",
|
||||||
"./css",
|
"./css",
|
||||||
"./selector" // contains
|
"./selector" // contains
|
||||||
], function( jQuery, strundefined, access, rnumnonpx, curCSS, addGetHookIf, support ) {
|
], function( jQuery, access, document, documentElement, rnumnonpx, curCSS, addGetHookIf, support ) {
|
||||||
|
|
||||||
var docElem = window.document.documentElement;
|
"use strict";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a window from an element
|
* Gets a window from an element
|
||||||
@@ -37,7 +38,7 @@ jQuery.offset = {
|
|||||||
curCSSTop = jQuery.css( elem, "top" );
|
curCSSTop = jQuery.css( elem, "top" );
|
||||||
curCSSLeft = jQuery.css( elem, "left" );
|
curCSSLeft = jQuery.css( elem, "left" );
|
||||||
calculatePosition = ( position === "absolute" || position === "fixed" ) &&
|
calculatePosition = ( position === "absolute" || position === "fixed" ) &&
|
||||||
( curCSSTop + curCSSLeft ).indexOf("auto") > -1;
|
( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
|
||||||
|
|
||||||
// Need to be able to calculate position if either
|
// Need to be able to calculate position if either
|
||||||
// top or left is auto and position is either absolute or fixed
|
// top or left is auto and position is either absolute or fixed
|
||||||
@@ -52,7 +53,9 @@ jQuery.offset = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( jQuery.isFunction( options ) ) {
|
if ( jQuery.isFunction( options ) ) {
|
||||||
options = options.call( elem, i, curOffset );
|
|
||||||
|
// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
|
||||||
|
options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( options.top != null ) {
|
if ( options.top != null ) {
|
||||||
@@ -71,42 +74,48 @@ jQuery.offset = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend( {
|
||||||
offset: function( options ) {
|
offset: function( options ) {
|
||||||
|
|
||||||
|
// Preserve chaining for setter
|
||||||
if ( arguments.length ) {
|
if ( arguments.length ) {
|
||||||
return options === undefined ?
|
return options === undefined ?
|
||||||
this :
|
this :
|
||||||
this.each(function( i ) {
|
this.each( function( i ) {
|
||||||
jQuery.offset.setOffset( this, options, i );
|
jQuery.offset.setOffset( this, options, i );
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
var docElem, win,
|
var docElem, win, rect, doc,
|
||||||
elem = this[ 0 ],
|
elem = this[ 0 ];
|
||||||
box = { top: 0, left: 0 },
|
|
||||||
doc = elem && elem.ownerDocument;
|
|
||||||
|
|
||||||
if ( !doc ) {
|
if ( !elem ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
docElem = doc.documentElement;
|
// Support: IE <=11 only
|
||||||
|
// Running getBoundingClientRect on a
|
||||||
// Make sure it's not a disconnected DOM node
|
// disconnected node in IE throws an error
|
||||||
if ( !jQuery.contains( docElem, elem ) ) {
|
if ( !elem.getClientRects().length ) {
|
||||||
return box;
|
return { top: 0, left: 0 };
|
||||||
}
|
}
|
||||||
|
|
||||||
// Support: BlackBerry 5, iOS 3 (original iPhone)
|
rect = elem.getBoundingClientRect();
|
||||||
// If we don't have gBCR, just use 0,0 rather than error
|
|
||||||
if ( typeof elem.getBoundingClientRect !== strundefined ) {
|
// Make sure element is not hidden (display: none)
|
||||||
box = elem.getBoundingClientRect();
|
if ( rect.width || rect.height ) {
|
||||||
|
doc = elem.ownerDocument;
|
||||||
|
win = getWindow( doc );
|
||||||
|
docElem = doc.documentElement;
|
||||||
|
|
||||||
|
return {
|
||||||
|
top: rect.top + win.pageYOffset - docElem.clientTop,
|
||||||
|
left: rect.left + win.pageXOffset - docElem.clientLeft
|
||||||
|
};
|
||||||
}
|
}
|
||||||
win = getWindow( doc );
|
|
||||||
return {
|
// Return zeros for disconnected and hidden elements (gh-2310)
|
||||||
top: box.top + win.pageYOffset - docElem.clientTop,
|
return rect;
|
||||||
left: box.left + win.pageXOffset - docElem.clientLeft
|
|
||||||
};
|
|
||||||
},
|
},
|
||||||
|
|
||||||
position: function() {
|
position: function() {
|
||||||
@@ -118,12 +127,15 @@ jQuery.fn.extend({
|
|||||||
elem = this[ 0 ],
|
elem = this[ 0 ],
|
||||||
parentOffset = { top: 0, left: 0 };
|
parentOffset = { top: 0, left: 0 };
|
||||||
|
|
||||||
// Fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent
|
// Fixed elements are offset from window (parentOffset = {top:0, left: 0},
|
||||||
|
// because it is its only offset parent
|
||||||
if ( jQuery.css( elem, "position" ) === "fixed" ) {
|
if ( jQuery.css( elem, "position" ) === "fixed" ) {
|
||||||
|
|
||||||
// Assume getBoundingClientRect is there when computed position is fixed
|
// Assume getBoundingClientRect is there when computed position is fixed
|
||||||
offset = elem.getBoundingClientRect();
|
offset = elem.getBoundingClientRect();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Get *real* offsetParent
|
// Get *real* offsetParent
|
||||||
offsetParent = this.offsetParent();
|
offsetParent = this.offsetParent();
|
||||||
|
|
||||||
@@ -134,8 +146,10 @@ jQuery.fn.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add offsetParent borders
|
// Add offsetParent borders
|
||||||
parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
|
parentOffset = {
|
||||||
parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
|
top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ),
|
||||||
|
left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true )
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Subtract parent offsets and element margins
|
// Subtract parent offsets and element margins
|
||||||
@@ -145,18 +159,28 @@ jQuery.fn.extend({
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// This method will return documentElement in the following cases:
|
||||||
|
// 1) For the element inside the iframe without offsetParent, this method will return
|
||||||
|
// documentElement of the parent window
|
||||||
|
// 2) For the hidden or detached element
|
||||||
|
// 3) For body or html element, i.e. in case of the html node - it will return itself
|
||||||
|
//
|
||||||
|
// but those exceptions were never presented as a real life use-cases
|
||||||
|
// and might be considered as more preferable results.
|
||||||
|
//
|
||||||
|
// This logic, however, is not guaranteed and can change at any point in the future
|
||||||
offsetParent: function() {
|
offsetParent: function() {
|
||||||
return this.map(function() {
|
return this.map( function() {
|
||||||
var offsetParent = this.offsetParent || docElem;
|
var offsetParent = this.offsetParent;
|
||||||
|
|
||||||
while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) {
|
while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
|
||||||
offsetParent = offsetParent.offsetParent;
|
offsetParent = offsetParent.offsetParent;
|
||||||
}
|
}
|
||||||
|
|
||||||
return offsetParent || docElem;
|
return offsetParent || documentElement;
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Create scrollLeft and scrollTop methods
|
// Create scrollLeft and scrollTop methods
|
||||||
jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
|
jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
|
||||||
@@ -172,21 +196,21 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
|
|||||||
|
|
||||||
if ( win ) {
|
if ( win ) {
|
||||||
win.scrollTo(
|
win.scrollTo(
|
||||||
!top ? val : window.pageXOffset,
|
!top ? val : win.pageXOffset,
|
||||||
top ? val : window.pageYOffset
|
top ? val : win.pageYOffset
|
||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
elem[ method ] = val;
|
elem[ method ] = val;
|
||||||
}
|
}
|
||||||
}, method, val, arguments.length, null );
|
}, method, val, arguments.length );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
|
|
||||||
// Support: Safari<7+, Chrome<37+
|
// Support: Safari <=7 - 9.1, Chrome <=37 - 49
|
||||||
// Add the top/left cssHooks using jQuery.fn.position
|
// Add the top/left cssHooks using jQuery.fn.position
|
||||||
// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
|
// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
|
||||||
// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280
|
// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
|
||||||
// getComputedStyle returns percent when specified for top/left/bottom/right;
|
// getComputedStyle returns percent when specified for top/left/bottom/right;
|
||||||
// rather than make the css module depend on the offset module, just check for it here
|
// rather than make the css module depend on the offset module, just check for it here
|
||||||
jQuery.each( [ "top", "left" ], function( i, prop ) {
|
jQuery.each( [ "top", "left" ], function( i, prop ) {
|
||||||
@@ -194,6 +218,7 @@ jQuery.each( [ "top", "left" ], function( i, prop ) {
|
|||||||
function( elem, computed ) {
|
function( elem, computed ) {
|
||||||
if ( computed ) {
|
if ( computed ) {
|
||||||
computed = curCSS( elem, prop );
|
computed = curCSS( elem, prop );
|
||||||
|
|
||||||
// If curCSS returns percentage, fallback to offset
|
// If curCSS returns percentage, fallback to offset
|
||||||
return rnumnonpx.test( computed ) ?
|
return rnumnonpx.test( computed ) ?
|
||||||
jQuery( elem ).position()[ prop ] + "px" :
|
jQuery( elem ).position()[ prop ] + "px" :
|
||||||
@@ -201,7 +226,7 @@ jQuery.each( [ "top", "left" ], function( i, prop ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
} );
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
1
bower_components/jquery/src/outro.js
vendored
1
bower_components/jquery/src/outro.js
vendored
@@ -1 +0,0 @@
|
|||||||
}));
|
|
||||||
47
bower_components/jquery/src/queue.js
vendored
47
bower_components/jquery/src/queue.js
vendored
@@ -1,22 +1,24 @@
|
|||||||
define([
|
define( [
|
||||||
"./core",
|
"./core",
|
||||||
"./data/var/data_priv",
|
"./data/var/dataPriv",
|
||||||
"./deferred",
|
"./deferred",
|
||||||
"./callbacks"
|
"./callbacks"
|
||||||
], function( jQuery, data_priv ) {
|
], function( jQuery, dataPriv ) {
|
||||||
|
|
||||||
jQuery.extend({
|
"use strict";
|
||||||
|
|
||||||
|
jQuery.extend( {
|
||||||
queue: function( elem, type, data ) {
|
queue: function( elem, type, data ) {
|
||||||
var queue;
|
var queue;
|
||||||
|
|
||||||
if ( elem ) {
|
if ( elem ) {
|
||||||
type = ( type || "fx" ) + "queue";
|
type = ( type || "fx" ) + "queue";
|
||||||
queue = data_priv.get( elem, type );
|
queue = dataPriv.get( elem, type );
|
||||||
|
|
||||||
// Speed up dequeue by getting out quickly if this is just a lookup
|
// Speed up dequeue by getting out quickly if this is just a lookup
|
||||||
if ( data ) {
|
if ( data ) {
|
||||||
if ( !queue || jQuery.isArray( data ) ) {
|
if ( !queue || jQuery.isArray( data ) ) {
|
||||||
queue = data_priv.access( elem, type, jQuery.makeArray(data) );
|
queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
|
||||||
} else {
|
} else {
|
||||||
queue.push( data );
|
queue.push( data );
|
||||||
}
|
}
|
||||||
@@ -63,15 +65,15 @@ jQuery.extend({
|
|||||||
// Not public - generate a queueHooks object, or return the current one
|
// Not public - generate a queueHooks object, or return the current one
|
||||||
_queueHooks: function( elem, type ) {
|
_queueHooks: function( elem, type ) {
|
||||||
var key = type + "queueHooks";
|
var key = type + "queueHooks";
|
||||||
return data_priv.get( elem, key ) || data_priv.access( elem, key, {
|
return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
|
||||||
empty: jQuery.Callbacks("once memory").add(function() {
|
empty: jQuery.Callbacks( "once memory" ).add( function() {
|
||||||
data_priv.remove( elem, [ type + "queue", key ] );
|
dataPriv.remove( elem, [ type + "queue", key ] );
|
||||||
})
|
} )
|
||||||
});
|
} );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend( {
|
||||||
queue: function( type, data ) {
|
queue: function( type, data ) {
|
||||||
var setter = 2;
|
var setter = 2;
|
||||||
|
|
||||||
@@ -82,30 +84,31 @@ jQuery.fn.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( arguments.length < setter ) {
|
if ( arguments.length < setter ) {
|
||||||
return jQuery.queue( this[0], type );
|
return jQuery.queue( this[ 0 ], type );
|
||||||
}
|
}
|
||||||
|
|
||||||
return data === undefined ?
|
return data === undefined ?
|
||||||
this :
|
this :
|
||||||
this.each(function() {
|
this.each( function() {
|
||||||
var queue = jQuery.queue( this, type, data );
|
var queue = jQuery.queue( this, type, data );
|
||||||
|
|
||||||
// Ensure a hooks for this queue
|
// Ensure a hooks for this queue
|
||||||
jQuery._queueHooks( this, type );
|
jQuery._queueHooks( this, type );
|
||||||
|
|
||||||
if ( type === "fx" && queue[0] !== "inprogress" ) {
|
if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
|
||||||
jQuery.dequeue( this, type );
|
jQuery.dequeue( this, type );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
},
|
},
|
||||||
dequeue: function( type ) {
|
dequeue: function( type ) {
|
||||||
return this.each(function() {
|
return this.each( function() {
|
||||||
jQuery.dequeue( this, type );
|
jQuery.dequeue( this, type );
|
||||||
});
|
} );
|
||||||
},
|
},
|
||||||
clearQueue: function( type ) {
|
clearQueue: function( type ) {
|
||||||
return this.queue( type || "fx", [] );
|
return this.queue( type || "fx", [] );
|
||||||
},
|
},
|
||||||
|
|
||||||
// Get a promise resolved when queues of a certain type
|
// Get a promise resolved when queues of a certain type
|
||||||
// are emptied (fx is the type by default)
|
// are emptied (fx is the type by default)
|
||||||
promise: function( type, obj ) {
|
promise: function( type, obj ) {
|
||||||
@@ -127,7 +130,7 @@ jQuery.fn.extend({
|
|||||||
type = type || "fx";
|
type = type || "fx";
|
||||||
|
|
||||||
while ( i-- ) {
|
while ( i-- ) {
|
||||||
tmp = data_priv.get( elements[ i ], type + "queueHooks" );
|
tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
|
||||||
if ( tmp && tmp.empty ) {
|
if ( tmp && tmp.empty ) {
|
||||||
count++;
|
count++;
|
||||||
tmp.empty.add( resolve );
|
tmp.empty.add( resolve );
|
||||||
@@ -136,7 +139,7 @@ jQuery.fn.extend({
|
|||||||
resolve();
|
resolve();
|
||||||
return defer.promise( obj );
|
return defer.promise( obj );
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
return jQuery;
|
return jQuery;
|
||||||
});
|
} );
|
||||||
|
|||||||
14
bower_components/jquery/src/queue/delay.js
vendored
14
bower_components/jquery/src/queue/delay.js
vendored
@@ -1,22 +1,24 @@
|
|||||||
define([
|
define( [
|
||||||
"../core",
|
"../core",
|
||||||
"../queue",
|
"../queue",
|
||||||
"../effects" // Delay is optional because of this dependency
|
"../effects" // Delay is optional because of this dependency
|
||||||
], function( jQuery ) {
|
], function( jQuery ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
// Based off of the plugin by Clint Helfers, with permission.
|
// Based off of the plugin by Clint Helfers, with permission.
|
||||||
// http://blindsignals.com/index.php/2009/07/jquery-delay/
|
// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||||
jQuery.fn.delay = function( time, type ) {
|
jQuery.fn.delay = function( time, type ) {
|
||||||
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
||||||
type = type || "fx";
|
type = type || "fx";
|
||||||
|
|
||||||
return this.queue( type, function( next, hooks ) {
|
return this.queue( type, function( next, hooks ) {
|
||||||
var timeout = setTimeout( next, time );
|
var timeout = window.setTimeout( next, time );
|
||||||
hooks.stop = function() {
|
hooks.stop = function() {
|
||||||
clearTimeout( timeout );
|
window.clearTimeout( timeout );
|
||||||
};
|
};
|
||||||
});
|
} );
|
||||||
};
|
};
|
||||||
|
|
||||||
return jQuery.fn.delay;
|
return jQuery.fn.delay;
|
||||||
});
|
} );
|
||||||
|
|||||||
205
bower_components/jquery/src/selector-native.js
vendored
205
bower_components/jquery/src/selector-native.js
vendored
@@ -1,6 +1,12 @@
|
|||||||
define([
|
define( [
|
||||||
"./core"
|
"./core",
|
||||||
], function( jQuery ) {
|
"./var/document",
|
||||||
|
"./var/documentElement",
|
||||||
|
"./var/hasOwn",
|
||||||
|
"./var/indexOf"
|
||||||
|
], function( jQuery, document, documentElement, hasOwn, indexOf ) {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Optional (non-Sizzle) selector module for custom builds.
|
* Optional (non-Sizzle) selector module for custom builds.
|
||||||
@@ -27,46 +33,112 @@ define([
|
|||||||
* customize this stub for the project's specific needs.
|
* customize this stub for the project's specific needs.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var docElem = window.document.documentElement,
|
var hasDuplicate, sortInput,
|
||||||
selector_hasDuplicate,
|
sortStable = jQuery.expando.split( "" ).sort( sortOrder ).join( "" ) === jQuery.expando,
|
||||||
matches = docElem.matches ||
|
matches = documentElement.matches ||
|
||||||
docElem.webkitMatchesSelector ||
|
documentElement.webkitMatchesSelector ||
|
||||||
docElem.mozMatchesSelector ||
|
documentElement.mozMatchesSelector ||
|
||||||
docElem.oMatchesSelector ||
|
documentElement.oMatchesSelector ||
|
||||||
docElem.msMatchesSelector,
|
documentElement.msMatchesSelector,
|
||||||
selector_sortOrder = function( a, b ) {
|
|
||||||
// Flag for duplicate removal
|
|
||||||
if ( a === b ) {
|
|
||||||
selector_hasDuplicate = true;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b );
|
// CSS string/identifier serialization
|
||||||
|
// https://drafts.csswg.org/cssom/#common-serializing-idioms
|
||||||
|
rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
|
||||||
|
fcssescape = function( ch, asCodePoint ) {
|
||||||
|
if ( asCodePoint ) {
|
||||||
|
|
||||||
if ( compare ) {
|
// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
|
||||||
// Disconnected nodes
|
if ( ch === "\0" ) {
|
||||||
if ( compare & 1 ) {
|
return "\uFFFD";
|
||||||
|
|
||||||
// Choose the first element that is related to our document
|
|
||||||
if ( a === document || jQuery.contains(document, a) ) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if ( b === document || jQuery.contains(document, b) ) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Maintain original order
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return compare & 4 ? -1 : 1;
|
// Control characters and (dependent upon position) numbers get escaped as code points
|
||||||
|
return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Not directly comparable, sort on existence of method
|
// Other potentially-special ASCII characters get backslash-escaped
|
||||||
return a.compareDocumentPosition ? -1 : 1;
|
return "\\" + ch;
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.extend({
|
function sortOrder( a, b ) {
|
||||||
|
|
||||||
|
// Flag for duplicate removal
|
||||||
|
if ( a === b ) {
|
||||||
|
hasDuplicate = true;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort on method existence if only one input has compareDocumentPosition
|
||||||
|
var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
|
||||||
|
if ( compare ) {
|
||||||
|
return compare;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate position if both inputs belong to the same document
|
||||||
|
compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
|
||||||
|
a.compareDocumentPosition( b ) :
|
||||||
|
|
||||||
|
// Otherwise we know they are disconnected
|
||||||
|
1;
|
||||||
|
|
||||||
|
// Disconnected nodes
|
||||||
|
if ( compare & 1 ) {
|
||||||
|
|
||||||
|
// Choose the first element that is related to our preferred document
|
||||||
|
if ( a === document || a.ownerDocument === document &&
|
||||||
|
jQuery.contains( document, a ) ) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if ( b === document || b.ownerDocument === document &&
|
||||||
|
jQuery.contains( document, b ) ) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Maintain original order
|
||||||
|
return sortInput ?
|
||||||
|
( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
|
||||||
|
0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return compare & 4 ? -1 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
function uniqueSort( results ) {
|
||||||
|
var elem,
|
||||||
|
duplicates = [],
|
||||||
|
j = 0,
|
||||||
|
i = 0;
|
||||||
|
|
||||||
|
hasDuplicate = false;
|
||||||
|
sortInput = !sortStable && results.slice( 0 );
|
||||||
|
results.sort( sortOrder );
|
||||||
|
|
||||||
|
if ( hasDuplicate ) {
|
||||||
|
while ( ( elem = results[ i++ ] ) ) {
|
||||||
|
if ( elem === results[ i ] ) {
|
||||||
|
j = duplicates.push( i );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while ( j-- ) {
|
||||||
|
results.splice( duplicates[ j ], 1 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear input after sorting to release objects
|
||||||
|
// See https://github.com/jquery/sizzle/pull/225
|
||||||
|
sortInput = null;
|
||||||
|
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
|
function escape( sel ) {
|
||||||
|
return ( sel + "" ).replace( rcssescape, fcssescape );
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery.extend( {
|
||||||
|
uniqueSort: uniqueSort,
|
||||||
|
unique: uniqueSort,
|
||||||
|
escapeSelector: escape,
|
||||||
find: function( selector, context, results, seed ) {
|
find: function( selector, context, results, seed ) {
|
||||||
var elem, nodeType,
|
var elem, nodeType,
|
||||||
i = 0;
|
i = 0;
|
||||||
@@ -80,40 +152,18 @@ jQuery.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Early return if context is not an element or document
|
// Early return if context is not an element or document
|
||||||
if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {
|
if ( ( nodeType = context.nodeType ) !== 1 && nodeType !== 9 ) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( seed ) {
|
if ( seed ) {
|
||||||
while ( (elem = seed[i++]) ) {
|
while ( ( elem = seed[ i++ ] ) ) {
|
||||||
if ( jQuery.find.matchesSelector(elem, selector) ) {
|
if ( jQuery.find.matchesSelector( elem, selector ) ) {
|
||||||
results.push( elem );
|
results.push( elem );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
jQuery.merge( results, context.querySelectorAll(selector) );
|
jQuery.merge( results, context.querySelectorAll( selector ) );
|
||||||
}
|
|
||||||
|
|
||||||
return results;
|
|
||||||
},
|
|
||||||
unique: function( results ) {
|
|
||||||
var elem,
|
|
||||||
duplicates = [],
|
|
||||||
i = 0,
|
|
||||||
j = 0;
|
|
||||||
|
|
||||||
selector_hasDuplicate = false;
|
|
||||||
results.sort( selector_sortOrder );
|
|
||||||
|
|
||||||
if ( selector_hasDuplicate ) {
|
|
||||||
while ( (elem = results[i++]) ) {
|
|
||||||
if ( elem === results[ i ] ) {
|
|
||||||
j = duplicates.push( i );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while ( j-- ) {
|
|
||||||
results.splice( duplicates[ j ], 1 );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
@@ -125,17 +175,21 @@ jQuery.extend({
|
|||||||
nodeType = elem.nodeType;
|
nodeType = elem.nodeType;
|
||||||
|
|
||||||
if ( !nodeType ) {
|
if ( !nodeType ) {
|
||||||
|
|
||||||
// If no nodeType, this is expected to be an array
|
// If no nodeType, this is expected to be an array
|
||||||
while ( (node = elem[i++]) ) {
|
while ( ( node = elem[ i++ ] ) ) {
|
||||||
|
|
||||||
// Do not traverse comment nodes
|
// Do not traverse comment nodes
|
||||||
ret += jQuery.text( node );
|
ret += jQuery.text( node );
|
||||||
}
|
}
|
||||||
} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
|
} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
|
||||||
|
|
||||||
// Use textContent for elements
|
// Use textContent for elements
|
||||||
return elem.textContent;
|
return elem.textContent;
|
||||||
} else if ( nodeType === 3 || nodeType === 4 ) {
|
} else if ( nodeType === 3 || nodeType === 4 ) {
|
||||||
return elem.nodeValue;
|
return elem.nodeValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do not include comment or processing instruction nodes
|
// Do not include comment or processing instruction nodes
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -143,19 +197,24 @@ jQuery.extend({
|
|||||||
contains: function( a, b ) {
|
contains: function( a, b ) {
|
||||||
var adown = a.nodeType === 9 ? a.documentElement : a,
|
var adown = a.nodeType === 9 ? a.documentElement : a,
|
||||||
bup = b && b.parentNode;
|
bup = b && b.parentNode;
|
||||||
return a === bup || !!( bup && bup.nodeType === 1 && adown.contains(bup) );
|
return a === bup || !!( bup && bup.nodeType === 1 && adown.contains( bup ) );
|
||||||
},
|
},
|
||||||
isXMLDoc: function( elem ) {
|
isXMLDoc: function( elem ) {
|
||||||
return (elem.ownerDocument || elem).documentElement.nodeName !== "HTML";
|
|
||||||
|
// documentElement is verified for cases where it doesn't yet exist
|
||||||
|
// (such as loading iframes in IE - #4833)
|
||||||
|
var documentElement = elem && ( elem.ownerDocument || elem ).documentElement;
|
||||||
|
return documentElement ? documentElement.nodeName !== "HTML" : false;
|
||||||
},
|
},
|
||||||
expr: {
|
expr: {
|
||||||
attrHandle: {},
|
attrHandle: {},
|
||||||
match: {
|
match: {
|
||||||
bool: /^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$/i,
|
bool: new RegExp( "^(?:checked|selected|async|autofocus|autoplay|controls|defer" +
|
||||||
|
"|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$", "i" ),
|
||||||
needsContext: /^[\x20\t\r\n\f]*[>+~]/
|
needsContext: /^[\x20\t\r\n\f]*[>+~]/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
} );
|
||||||
|
|
||||||
jQuery.extend( jQuery.find, {
|
jQuery.extend( jQuery.find, {
|
||||||
matches: function( expr, elements ) {
|
matches: function( expr, elements ) {
|
||||||
@@ -165,8 +224,14 @@ jQuery.extend( jQuery.find, {
|
|||||||
return matches.call( elem, expr );
|
return matches.call( elem, expr );
|
||||||
},
|
},
|
||||||
attr: function( elem, name ) {
|
attr: function( elem, name ) {
|
||||||
return elem.getAttribute( name );
|
var fn = jQuery.expr.attrHandle[ name.toLowerCase() ],
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
// Don't get fooled by Object.prototype properties (jQuery #13807)
|
||||||
|
value = fn && hasOwn.call( jQuery.expr.attrHandle, name.toLowerCase() ) ?
|
||||||
|
fn( elem, name, jQuery.isXMLDoc( elem ) ) :
|
||||||
|
undefined;
|
||||||
|
return value !== undefined ? value : elem.getAttribute( name );
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
} );
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user