Deprecated /vendor in line with gulp build
101
vendor/bootstrap-social/bootstrap-social.css
vendored
@ -1,101 +0,0 @@
|
|||||||
/*
|
|
||||||
* Social Buttons for Bootstrap
|
|
||||||
*
|
|
||||||
* Copyright 2013-2014 Panayiotis Lipiridis
|
|
||||||
* Licensed under the MIT License
|
|
||||||
*
|
|
||||||
* https://github.com/lipis/bootstrap-social
|
|
||||||
*/
|
|
||||||
|
|
||||||
.btn-social{position:relative;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-social>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2)}
|
|
||||||
.btn-social.btn-lg{padding-left:61px}.btn-social.btn-lg :first-child{line-height:45px;width:45px;font-size:1.8em}
|
|
||||||
.btn-social.btn-sm{padding-left:38px}.btn-social.btn-sm :first-child{line-height:28px;width:28px;font-size:1.4em}
|
|
||||||
.btn-social.btn-xs{padding-left:30px}.btn-social.btn-xs :first-child{line-height:20px;width:20px;font-size:1.2em}
|
|
||||||
.btn-social-icon{position:relative;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:34px;width:34px;padding:0}.btn-social-icon>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2)}
|
|
||||||
.btn-social-icon.btn-lg{padding-left:61px}.btn-social-icon.btn-lg :first-child{line-height:45px;width:45px;font-size:1.8em}
|
|
||||||
.btn-social-icon.btn-sm{padding-left:38px}.btn-social-icon.btn-sm :first-child{line-height:28px;width:28px;font-size:1.4em}
|
|
||||||
.btn-social-icon.btn-xs{padding-left:30px}.btn-social-icon.btn-xs :first-child{line-height:20px;width:20px;font-size:1.2em}
|
|
||||||
.btn-social-icon :first-child{border:none;text-align:center;width:100% !important}
|
|
||||||
.btn-social-icon.btn-lg{height:45px;width:45px;padding-left:0;padding-right:0}
|
|
||||||
.btn-social-icon.btn-sm{height:30px;width:30px;padding-left:0;padding-right:0}
|
|
||||||
.btn-social-icon.btn-xs{height:22px;width:22px;padding-left:0;padding-right:0}
|
|
||||||
.btn-adn{color:#fff;background-color:#d87a68;border-color:rgba(0,0,0,0.2)}.btn-adn:hover,.btn-adn:focus,.btn-adn:active,.btn-adn.active,.open>.dropdown-toggle.btn-adn{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-adn:active,.btn-adn.active,.open>.dropdown-toggle.btn-adn{background-image:none}
|
|
||||||
.btn-adn.disabled,.btn-adn[disabled],fieldset[disabled] .btn-adn,.btn-adn.disabled:hover,.btn-adn[disabled]:hover,fieldset[disabled] .btn-adn:hover,.btn-adn.disabled:focus,.btn-adn[disabled]:focus,fieldset[disabled] .btn-adn:focus,.btn-adn.disabled:active,.btn-adn[disabled]:active,fieldset[disabled] .btn-adn:active,.btn-adn.disabled.active,.btn-adn[disabled].active,fieldset[disabled] .btn-adn.active{background-color:#d87a68;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-adn .badge{color:#d87a68;background-color:#fff}
|
|
||||||
.btn-bitbucket{color:#fff;background-color:#205081;border-color:rgba(0,0,0,0.2)}.btn-bitbucket:hover,.btn-bitbucket:focus,.btn-bitbucket:active,.btn-bitbucket.active,.open>.dropdown-toggle.btn-bitbucket{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-bitbucket:active,.btn-bitbucket.active,.open>.dropdown-toggle.btn-bitbucket{background-image:none}
|
|
||||||
.btn-bitbucket.disabled,.btn-bitbucket[disabled],fieldset[disabled] .btn-bitbucket,.btn-bitbucket.disabled:hover,.btn-bitbucket[disabled]:hover,fieldset[disabled] .btn-bitbucket:hover,.btn-bitbucket.disabled:focus,.btn-bitbucket[disabled]:focus,fieldset[disabled] .btn-bitbucket:focus,.btn-bitbucket.disabled:active,.btn-bitbucket[disabled]:active,fieldset[disabled] .btn-bitbucket:active,.btn-bitbucket.disabled.active,.btn-bitbucket[disabled].active,fieldset[disabled] .btn-bitbucket.active{background-color:#205081;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-bitbucket .badge{color:#205081;background-color:#fff}
|
|
||||||
.btn-dropbox{color:#fff;background-color:#1087dd;border-color:rgba(0,0,0,0.2)}.btn-dropbox:hover,.btn-dropbox:focus,.btn-dropbox:active,.btn-dropbox.active,.open>.dropdown-toggle.btn-dropbox{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-dropbox:active,.btn-dropbox.active,.open>.dropdown-toggle.btn-dropbox{background-image:none}
|
|
||||||
.btn-dropbox.disabled,.btn-dropbox[disabled],fieldset[disabled] .btn-dropbox,.btn-dropbox.disabled:hover,.btn-dropbox[disabled]:hover,fieldset[disabled] .btn-dropbox:hover,.btn-dropbox.disabled:focus,.btn-dropbox[disabled]:focus,fieldset[disabled] .btn-dropbox:focus,.btn-dropbox.disabled:active,.btn-dropbox[disabled]:active,fieldset[disabled] .btn-dropbox:active,.btn-dropbox.disabled.active,.btn-dropbox[disabled].active,fieldset[disabled] .btn-dropbox.active{background-color:#1087dd;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-dropbox .badge{color:#1087dd;background-color:#fff}
|
|
||||||
.btn-facebook{color:#fff;background-color:#3b5998;border-color:rgba(0,0,0,0.2)}.btn-facebook:hover,.btn-facebook:focus,.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{background-image:none}
|
|
||||||
.btn-facebook.disabled,.btn-facebook[disabled],fieldset[disabled] .btn-facebook,.btn-facebook.disabled:hover,.btn-facebook[disabled]:hover,fieldset[disabled] .btn-facebook:hover,.btn-facebook.disabled:focus,.btn-facebook[disabled]:focus,fieldset[disabled] .btn-facebook:focus,.btn-facebook.disabled:active,.btn-facebook[disabled]:active,fieldset[disabled] .btn-facebook:active,.btn-facebook.disabled.active,.btn-facebook[disabled].active,fieldset[disabled] .btn-facebook.active{background-color:#3b5998;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-facebook .badge{color:#3b5998;background-color:#fff}
|
|
||||||
.btn-flickr{color:#fff;background-color:#ff0084;border-color:rgba(0,0,0,0.2)}.btn-flickr:hover,.btn-flickr:focus,.btn-flickr:active,.btn-flickr.active,.open>.dropdown-toggle.btn-flickr{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-flickr:active,.btn-flickr.active,.open>.dropdown-toggle.btn-flickr{background-image:none}
|
|
||||||
.btn-flickr.disabled,.btn-flickr[disabled],fieldset[disabled] .btn-flickr,.btn-flickr.disabled:hover,.btn-flickr[disabled]:hover,fieldset[disabled] .btn-flickr:hover,.btn-flickr.disabled:focus,.btn-flickr[disabled]:focus,fieldset[disabled] .btn-flickr:focus,.btn-flickr.disabled:active,.btn-flickr[disabled]:active,fieldset[disabled] .btn-flickr:active,.btn-flickr.disabled.active,.btn-flickr[disabled].active,fieldset[disabled] .btn-flickr.active{background-color:#ff0084;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-flickr .badge{color:#ff0084;background-color:#fff}
|
|
||||||
.btn-foursquare{color:#fff;background-color:#f94877;border-color:rgba(0,0,0,0.2)}.btn-foursquare:hover,.btn-foursquare:focus,.btn-foursquare:active,.btn-foursquare.active,.open>.dropdown-toggle.btn-foursquare{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-foursquare:active,.btn-foursquare.active,.open>.dropdown-toggle.btn-foursquare{background-image:none}
|
|
||||||
.btn-foursquare.disabled,.btn-foursquare[disabled],fieldset[disabled] .btn-foursquare,.btn-foursquare.disabled:hover,.btn-foursquare[disabled]:hover,fieldset[disabled] .btn-foursquare:hover,.btn-foursquare.disabled:focus,.btn-foursquare[disabled]:focus,fieldset[disabled] .btn-foursquare:focus,.btn-foursquare.disabled:active,.btn-foursquare[disabled]:active,fieldset[disabled] .btn-foursquare:active,.btn-foursquare.disabled.active,.btn-foursquare[disabled].active,fieldset[disabled] .btn-foursquare.active{background-color:#f94877;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-foursquare .badge{color:#f94877;background-color:#fff}
|
|
||||||
.btn-github{color:#fff;background-color:#444;border-color:rgba(0,0,0,0.2)}.btn-github:hover,.btn-github:focus,.btn-github:active,.btn-github.active,.open>.dropdown-toggle.btn-github{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-github:active,.btn-github.active,.open>.dropdown-toggle.btn-github{background-image:none}
|
|
||||||
.btn-github.disabled,.btn-github[disabled],fieldset[disabled] .btn-github,.btn-github.disabled:hover,.btn-github[disabled]:hover,fieldset[disabled] .btn-github:hover,.btn-github.disabled:focus,.btn-github[disabled]:focus,fieldset[disabled] .btn-github:focus,.btn-github.disabled:active,.btn-github[disabled]:active,fieldset[disabled] .btn-github:active,.btn-github.disabled.active,.btn-github[disabled].active,fieldset[disabled] .btn-github.active{background-color:#444;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-github .badge{color:#444;background-color:#fff}
|
|
||||||
.btn-google-plus{color:#fff;background-color:#dd4b39;border-color:rgba(0,0,0,0.2)}.btn-google-plus:hover,.btn-google-plus:focus,.btn-google-plus:active,.btn-google-plus.active,.open>.dropdown-toggle.btn-google-plus{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-google-plus:active,.btn-google-plus.active,.open>.dropdown-toggle.btn-google-plus{background-image:none}
|
|
||||||
.btn-google-plus.disabled,.btn-google-plus[disabled],fieldset[disabled] .btn-google-plus,.btn-google-plus.disabled:hover,.btn-google-plus[disabled]:hover,fieldset[disabled] .btn-google-plus:hover,.btn-google-plus.disabled:focus,.btn-google-plus[disabled]:focus,fieldset[disabled] .btn-google-plus:focus,.btn-google-plus.disabled:active,.btn-google-plus[disabled]:active,fieldset[disabled] .btn-google-plus:active,.btn-google-plus.disabled.active,.btn-google-plus[disabled].active,fieldset[disabled] .btn-google-plus.active{background-color:#dd4b39;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-google-plus .badge{color:#dd4b39;background-color:#fff}
|
|
||||||
.btn-instagram{color:#fff;background-color:#3f729b;border-color:rgba(0,0,0,0.2)}.btn-instagram:hover,.btn-instagram:focus,.btn-instagram:active,.btn-instagram.active,.open>.dropdown-toggle.btn-instagram{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-instagram:active,.btn-instagram.active,.open>.dropdown-toggle.btn-instagram{background-image:none}
|
|
||||||
.btn-instagram.disabled,.btn-instagram[disabled],fieldset[disabled] .btn-instagram,.btn-instagram.disabled:hover,.btn-instagram[disabled]:hover,fieldset[disabled] .btn-instagram:hover,.btn-instagram.disabled:focus,.btn-instagram[disabled]:focus,fieldset[disabled] .btn-instagram:focus,.btn-instagram.disabled:active,.btn-instagram[disabled]:active,fieldset[disabled] .btn-instagram:active,.btn-instagram.disabled.active,.btn-instagram[disabled].active,fieldset[disabled] .btn-instagram.active{background-color:#3f729b;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-instagram .badge{color:#3f729b;background-color:#fff}
|
|
||||||
.btn-linkedin{color:#fff;background-color:#007bb6;border-color:rgba(0,0,0,0.2)}.btn-linkedin:hover,.btn-linkedin:focus,.btn-linkedin:active,.btn-linkedin.active,.open>.dropdown-toggle.btn-linkedin{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-linkedin:active,.btn-linkedin.active,.open>.dropdown-toggle.btn-linkedin{background-image:none}
|
|
||||||
.btn-linkedin.disabled,.btn-linkedin[disabled],fieldset[disabled] .btn-linkedin,.btn-linkedin.disabled:hover,.btn-linkedin[disabled]:hover,fieldset[disabled] .btn-linkedin:hover,.btn-linkedin.disabled:focus,.btn-linkedin[disabled]:focus,fieldset[disabled] .btn-linkedin:focus,.btn-linkedin.disabled:active,.btn-linkedin[disabled]:active,fieldset[disabled] .btn-linkedin:active,.btn-linkedin.disabled.active,.btn-linkedin[disabled].active,fieldset[disabled] .btn-linkedin.active{background-color:#007bb6;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-linkedin .badge{color:#007bb6;background-color:#fff}
|
|
||||||
.btn-microsoft{color:#fff;background-color:#2672ec;border-color:rgba(0,0,0,0.2)}.btn-microsoft:hover,.btn-microsoft:focus,.btn-microsoft:active,.btn-microsoft.active,.open>.dropdown-toggle.btn-microsoft{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-microsoft:active,.btn-microsoft.active,.open>.dropdown-toggle.btn-microsoft{background-image:none}
|
|
||||||
.btn-microsoft.disabled,.btn-microsoft[disabled],fieldset[disabled] .btn-microsoft,.btn-microsoft.disabled:hover,.btn-microsoft[disabled]:hover,fieldset[disabled] .btn-microsoft:hover,.btn-microsoft.disabled:focus,.btn-microsoft[disabled]:focus,fieldset[disabled] .btn-microsoft:focus,.btn-microsoft.disabled:active,.btn-microsoft[disabled]:active,fieldset[disabled] .btn-microsoft:active,.btn-microsoft.disabled.active,.btn-microsoft[disabled].active,fieldset[disabled] .btn-microsoft.active{background-color:#2672ec;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-microsoft .badge{color:#2672ec;background-color:#fff}
|
|
||||||
.btn-openid{color:#fff;background-color:#f7931e;border-color:rgba(0,0,0,0.2)}.btn-openid:hover,.btn-openid:focus,.btn-openid:active,.btn-openid.active,.open>.dropdown-toggle.btn-openid{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-openid:active,.btn-openid.active,.open>.dropdown-toggle.btn-openid{background-image:none}
|
|
||||||
.btn-openid.disabled,.btn-openid[disabled],fieldset[disabled] .btn-openid,.btn-openid.disabled:hover,.btn-openid[disabled]:hover,fieldset[disabled] .btn-openid:hover,.btn-openid.disabled:focus,.btn-openid[disabled]:focus,fieldset[disabled] .btn-openid:focus,.btn-openid.disabled:active,.btn-openid[disabled]:active,fieldset[disabled] .btn-openid:active,.btn-openid.disabled.active,.btn-openid[disabled].active,fieldset[disabled] .btn-openid.active{background-color:#f7931e;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-openid .badge{color:#f7931e;background-color:#fff}
|
|
||||||
.btn-pinterest{color:#fff;background-color:#cb2027;border-color:rgba(0,0,0,0.2)}.btn-pinterest:hover,.btn-pinterest:focus,.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{background-image:none}
|
|
||||||
.btn-pinterest.disabled,.btn-pinterest[disabled],fieldset[disabled] .btn-pinterest,.btn-pinterest.disabled:hover,.btn-pinterest[disabled]:hover,fieldset[disabled] .btn-pinterest:hover,.btn-pinterest.disabled:focus,.btn-pinterest[disabled]:focus,fieldset[disabled] .btn-pinterest:focus,.btn-pinterest.disabled:active,.btn-pinterest[disabled]:active,fieldset[disabled] .btn-pinterest:active,.btn-pinterest.disabled.active,.btn-pinterest[disabled].active,fieldset[disabled] .btn-pinterest.active{background-color:#cb2027;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-pinterest .badge{color:#cb2027;background-color:#fff}
|
|
||||||
.btn-reddit{color:#000;background-color:#eff7ff;border-color:rgba(0,0,0,0.2)}.btn-reddit:hover,.btn-reddit:focus,.btn-reddit:active,.btn-reddit.active,.open>.dropdown-toggle.btn-reddit{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-reddit:active,.btn-reddit.active,.open>.dropdown-toggle.btn-reddit{background-image:none}
|
|
||||||
.btn-reddit.disabled,.btn-reddit[disabled],fieldset[disabled] .btn-reddit,.btn-reddit.disabled:hover,.btn-reddit[disabled]:hover,fieldset[disabled] .btn-reddit:hover,.btn-reddit.disabled:focus,.btn-reddit[disabled]:focus,fieldset[disabled] .btn-reddit:focus,.btn-reddit.disabled:active,.btn-reddit[disabled]:active,fieldset[disabled] .btn-reddit:active,.btn-reddit.disabled.active,.btn-reddit[disabled].active,fieldset[disabled] .btn-reddit.active{background-color:#eff7ff;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-reddit .badge{color:#eff7ff;background-color:#000}
|
|
||||||
.btn-soundcloud{color:#fff;background-color:#f50;border-color:rgba(0,0,0,0.2)}.btn-soundcloud:hover,.btn-soundcloud:focus,.btn-soundcloud:active,.btn-soundcloud.active,.open>.dropdown-toggle.btn-soundcloud{color:#fff;background-color:#c40;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-soundcloud:active,.btn-soundcloud.active,.open>.dropdown-toggle.btn-soundcloud{background-image:none}
|
|
||||||
.btn-soundcloud.disabled,.btn-soundcloud[disabled],fieldset[disabled] .btn-soundcloud,.btn-soundcloud.disabled:hover,.btn-soundcloud[disabled]:hover,fieldset[disabled] .btn-soundcloud:hover,.btn-soundcloud.disabled:focus,.btn-soundcloud[disabled]:focus,fieldset[disabled] .btn-soundcloud:focus,.btn-soundcloud.disabled:active,.btn-soundcloud[disabled]:active,fieldset[disabled] .btn-soundcloud:active,.btn-soundcloud.disabled.active,.btn-soundcloud[disabled].active,fieldset[disabled] .btn-soundcloud.active{background-color:#f50;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-soundcloud .badge{color:#f50;background-color:#fff}
|
|
||||||
.btn-tumblr{color:#fff;background-color:#2c4762;border-color:rgba(0,0,0,0.2)}.btn-tumblr:hover,.btn-tumblr:focus,.btn-tumblr:active,.btn-tumblr.active,.open>.dropdown-toggle.btn-tumblr{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-tumblr:active,.btn-tumblr.active,.open>.dropdown-toggle.btn-tumblr{background-image:none}
|
|
||||||
.btn-tumblr.disabled,.btn-tumblr[disabled],fieldset[disabled] .btn-tumblr,.btn-tumblr.disabled:hover,.btn-tumblr[disabled]:hover,fieldset[disabled] .btn-tumblr:hover,.btn-tumblr.disabled:focus,.btn-tumblr[disabled]:focus,fieldset[disabled] .btn-tumblr:focus,.btn-tumblr.disabled:active,.btn-tumblr[disabled]:active,fieldset[disabled] .btn-tumblr:active,.btn-tumblr.disabled.active,.btn-tumblr[disabled].active,fieldset[disabled] .btn-tumblr.active{background-color:#2c4762;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-tumblr .badge{color:#2c4762;background-color:#fff}
|
|
||||||
.btn-twitter{color:#fff;background-color:#55acee;border-color:rgba(0,0,0,0.2)}.btn-twitter:hover,.btn-twitter:focus,.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{background-image:none}
|
|
||||||
.btn-twitter.disabled,.btn-twitter[disabled],fieldset[disabled] .btn-twitter,.btn-twitter.disabled:hover,.btn-twitter[disabled]:hover,fieldset[disabled] .btn-twitter:hover,.btn-twitter.disabled:focus,.btn-twitter[disabled]:focus,fieldset[disabled] .btn-twitter:focus,.btn-twitter.disabled:active,.btn-twitter[disabled]:active,fieldset[disabled] .btn-twitter:active,.btn-twitter.disabled.active,.btn-twitter[disabled].active,fieldset[disabled] .btn-twitter.active{background-color:#55acee;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-twitter .badge{color:#55acee;background-color:#fff}
|
|
||||||
.btn-vimeo{color:#fff;background-color:#1ab7ea;border-color:rgba(0,0,0,0.2)}.btn-vimeo:hover,.btn-vimeo:focus,.btn-vimeo:active,.btn-vimeo.active,.open>.dropdown-toggle.btn-vimeo{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-vimeo:active,.btn-vimeo.active,.open>.dropdown-toggle.btn-vimeo{background-image:none}
|
|
||||||
.btn-vimeo.disabled,.btn-vimeo[disabled],fieldset[disabled] .btn-vimeo,.btn-vimeo.disabled:hover,.btn-vimeo[disabled]:hover,fieldset[disabled] .btn-vimeo:hover,.btn-vimeo.disabled:focus,.btn-vimeo[disabled]:focus,fieldset[disabled] .btn-vimeo:focus,.btn-vimeo.disabled:active,.btn-vimeo[disabled]:active,fieldset[disabled] .btn-vimeo:active,.btn-vimeo.disabled.active,.btn-vimeo[disabled].active,fieldset[disabled] .btn-vimeo.active{background-color:#1ab7ea;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-vimeo .badge{color:#1ab7ea;background-color:#fff}
|
|
||||||
.btn-vk{color:#fff;background-color:#587ea3;border-color:rgba(0,0,0,0.2)}.btn-vk:hover,.btn-vk:focus,.btn-vk:active,.btn-vk.active,.open>.dropdown-toggle.btn-vk{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-vk:active,.btn-vk.active,.open>.dropdown-toggle.btn-vk{background-image:none}
|
|
||||||
.btn-vk.disabled,.btn-vk[disabled],fieldset[disabled] .btn-vk,.btn-vk.disabled:hover,.btn-vk[disabled]:hover,fieldset[disabled] .btn-vk:hover,.btn-vk.disabled:focus,.btn-vk[disabled]:focus,fieldset[disabled] .btn-vk:focus,.btn-vk.disabled:active,.btn-vk[disabled]:active,fieldset[disabled] .btn-vk:active,.btn-vk.disabled.active,.btn-vk[disabled].active,fieldset[disabled] .btn-vk.active{background-color:#587ea3;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-vk .badge{color:#587ea3;background-color:#fff}
|
|
||||||
.btn-yahoo{color:#fff;background-color:#720e9e;border-color:rgba(0,0,0,0.2)}.btn-yahoo:hover,.btn-yahoo:focus,.btn-yahoo:active,.btn-yahoo.active,.open>.dropdown-toggle.btn-yahoo{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-yahoo:active,.btn-yahoo.active,.open>.dropdown-toggle.btn-yahoo{background-image:none}
|
|
||||||
.btn-yahoo.disabled,.btn-yahoo[disabled],fieldset[disabled] .btn-yahoo,.btn-yahoo.disabled:hover,.btn-yahoo[disabled]:hover,fieldset[disabled] .btn-yahoo:hover,.btn-yahoo.disabled:focus,.btn-yahoo[disabled]:focus,fieldset[disabled] .btn-yahoo:focus,.btn-yahoo.disabled:active,.btn-yahoo[disabled]:active,fieldset[disabled] .btn-yahoo:active,.btn-yahoo.disabled.active,.btn-yahoo[disabled].active,fieldset[disabled] .btn-yahoo.active{background-color:#720e9e;border-color:rgba(0,0,0,0.2)}
|
|
||||||
.btn-yahoo .badge{color:#720e9e;background-color:#fff}
|
|
114
vendor/bootstrap-social/bootstrap-social.less
vendored
@ -1,114 +0,0 @@
|
|||||||
/*
|
|
||||||
* Social Buttons for Bootstrap
|
|
||||||
*
|
|
||||||
* Copyright 2013-2014 Panayiotis Lipiridis
|
|
||||||
* Licensed under the MIT License
|
|
||||||
*
|
|
||||||
* https://github.com/lipis/bootstrap-social
|
|
||||||
*/
|
|
||||||
|
|
||||||
@bs-height-base: (@line-height-computed + @padding-base-vertical * 2);
|
|
||||||
@bs-height-lg: (floor(@font-size-large * @line-height-base) + @padding-large-vertical * 2);
|
|
||||||
@bs-height-sm: (floor(@font-size-small * 1.5) + @padding-small-vertical * 2);
|
|
||||||
@bs-height-xs: (floor(@font-size-small * 1.2) + @padding-small-vertical + 1);
|
|
||||||
|
|
||||||
.btn-social {
|
|
||||||
position: relative;
|
|
||||||
padding-left: (@bs-height-base + @padding-base-horizontal);
|
|
||||||
text-align: left;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
> :first-child {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
width: @bs-height-base;
|
|
||||||
line-height: (@bs-height-base + 2);
|
|
||||||
font-size: 1.6em;
|
|
||||||
text-align: center;
|
|
||||||
border-right: 1px solid rgba(0, 0, 0, 0.2);
|
|
||||||
}
|
|
||||||
&.btn-lg {
|
|
||||||
padding-left: (@bs-height-lg + @padding-large-horizontal);
|
|
||||||
:first-child {
|
|
||||||
line-height: @bs-height-lg;
|
|
||||||
width: @bs-height-lg;
|
|
||||||
font-size: 1.8em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.btn-sm {
|
|
||||||
padding-left: (@bs-height-sm + @padding-small-horizontal);
|
|
||||||
:first-child {
|
|
||||||
line-height: @bs-height-sm;
|
|
||||||
width: @bs-height-sm;
|
|
||||||
font-size: 1.4em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.btn-xs {
|
|
||||||
padding-left: (@bs-height-xs + @padding-small-horizontal);
|
|
||||||
:first-child {
|
|
||||||
line-height: @bs-height-xs;
|
|
||||||
width: @bs-height-xs;
|
|
||||||
font-size: 1.2em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-social-icon {
|
|
||||||
.btn-social;
|
|
||||||
height: (@bs-height-base + 2);
|
|
||||||
width: (@bs-height-base + 2);
|
|
||||||
padding: 0;
|
|
||||||
:first-child {
|
|
||||||
border: none;
|
|
||||||
text-align: center;
|
|
||||||
width: 100%!important;
|
|
||||||
}
|
|
||||||
&.btn-lg {
|
|
||||||
height: @bs-height-lg;
|
|
||||||
width: @bs-height-lg;
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
&.btn-sm {
|
|
||||||
height: (@bs-height-sm + 2);
|
|
||||||
width: (@bs-height-sm + 2);
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
&.btn-xs {
|
|
||||||
height: (@bs-height-xs + 2);
|
|
||||||
width: (@bs-height-xs + 2);
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-social(@color-bg, @color: #fff) {
|
|
||||||
background-color: @color-bg;
|
|
||||||
.button-variant(@color, @color-bg, rgba(0,0,0,.2));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-adn { .btn-social(#d87a68); }
|
|
||||||
.btn-bitbucket { .btn-social(#205081); }
|
|
||||||
.btn-dropbox { .btn-social(#1087dd); }
|
|
||||||
.btn-facebook { .btn-social(#3b5998); }
|
|
||||||
.btn-flickr { .btn-social(#ff0084); }
|
|
||||||
.btn-foursquare { .btn-social(#f94877); }
|
|
||||||
.btn-github { .btn-social(#444444); }
|
|
||||||
.btn-google-plus { .btn-social(#dd4b39); }
|
|
||||||
.btn-instagram { .btn-social(#3f729b); }
|
|
||||||
.btn-linkedin { .btn-social(#007bb6); }
|
|
||||||
.btn-microsoft { .btn-social(#2672ec); }
|
|
||||||
.btn-openid { .btn-social(#f7931e); }
|
|
||||||
.btn-pinterest { .btn-social(#cb2027); }
|
|
||||||
.btn-reddit { .btn-social(#eff7ff, #000); }
|
|
||||||
.btn-soundcloud { .btn-social(#ff5500); }
|
|
||||||
.btn-tumblr { .btn-social(#2c4762); }
|
|
||||||
.btn-twitter { .btn-social(#55acee); }
|
|
||||||
.btn-vimeo { .btn-social(#1ab7ea); }
|
|
||||||
.btn-vk { .btn-social(#587ea3); }
|
|
||||||
.btn-yahoo { .btn-social(#720e9e); }
|
|
114
vendor/bootstrap-social/bootstrap-social.scss
vendored
@ -1,114 +0,0 @@
|
|||||||
/*
|
|
||||||
* Social Buttons for Bootstrap
|
|
||||||
*
|
|
||||||
* Copyright 2013-2014 Panayiotis Lipiridis
|
|
||||||
* Licensed under the MIT License
|
|
||||||
*
|
|
||||||
* https://github.com/lipis/bootstrap-social
|
|
||||||
*/
|
|
||||||
|
|
||||||
$bs-height-base: ($line-height-computed + $padding-base-vertical * 2);
|
|
||||||
$bs-height-lg: (floor($font-size-large * $line-height-base) + $padding-large-vertical * 2);
|
|
||||||
$bs-height-sm: (floor($font-size-small * 1.5) + $padding-small-vertical * 2);
|
|
||||||
$bs-height-xs: (floor($font-size-small * 1.2) + $padding-small-vertical + 1);
|
|
||||||
|
|
||||||
.btn-social {
|
|
||||||
position: relative;
|
|
||||||
padding-left: ($bs-height-base + $padding-base-horizontal);
|
|
||||||
text-align: left;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
> :first-child {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
width: $bs-height-base;
|
|
||||||
line-height: ($bs-height-base + 2);
|
|
||||||
font-size: 1.6em;
|
|
||||||
text-align: center;
|
|
||||||
border-right: 1px solid rgba(0, 0, 0, 0.2);
|
|
||||||
}
|
|
||||||
&.btn-lg {
|
|
||||||
padding-left: ($bs-height-lg + $padding-large-horizontal);
|
|
||||||
:first-child {
|
|
||||||
line-height: $bs-height-lg;
|
|
||||||
width: $bs-height-lg;
|
|
||||||
font-size: 1.8em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.btn-sm {
|
|
||||||
padding-left: ($bs-height-sm + $padding-small-horizontal);
|
|
||||||
:first-child {
|
|
||||||
line-height: $bs-height-sm;
|
|
||||||
width: $bs-height-sm;
|
|
||||||
font-size: 1.4em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.btn-xs {
|
|
||||||
padding-left: ($bs-height-xs + $padding-small-horizontal);
|
|
||||||
:first-child {
|
|
||||||
line-height: $bs-height-xs;
|
|
||||||
width: $bs-height-xs;
|
|
||||||
font-size: 1.2em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-social-icon {
|
|
||||||
@extend .btn-social;
|
|
||||||
height: ($bs-height-base + 2);
|
|
||||||
width: ($bs-height-base + 2);
|
|
||||||
padding: 0;
|
|
||||||
:first-child {
|
|
||||||
border: none;
|
|
||||||
text-align: center;
|
|
||||||
width: 100%!important;
|
|
||||||
}
|
|
||||||
&.btn-lg {
|
|
||||||
height: $bs-height-lg;
|
|
||||||
width: $bs-height-lg;
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
&.btn-sm {
|
|
||||||
height: ($bs-height-sm + 2);
|
|
||||||
width: ($bs-height-sm + 2);
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
&.btn-xs {
|
|
||||||
height: ($bs-height-xs + 2);
|
|
||||||
width: ($bs-height-xs + 2);
|
|
||||||
padding-left: 0;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin btn-social($color-bg, $color: #fff) {
|
|
||||||
background-color: $color-bg;
|
|
||||||
@include button-variant($color, $color-bg, rgba(0,0,0,.2));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-adn { @include btn-social(#d87a68); }
|
|
||||||
.btn-bitbucket { @include btn-social(#205081); }
|
|
||||||
.btn-dropbox { @include btn-social(#1087dd); }
|
|
||||||
.btn-facebook { @include btn-social(#3b5998); }
|
|
||||||
.btn-flickr { @include btn-social(#ff0084); }
|
|
||||||
.btn-foursquare { @include btn-social(#f94877); }
|
|
||||||
.btn-github { @include btn-social(#444444); }
|
|
||||||
.btn-google-plus { @include btn-social(#dd4b39); }
|
|
||||||
.btn-instagram { @include btn-social(#3f729b); }
|
|
||||||
.btn-linkedin { @include btn-social(#007bb6); }
|
|
||||||
.btn-microsoft { @include btn-social(#2672ec); }
|
|
||||||
.btn-openid { @include btn-social(#f7931e); }
|
|
||||||
.btn-pinterest { @include btn-social(#cb2027); }
|
|
||||||
.btn-reddit { @include btn-social(#eff7ff, #000); }
|
|
||||||
.btn-soundcloud { @include btn-social(#ff5500); }
|
|
||||||
.btn-tumblr { @include btn-social(#2c4762); }
|
|
||||||
.btn-twitter { @include btn-social(#55acee); }
|
|
||||||
.btn-vimeo { @include btn-social(#1ab7ea); }
|
|
||||||
.btn-vk { @include btn-social(#587ea3); }
|
|
||||||
.btn-yahoo { @include btn-social(#720e9e); }
|
|
37
vendor/bootstrap-toggle/Gruntfile.js
vendored
@ -1,37 +0,0 @@
|
|||||||
module.exports = function(grunt) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
grunt.initConfig({
|
|
||||||
clean: ['dist'],
|
|
||||||
uglify: {
|
|
||||||
options: {
|
|
||||||
preserveComments: 'some',
|
|
||||||
sourceMap: true
|
|
||||||
},
|
|
||||||
build: {
|
|
||||||
expand: true,
|
|
||||||
cwd: 'js',
|
|
||||||
src: ['**/*.js', ['!**/*.min.js']],
|
|
||||||
dest: 'js',
|
|
||||||
ext: '.min.js',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
cssmin: {
|
|
||||||
options: {
|
|
||||||
keepBreaks: true
|
|
||||||
},
|
|
||||||
build: {
|
|
||||||
expand: true,
|
|
||||||
cwd: 'css',
|
|
||||||
src: ['**/*.css', ['!**/*.min.css']],
|
|
||||||
dest: 'css',
|
|
||||||
ext: '.min.css',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
|
||||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
|
||||||
grunt.loadNpmTasks('grunt-contrib-cssmin');
|
|
||||||
grunt.registerTask('default', ['clean', 'uglify', 'cssmin']);
|
|
||||||
|
|
||||||
};
|
|
21
vendor/bootstrap-toggle/LICENSE
vendored
@ -1,21 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2011-2014 Min Hur, The New York Times Company
|
|
||||||
|
|
||||||
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.
|
|
175
vendor/bootstrap-toggle/README.md
vendored
@ -1,175 +0,0 @@
|
|||||||
# Bootstrap Toggle
|
|
||||||
Bootstrap Toggle is a highly flexible Bootstrap plugin that converts checkboxes into toggles.
|
|
||||||
|
|
||||||
Visit http://www.bootstraptoggle.com for demos.
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
### Installation
|
|
||||||
You can [download](https://github.com/minhur/bootstrap-toggle/archive/master.zip) the latest version of Bootstrap Toggle or use CDN to load the library.
|
|
||||||
|
|
||||||
`Warning` If you are using Bootstrap v2.3.2, use `bootstrap2-toggle.min.js` and `bootstrap2-toggle.min.css` instead.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.0/css/bootstrap-toggle.min.css" rel="stylesheet">
|
|
||||||
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.0/js/bootstrap-toggle.min.js"></script>
|
|
||||||
```
|
|
||||||
|
|
||||||
### Bower Install
|
|
||||||
```bash
|
|
||||||
bower install bootstrap-toggle
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
### Basic example
|
|
||||||
Simply add `data-toggle="toggle"` to convert checkboxes into toggles.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<input type="checkbox" checked data-toggle="toggle">
|
|
||||||
```
|
|
||||||
|
|
||||||
### Stacked checkboxes
|
|
||||||
Refer to Bootstrap Form Controls documentation to create stacked checkboxes. Simply add `data-toggle="toggle"` to convert checkboxes into toggles.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<div class="checkbox">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" data-toggle="toggle">
|
|
||||||
Option one is enabled
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="checkbox disabled">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" disabled data-toggle="toggle">
|
|
||||||
Option two is disabled
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
```
|
|
||||||
|
|
||||||
### Inline Checkboxes
|
|
||||||
Refer to Bootstrap Form Controls documentation to create inline checkboxes. Simply add `data-toggle="toggle"` to a convert checkboxes into toggles.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<label class="checkbox-inline">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle"> First
|
|
||||||
</label>
|
|
||||||
<label class="checkbox-inline">
|
|
||||||
<input type="checkbox" data-toggle="toggle"> Second
|
|
||||||
</label>
|
|
||||||
<label class="checkbox-inline">
|
|
||||||
<input type="checkbox" data-toggle="toggle"> Third
|
|
||||||
</label>
|
|
||||||
```
|
|
||||||
|
|
||||||
## API
|
|
||||||
|
|
||||||
### Initialize by JavaScript
|
|
||||||
Initialize toggles with id `toggle-one` with a single line of JavaScript.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<input id="toggle-one" checked type="checkbox">
|
|
||||||
<script>
|
|
||||||
$(function() {
|
|
||||||
$('#toggle-one').bootstrapToggle();
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
```
|
|
||||||
|
|
||||||
### Options
|
|
||||||
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-on="Enabled"`.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<input type="checkbox" data-toggle="toggle" data-on="Enabled" data-off="Disabled">
|
|
||||||
<input type="checkbox" id="toggle-two">
|
|
||||||
<script>
|
|
||||||
$(function() {
|
|
||||||
$('#toggle-two').bootstrapToggle({
|
|
||||||
on: 'Enabled',
|
|
||||||
off: 'Disabled'
|
|
||||||
});
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
```
|
|
||||||
|
|
||||||
Name|Type|Default|Description|
|
|
||||||
---|---|---|---
|
|
||||||
on|string/html|"On"|Text of the on toggle
|
|
||||||
off|string/html|"Off"|Text of the off toggle
|
|
||||||
size|string|"normal"|Size of the toggle. Possible values are `large`, `normal`, `small`, `mini`.
|
|
||||||
onstyle|string|"primary"|Style of the on toggle. Possible values are `default`, `primary`, `success`, `info`, `warning`, `danger`
|
|
||||||
offstyle|string|"default"|Style of the off toggle. Possible values are `default`, `primary`, `success`, `info`, `warning`, `danger`
|
|
||||||
style|string| |Appends the value to the class attribute of the toggle. This can be used to apply custom styles. Refer to Custom Styles for reference.
|
|
||||||
width|integer|*null*|Sets the width of the toggle. if set to *null*, width will be calculated.
|
|
||||||
height|integer|*null*|Sets the height of the toggle. if set to *null*, height will be calculated.
|
|
||||||
|
|
||||||
### Methods
|
|
||||||
Methods can be used to control toggles directly.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<input id="toggle-demo" type="checkbox" data-toggle="toggle">
|
|
||||||
```
|
|
||||||
|
|
||||||
Method|Example|Description
|
|
||||||
---|---|---
|
|
||||||
initialize|$('#toggle-demo').bootstrapToggle()|Initializes the toggle plugin with options
|
|
||||||
destroy|$('#toggle-demo').bootstrapToggle('destroy')|Destroys the toggle
|
|
||||||
on|$('#toggle-demo').bootstrapToggle('on')|Sets the toggle to 'On' state
|
|
||||||
off|$('#toggle-demo').bootstrapToggle('off')|Sets the toggle to 'Off' state
|
|
||||||
toggle|$('#toggle-demo').bootstrapToggle('toggle')|Toggles the state of the toggle
|
|
||||||
enable|$('#toggle-demo').bootstrapToggle('enable')|Enables the toggle
|
|
||||||
disable|$('#toggle-demo').bootstrapToggle('disable')|Disables the toggle
|
|
||||||
|
|
||||||
## Events
|
|
||||||
|
|
||||||
### Event Propagation
|
|
||||||
Note All events are propagated to and from input element to the toggle.
|
|
||||||
|
|
||||||
You should listen to events from the `<input type="checkbox">` directly rather than look for custom events.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<input id="toggle-event" type="checkbox" data-toggle="toggle">
|
|
||||||
<div id="console-event"></div>
|
|
||||||
<script>
|
|
||||||
$(function() {
|
|
||||||
$('#toggle-event').change(function() {
|
|
||||||
$('#console-event').html('Toggle: ' + $(this).prop('checked'))
|
|
||||||
})
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
```
|
|
||||||
|
|
||||||
### API vs Input
|
|
||||||
This also means that using the API or Input to trigger events will work both ways.
|
|
||||||
|
|
||||||
```html
|
|
||||||
<input id="toggle-trigger" type="checkbox" data-toggle="toggle">
|
|
||||||
<button class="btn btn-success" onclick="toggleOn()">On by API</button>
|
|
||||||
<button class="btn btn-danger" onclick="toggleOff()">Off by API</button>
|
|
||||||
<button class="btn btn-success" onclick="toggleOnByInput()">On by Input</button>
|
|
||||||
<button class="btn btn-danger" onclick="toggleOffByInput()">Off by Input</button>
|
|
||||||
<script>
|
|
||||||
function toggleOn() {
|
|
||||||
$('#toggle-trigger').bootstrapToggle('on')
|
|
||||||
}
|
|
||||||
function toggleOff() {
|
|
||||||
$('#toggle-trigger').bootstrapToggle('off')
|
|
||||||
}
|
|
||||||
function toggleOnByInput() {
|
|
||||||
$('#toggle-trigger').prop('checked', true).change()
|
|
||||||
}
|
|
||||||
function toggleOffByInput() {
|
|
||||||
$('#toggle-trigger').prop('checked', false).change()
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
```
|
|
||||||
|
|
||||||
### Integration
|
|
||||||
|
|
||||||
#### [KnockoutJS](http://knockoutjs.com)
|
|
||||||
|
|
||||||
A binding for knockout is available here: [aAXEe/knockout-bootstrap-toggle](https://github.com/aAXEe/knockout-bootstrap-toggle)
|
|
||||||
|
|
||||||
## Demos
|
|
||||||
|
|
||||||
Visit http://www.bootstraptoggle.com for demos.
|
|
32
vendor/bootstrap-toggle/bower.json
vendored
@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bootstrap-toggle",
|
|
||||||
"description": "Bootstrap Toggle is a highly flexible Bootstrap plugin that converts checkboxes into toggles",
|
|
||||||
"version": "2.2.1",
|
|
||||||
"keywords": [
|
|
||||||
"bootstrap",
|
|
||||||
"toggle",
|
|
||||||
"bootstrap-toggle",
|
|
||||||
"switch",
|
|
||||||
"bootstrap-switch"
|
|
||||||
],
|
|
||||||
"homepage": "http://www.bootstraptoggle.com",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/minhur/bootstrap-toggle.git"
|
|
||||||
},
|
|
||||||
"license": "MIT",
|
|
||||||
"authors": [
|
|
||||||
"Min Hur <min.hur@gmail.com>"
|
|
||||||
],
|
|
||||||
"main": [
|
|
||||||
"./js/bootstrap-toggle.min.js",
|
|
||||||
"./css/bootstrap-toggle.min.css"
|
|
||||||
],
|
|
||||||
"ignore": [
|
|
||||||
"**/.*",
|
|
||||||
"node_modules",
|
|
||||||
"bower_components",
|
|
||||||
"test",
|
|
||||||
"tests"
|
|
||||||
]
|
|
||||||
}
|
|
83
vendor/bootstrap-toggle/css/bootstrap-toggle.css
vendored
@ -1,83 +0,0 @@
|
|||||||
/*! ========================================================================
|
|
||||||
* Bootstrap Toggle: bootstrap-toggle.css v2.2.0
|
|
||||||
* http://www.bootstraptoggle.com
|
|
||||||
* ========================================================================
|
|
||||||
* Copyright 2014 Min Hur, The New York Times Company
|
|
||||||
* Licensed under MIT
|
|
||||||
* ======================================================================== */
|
|
||||||
|
|
||||||
|
|
||||||
.checkbox label .toggle,
|
|
||||||
.checkbox-inline .toggle {
|
|
||||||
margin-left: -20px;
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.toggle input[type="checkbox"] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.toggle-group {
|
|
||||||
position: absolute;
|
|
||||||
width: 200%;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
transition: left 0.35s;
|
|
||||||
-webkit-transition: left 0.35s;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
}
|
|
||||||
.toggle.off .toggle-group {
|
|
||||||
left: -100%;
|
|
||||||
}
|
|
||||||
.toggle-on {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 50%;
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
.toggle-off {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 50%;
|
|
||||||
right: 0;
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
.toggle-handle {
|
|
||||||
position: relative;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding-top: 0px;
|
|
||||||
padding-bottom: 0px;
|
|
||||||
height: 100%;
|
|
||||||
width: 0px;
|
|
||||||
border-width: 0 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle.btn { min-width: 59px; min-height: 34px; }
|
|
||||||
.toggle-on.btn { padding-right: 24px; }
|
|
||||||
.toggle-off.btn { padding-left: 24px; }
|
|
||||||
|
|
||||||
.toggle.btn-lg { min-width: 79px; min-height: 45px; }
|
|
||||||
.toggle-on.btn-lg { padding-right: 31px; }
|
|
||||||
.toggle-off.btn-lg { padding-left: 31px; }
|
|
||||||
.toggle-handle.btn-lg { width: 40px; }
|
|
||||||
|
|
||||||
.toggle.btn-sm { min-width: 50px; min-height: 30px;}
|
|
||||||
.toggle-on.btn-sm { padding-right: 20px; }
|
|
||||||
.toggle-off.btn-sm { padding-left: 20px; }
|
|
||||||
|
|
||||||
.toggle.btn-xs { min-width: 35px; min-height: 22px;}
|
|
||||||
.toggle-on.btn-xs { padding-right: 12px; }
|
|
||||||
.toggle-off.btn-xs { padding-left: 12px; }
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
/*! ========================================================================
|
|
||||||
* Bootstrap Toggle: bootstrap-toggle.css v2.2.0
|
|
||||||
* http://www.bootstraptoggle.com
|
|
||||||
* ========================================================================
|
|
||||||
* Copyright 2014 Min Hur, The New York Times Company
|
|
||||||
* Licensed under MIT
|
|
||||||
* ======================================================================== */
|
|
||||||
.checkbox label .toggle,.checkbox-inline .toggle{margin-left:-20px;margin-right:5px}
|
|
||||||
.toggle{position:relative;overflow:hidden}
|
|
||||||
.toggle input[type=checkbox]{display:none}
|
|
||||||
.toggle-group{position:absolute;width:200%;top:0;bottom:0;left:0;transition:left .35s;-webkit-transition:left .35s;-moz-user-select:none;-webkit-user-select:none}
|
|
||||||
.toggle.off .toggle-group{left:-100%}
|
|
||||||
.toggle-on{position:absolute;top:0;bottom:0;left:0;right:50%;margin:0;border:0;border-radius:0}
|
|
||||||
.toggle-off{position:absolute;top:0;bottom:0;left:50%;right:0;margin:0;border:0;border-radius:0}
|
|
||||||
.toggle-handle{position:relative;margin:0 auto;padding-top:0;padding-bottom:0;height:100%;width:0;border-width:0 1px}
|
|
||||||
.toggle.btn{min-width:59px;min-height:34px}
|
|
||||||
.toggle-on.btn{padding-right:24px}
|
|
||||||
.toggle-off.btn{padding-left:24px}
|
|
||||||
.toggle.btn-lg{min-width:79px;min-height:45px}
|
|
||||||
.toggle-on.btn-lg{padding-right:31px}
|
|
||||||
.toggle-off.btn-lg{padding-left:31px}
|
|
||||||
.toggle-handle.btn-lg{width:40px}
|
|
||||||
.toggle.btn-sm{min-width:50px;min-height:30px}
|
|
||||||
.toggle-on.btn-sm{padding-right:20px}
|
|
||||||
.toggle-off.btn-sm{padding-left:20px}
|
|
||||||
.toggle.btn-xs{min-width:35px;min-height:22px}
|
|
||||||
.toggle-on.btn-xs{padding-right:12px}
|
|
||||||
.toggle-off.btn-xs{padding-left:12px}
|
|
@ -1,85 +0,0 @@
|
|||||||
/*! ========================================================================
|
|
||||||
* Bootstrap Toggle: bootstrap2-toggle.css v2.2.0
|
|
||||||
* http://www.bootstraptoggle.com
|
|
||||||
* ========================================================================
|
|
||||||
* Copyright 2014 Min Hur, The New York Times Company
|
|
||||||
* Licensed under MIT
|
|
||||||
* ======================================================================== */
|
|
||||||
|
|
||||||
|
|
||||||
label.checkbox .toggle,
|
|
||||||
label.checkbox.inline .toggle {
|
|
||||||
margin-left: -20px;
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
.toggle {
|
|
||||||
min-width: 40px;
|
|
||||||
height: 20px;
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.toggle input[type="checkbox"] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.toggle-group {
|
|
||||||
position: absolute;
|
|
||||||
width: 200%;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
transition: left 0.35s;
|
|
||||||
-webkit-transition: left 0.35s;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
}
|
|
||||||
.toggle.off .toggle-group {
|
|
||||||
left: -100%;
|
|
||||||
}
|
|
||||||
.toggle-on {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 50%;
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
.toggle-off {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 50%;
|
|
||||||
right: 0;
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
.toggle-handle {
|
|
||||||
position: relative;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding-top: 0px;
|
|
||||||
padding-bottom: 0px;
|
|
||||||
height: 100%;
|
|
||||||
width: 0px;
|
|
||||||
border-width: 0 1px;
|
|
||||||
}
|
|
||||||
.toggle-handle.btn-mini {
|
|
||||||
top: -1px;
|
|
||||||
}
|
|
||||||
.toggle.btn { min-width: 30px; }
|
|
||||||
.toggle-on.btn { padding-right: 24px; }
|
|
||||||
.toggle-off.btn { padding-left: 24px; }
|
|
||||||
|
|
||||||
.toggle.btn-large { min-width: 40px; }
|
|
||||||
.toggle-on.btn-large { padding-right: 35px; }
|
|
||||||
.toggle-off.btn-large { padding-left: 35px; }
|
|
||||||
|
|
||||||
.toggle.btn-small { min-width: 25px; }
|
|
||||||
.toggle-on.btn-small { padding-right: 20px; }
|
|
||||||
.toggle-off.btn-small { padding-left: 20px; }
|
|
||||||
|
|
||||||
.toggle.btn-mini { min-width: 20px; }
|
|
||||||
.toggle-on.btn-mini { padding-right: 12px; }
|
|
||||||
.toggle-off.btn-mini { padding-left: 12px; }
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
/*! ========================================================================
|
|
||||||
* Bootstrap Toggle: bootstrap2-toggle.css v2.2.0
|
|
||||||
* http://www.bootstraptoggle.com
|
|
||||||
* ========================================================================
|
|
||||||
* Copyright 2014 Min Hur, The New York Times Company
|
|
||||||
* Licensed under MIT
|
|
||||||
* ======================================================================== */
|
|
||||||
label.checkbox .toggle,label.checkbox.inline .toggle{margin-left:-20px;margin-right:5px}
|
|
||||||
.toggle{min-width:40px;height:20px;position:relative;overflow:hidden}
|
|
||||||
.toggle input[type=checkbox]{display:none}
|
|
||||||
.toggle-group{position:absolute;width:200%;top:0;bottom:0;left:0;transition:left .35s;-webkit-transition:left .35s;-moz-user-select:none;-webkit-user-select:none}
|
|
||||||
.toggle.off .toggle-group{left:-100%}
|
|
||||||
.toggle-on{position:absolute;top:0;bottom:0;left:0;right:50%;margin:0;border:0;border-radius:0}
|
|
||||||
.toggle-off{position:absolute;top:0;bottom:0;left:50%;right:0;margin:0;border:0;border-radius:0}
|
|
||||||
.toggle-handle{position:relative;margin:0 auto;padding-top:0;padding-bottom:0;height:100%;width:0;border-width:0 1px}
|
|
||||||
.toggle-handle.btn-mini{top:-1px}
|
|
||||||
.toggle.btn{min-width:30px}
|
|
||||||
.toggle-on.btn{padding-right:24px}
|
|
||||||
.toggle-off.btn{padding-left:24px}
|
|
||||||
.toggle.btn-large{min-width:40px}
|
|
||||||
.toggle-on.btn-large{padding-right:35px}
|
|
||||||
.toggle-off.btn-large{padding-left:35px}
|
|
||||||
.toggle.btn-small{min-width:25px}
|
|
||||||
.toggle-on.btn-small{padding-right:20px}
|
|
||||||
.toggle-off.btn-small{padding-left:20px}
|
|
||||||
.toggle.btn-mini{min-width:20px}
|
|
||||||
.toggle-on.btn-mini{padding-right:12px}
|
|
||||||
.toggle-off.btn-mini{padding-left:12px}
|
|
BIN
vendor/bootstrap-toggle/doc/header.png
vendored
Before Width: | Height: | Size: 87 KiB |
BIN
vendor/bootstrap-toggle/doc/nyt.png
vendored
Before Width: | Height: | Size: 4.9 KiB |
239
vendor/bootstrap-toggle/doc/nytdev.svg
vendored
@ -1,239 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
||||||
width="868.575px" height="186.426px" viewBox="0 0 868.575 186.426" enable-background="new 0 0 868.575 186.426"
|
|
||||||
xml:space="preserve">
|
|
||||||
<g>
|
|
||||||
<path fill="#63BB46" d="M20.116,151.421c-4.572-4.576-5.988-10.257-5.988-22.211v-25.691c0-11.028-1.255-12.916-11.19-16.393
|
|
||||||
v-4.877c4.892-1.419,7.096-2.684,8.983-5.025c1.896-2.703,2.207-4.421,2.207-11.518V40.188c0-8.038,0.472-11.508,2.046-15.771
|
|
||||||
c1.89-5.187,6.14-9.44,11.189-11.03c4.876-1.574,8.82-2.03,21.738-2.362v8.366c-10.238,1.888-12.13,4.558-12.13,17.64v27.094
|
|
||||||
c0,4.407-0.621,9.775-1.423,13.235c-0.94,3.469-2.354,5.363-5.664,7.41c3.31,2.355,4.724,4.097,5.516,7.249
|
|
||||||
c0.95,3.622,1.571,8.501,1.571,13.234v27.573c0,12.758,1.739,15.122,12.13,17.173v8.351
|
|
||||||
C30.193,157.873,25.162,156.772,20.116,151.421z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path fill="#63BB46" d="M173.762,158.35v-8.351c10.403-2.051,12.136-4.415,12.136-17.173v-27.573c0-4.733,0.634-9.612,1.573-13.234
|
|
||||||
c0.791-3.152,2.21-4.893,5.52-7.249c-3.309-2.047-4.729-3.94-5.673-7.41c-0.786-3.459-1.419-8.828-1.419-13.235V37.031
|
|
||||||
c0-13.082-1.891-15.752-12.136-17.64v-8.366c12.919,0.332,16.867,0.788,21.742,2.362c5.04,1.59,9.294,5.843,11.189,11.03
|
|
||||||
c1.575,4.263,2.056,7.733,2.056,15.771v25.517c0,7.097,0.301,8.815,2.199,11.518c1.897,2.342,4.096,3.606,8.981,5.025v4.877
|
|
||||||
c-9.928,3.478-11.18,5.365-11.18,16.393v25.691c0,11.954-1.426,17.636-5.989,22.211
|
|
||||||
C197.712,156.772,192.675,157.873,173.762,158.35z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M140.865,22.474c3.434,0.283,8.858,2.001,12.916,5.565c4.331,4.19,5.312,10.578,3.803,16.346
|
|
||||||
c-1.354,5.181-2.864,7.862-8.135,11.416c-5.315,3.62-11.768,3.331-11.768,3.331v22.344l10.886,8.806l-10.886,8.786v30.473
|
|
||||||
c0,0,10.92-6.273,17.669-20.237c0,0,0.292-0.774,0.924-2.24c0.605,3.788,0.247,11.379-3.995,21.077
|
|
||||||
c-3.197,7.353-8.994,14.436-16.294,18.47c-12.915,7.137-22.612,7.835-32.986,5.671c-12.148-2.514-23.206-9.305-30.76-21.241
|
|
||||||
c-5.276-8.391-7.649-18.15-7.435-28.684c0.432-20.613,15.759-38.37,33.463-45.043c2.173-0.801,3.036-1.331,6.077-1.594
|
|
||||||
c-1.404,0.952-3.025,2.161-5.025,3.49C93.611,63,88.712,70.446,86.645,76.187l34.372-15.319v48.066l-27.714,13.847
|
|
||||||
c3.158,4.43,12.744,11.035,20.967,11.959c13.941,1.547,22.152-4.545,22.152-4.545l-0.014-31.129l-10.81-8.786l10.824-8.784V59.131
|
|
||||||
c-5.909-0.708-13.078-2.662-17.276-3.696c-6.167-1.528-26.713-7.286-29.936-7.761c-3.244-0.478-7.222-0.329-9.637,1.809
|
|
||||||
c-2.418,2.188-3.91,6.007-2.871,9.454c0.573,1.95,1.918,3.096,2.945,4.195c0,0-1.188-0.095-3.364-1.387
|
|
||||||
c-3.859-2.325-6.821-6.907-7.176-12.535c-0.442-7.318,2.582-13.968,8.649-18.439c5.281-3.378,11.25-5.543,18.193-4.584
|
|
||||||
c10.116,1.449,23.722,7.205,35.851,10.104c4.693,1.125,8.347,1.497,11.641-0.417c1.542-1.087,4.24-3.943,2.041-7.788
|
|
||||||
c-2.575-4.436-7.534-4.328-11.731-5.129C137.346,22.212,138.165,22.212,140.865,22.474z M99.996,117.999V71.608l-13.955,6.245
|
|
||||||
c0,0-3.576,7.958-2.955,19.531c0.48,9.016,5.542,19.823,9.43,24.345L99.996,117.999z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<g>
|
|
||||||
<path d="M264.396,13.138c1.104,0.087,2.844,0.643,4.145,1.792c1.39,1.336,1.708,3.392,1.226,5.247
|
|
||||||
c-0.439,1.658-0.918,2.527-2.613,3.661c-1.712,1.163-3.779,1.07-3.779,1.07v7.172l3.498,2.827l-3.498,2.827v9.778
|
|
||||||
c0,0,3.504-2.01,5.674-6.495c0,0,0.092-0.247,0.292-0.717c0.197,1.209,0.083,3.651-1.283,6.764
|
|
||||||
c-1.019,2.367-2.883,4.638-5.23,5.935c-4.147,2.293-7.259,2.511-10.589,1.817c-3.902-0.81-7.455-2.993-9.877-6.814
|
|
||||||
c-1.692-2.704-2.459-5.837-2.386-9.217c0.137-6.615,5.058-12.32,10.749-14.464c0.692-0.259,0.971-0.431,1.951-0.509
|
|
||||||
c-0.452,0.308-0.973,0.697-1.616,1.122c-1.831,1.215-3.404,3.606-4.074,5.444l11.037-4.912v15.437l-8.893,4.444
|
|
||||||
c1.006,1.425,4.088,3.54,6.728,3.84c4.476,0.495,7.106-1.459,7.106-1.459v-9.993l-3.471-2.827l3.471-2.823v-7.176
|
|
||||||
c-1.891-0.224-4.192-0.857-5.538-1.186c-1.985-0.491-8.583-2.342-9.617-2.499c-1.037-0.149-2.317-0.103-3.09,0.586
|
|
||||||
c-0.774,0.702-1.254,1.933-0.925,3.041c0.185,0.621,0.619,0.985,0.947,1.339c0,0-0.379-0.023-1.078-0.435
|
|
||||||
c-1.237-0.754-2.191-2.225-2.306-4.026c-0.142-2.354,0.833-4.487,2.778-5.924c1.695-1.086,3.612-1.786,5.844-1.473
|
|
||||||
c3.243,0.468,7.615,2.312,11.514,3.243c1.505,0.365,2.673,0.482,3.735-0.132c0.494-0.35,1.363-1.269,0.65-2.5
|
|
||||||
c-0.826-1.422-2.416-1.387-3.766-1.647C263.274,13.057,263.533,13.057,264.396,13.138z M251.272,43.819V28.92l-4.479,2.003
|
|
||||||
c0,0-1.146,2.553-0.947,6.268c0.159,2.902,1.782,6.363,3.025,7.818L251.272,43.819z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M307.204,28.187c0,0-3.373,2.064-5.655,3.409c-2.271,1.344-5.321,2.842-5.321,2.842V48.66l-2.035,1.621l0.272,0.329
|
|
||||||
l1.984-1.608l6.218,5.62l10.811-8.561l-0.261-0.312l-5.971,4.692l-4.915-4.601v-1.714l9.873-7.251L307.204,28.187z
|
|
||||||
M307.348,39.936l-5.017,3.668V31.396L307.348,39.936z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M278.875,59.974c1.416,0.348,3.92,0.541,6.933-0.969c3.344-1.672,5.029-5.222,5.003-8.867l0.145-5.156V33.714l2.136-1.633
|
|
||||||
l-0.25-0.319l-2.104,1.596l-4.851-5.415l-6.226,5.349V15.128l-7.774,6.009c0.338,0.227,1.442,0.424,1.481,1.98v25.451
|
|
||||||
l-3.306,2.438l0.225,0.341l1.6-1.184l4.429,4.121l6.965-5.549l-0.243-0.325l-1.639,1.302l-1.738-1.716l0.018-14.185l2.03-1.732
|
|
||||||
l3.028,3.771c0,0-0.006,9.178,0.009,12.231c-0.033,3.243-0.038,7.296-1.741,9.258C281.293,59.314,280.608,59.455,278.875,59.974z"
|
|
||||||
/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M327.274,58.695c-2.784-0.33-3.96-2.003-3.925-3.339c0.023-0.865,0.797-2.529,2.489-2.765
|
|
||||||
c1.688-0.216,3.421,0.568,4.884,2.281l6.433-7.112l-0.307-0.28l-1.728,1.936c-1.758-1.994-4.249-3.25-6.725-3.617V24.126
|
|
||||||
l16.71,30.454c0,0,0.159,0.341,0.849,0.341c0.589,0.017,0.448-0.48,0.448-0.48l-0.003-30.638c1.362-0.051,3.43-0.805,4.438-1.832
|
|
||||||
c3.22-3.31,1.906-6.916,1.549-7.27c-0.194,1.586-1.398,3.165-3.425,3.169c-2.66,0.012-4.283-1.943-4.283-1.943l-6.423,7.319
|
|
||||||
l0.306,0.284l1.837-2.099c2.256,2.072,3.898,2.264,5.597,2.372v17.784l-12.403-22.53c-1.124-1.856-2.823-3.496-5.506-3.515
|
|
||||||
c-3.084-0.012-5.286,2.697-5.553,5.024c-0.298,2.653,0.041,3.256,0.041,3.256s0.448-2.946,2.268-2.907
|
|
||||||
c1.631,0.019,2.485,1.522,3.144,2.651v6.524c-1.693,0.126-6.073,0.309-6.35,4.876c-0.015,1.699,1.042,3.481,1.962,4.082
|
|
||||||
c1.186,0.784,2.11,0.766,2.11,0.766s-1.417-0.763-0.996-2.258c0.382-1.335,3.174-1.548,3.274-0.992v9.203
|
|
||||||
c-1.348-0.017-5.64,0.137-7.573,3.821c-1.172,2.215-1.1,4.705,0.146,6.464C321.573,57.484,323.667,59.314,327.274,58.695z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M362.58,28.187c0,0-3.385,2.064-5.66,3.409c-2.282,1.344-5.325,2.842-5.325,2.842V48.66l-2.031,1.621l0.266,0.329
|
|
||||||
l1.99-1.608l6.213,5.62l10.818-8.561l-0.257-0.312l-5.978,4.692l-4.907-4.601v-1.714l9.866-7.251L362.58,28.187z M362.719,39.936
|
|
||||||
l-5.011,3.668V31.396L362.719,39.936z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M377.687,54.733l-5.297-4.407l-2.331,1.689l-0.231-0.325l2.362-1.73V37.645c0.116-5.069-4.642-3.808-4.384-9.194
|
|
||||||
c0.115-2.364,2.401-4.154,3.562-4.734c1.228-0.631,2.572-0.631,2.572-0.631s-2.177,1.356-1.647,3.308
|
|
||||||
c0.812,3.008,5.952,3.272,6.044,7.273v13.976l3.801,3.039l1.001-0.783V34.77l-2.05-2.026l5.271-4.653l4.816,4.263l-1.838,1.981
|
|
||||||
v13.404l4.504,3.713l0.804-0.499V34.824l-2.058-1.923l5.291-4.827l4.934,4.071l1.976-1.736l0.264,0.304l-4.439,3.897v13.142
|
|
||||||
l-11.353,7.011l-5.814-4.598L377.687,54.733z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M609.974,28.187c0,0-3.385,2.064-5.653,3.409c-2.271,1.344-5.323,2.842-5.323,2.842V48.66l-2.04,1.621l0.271,0.329
|
|
||||||
l1.991-1.608l6.214,5.62l10.815-8.561l-0.256-0.312l-5.975,4.692l-4.915-4.601v-1.714l9.87-7.251L609.974,28.187z M610.122,39.936
|
|
||||||
l-5.02,3.668V31.396L610.122,39.936z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<polygon points="559.22,34.144 559.485,34.447 561.521,32.704 564.536,36.121 564.536,47.867 563.083,49.205 567.785,54.535
|
|
||||||
572.613,49.77 570.631,47.71 570.631,33.497 571.827,32.536 575.18,36.44 575.18,48.155 573.923,49.41 578.358,54.404
|
|
||||||
583.091,49.654 581.354,47.827 581.308,33.552 582.589,32.522 586.07,36.355 586.07,48.008 584.927,49.155 589.829,54.491
|
|
||||||
596.401,48.418 596.121,48.118 594.522,49.59 592.073,46.872 592.073,33.569 594.436,31.78 594.187,31.458 591.825,33.248
|
|
||||||
587.345,28.233 580.956,33.292 576.476,28.422 570.302,33.243 565.778,28.438 "/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<polygon points="545.834,33.78 546.104,34.08 547.822,32.597 550.521,35.784 550.521,49.215 548.618,50.875 548.885,51.181
|
|
||||||
550.875,49.48 555.219,54.491 561.487,48.888 561.22,48.582 559.375,50.209 556.778,47.222 556.778,34.084 558.972,32.188
|
|
||||||
558.703,31.88 556.622,33.666 552.051,28.345 "/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<polygon points="547.65,22.656 552.369,18.331 556.207,22.587 551.46,26.896 "/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M541.291,13.138c1.113,0.087,2.844,0.643,4.153,1.792c1.392,1.336,1.709,3.392,1.217,5.247
|
|
||||||
c-0.428,1.658-0.919,2.527-2.607,3.661c-1.713,1.163-3.776,1.07-3.776,1.07v7.172l3.499,2.827l-3.499,2.827v9.778
|
|
||||||
c0,0,3.505-2.01,5.669-6.495c0,0,0.101-0.247,0.296-0.717c0.186,1.209,0.085,3.651-1.277,6.764
|
|
||||||
c-1.027,2.367-2.893,4.638-5.234,5.935c-4.149,2.293-7.263,2.511-10.595,1.817c-3.905-0.81-7.454-2.993-9.871-6.814
|
|
||||||
c-1.701-2.704-2.458-5.837-2.393-9.217c0.139-6.615,5.069-12.32,10.759-14.464c0.682-0.259,0.968-0.431,1.947-0.509
|
|
||||||
c-0.459,0.308-0.967,0.697-1.624,1.122c-1.825,1.215-3.398,3.606-4.064,5.444l11.036-4.912v15.437l-8.902,4.444
|
|
||||||
c1.011,1.425,4.092,3.54,6.728,3.84c4.485,0.495,7.121-1.459,7.121-1.459v-9.993l-3.478-2.827l3.478-2.823v-7.176
|
|
||||||
c-1.895-0.224-4.197-0.857-5.548-1.186c-1.984-0.491-8.578-2.342-9.612-2.499c-1.046-0.149-2.32-0.103-3.093,0.586
|
|
||||||
c-0.778,0.702-1.254,1.933-0.924,3.041c0.186,0.621,0.621,0.985,0.935,1.339c0,0-0.375-0.023-1.058-0.435
|
|
||||||
c-1.253-0.754-2.212-2.225-2.314-4.026c-0.15-2.354,0.828-4.487,2.776-5.924c1.695-1.086,3.612-1.786,5.843-1.473
|
|
||||||
c3.245,0.468,7.614,2.312,11.513,3.243c1.513,0.365,2.681,0.482,3.731-0.132c0.5-0.35,1.363-1.269,0.656-2.5
|
|
||||||
c-0.829-1.422-2.415-1.387-3.763-1.647C540.171,13.057,540.429,13.057,541.291,13.138z M528.174,43.819V28.92l-4.482,2.003
|
|
||||||
c0,0-1.143,2.553-0.945,6.268c0.157,2.902,1.781,6.363,3.025,7.818L528.174,43.819z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M622.005,56.467c-0.725,0.211-3.821-0.552-4.575-3.781c-0.729-3.128,1.464-5.264,4.749-8.619l-3.894-3.554v-6.796
|
|
||||||
c0,0,2.866-1.432,5.105-2.827c2.231-1.41,4.536-2.92,4.536-2.92s1.675,2.101,3.56,1.945c2.967-0.261,2.823-2.596,2.738-3.152
|
|
||||||
c0.509,0.907,1.853,3.587-3.346,9.586l4.235,3.415v8.822c0,0-4.91,2.56-9.569,5.967c0,0-2.601-3.26-4.853-1.701
|
|
||||||
C619.159,53.905,619.866,55.677,622.005,56.467z M618.344,49.654c0,0,2.231-3.691,6.074-2.892c3.688,0.751,4.964,4.65,4.964,4.65
|
|
||||||
v-8.962l-2.564-2.232C623.993,43.06,618.972,47.167,618.344,49.654z M624.037,30.947v7.049l2.361,2.06
|
|
||||||
c0,0,5.103-4.094,6.956-7.878c0,0-2.299,3.116-5.378,2.157C625.386,33.542,624.037,30.947,624.037,30.947z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M463.025,34.058l1.91-1.757l0.272,0.308l-1.859,1.726v14.029c0,0-3.521,1.884-5.983,3.26
|
|
||||||
c-2.455,1.401-5.102,3.023-5.102,3.023l-6.465-5.46l-1.709,1.505l-0.283-0.321l1.805-1.562V33.718h0.019
|
|
||||||
c0,0,3.052-1.376,5.635-2.827c2.303-1.298,4.879-2.813,4.879-2.813L463.025,34.058z M451.752,46.418l5.469,4.966V36.222
|
|
||||||
l-5.469-5.052V46.418z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M475.748,32.644l4.12-4.207c0,0,0.565,0.493,1.101,0.76c0.292,0.143,1.546,0.78,2.685,0.161
|
|
||||||
c0.623-0.343,0.702-0.435,1.386-1.072c0.138,3.272-1.43,5.563-3.39,6.512c-0.801,0.394-3.134,1.143-5.584-1.848v15.11l2.603,2.291
|
|
||||||
l2.171-1.794l0.249,0.312l-6.805,5.684l-5.173-4.723l-1.856,1.764l-0.314-0.319l2.836-2.565l0.022-13.029l-2.177-2.884
|
|
||||||
l-1.865,1.642l-0.271-0.294l6.587-5.934L475.748,32.644z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M493.101,38.941l7.599-11.066c0,0,1.001,1.185,2.752,1.638c2.366,0.623,4.446-1.671,4.446-1.671
|
|
||||||
c-0.398,2.954-1.903,6.323-4.995,6.83c-2.731,0.453-5.267-1.667-5.267-1.667l-0.487,0.761l10.548,15.94l2.108-1.847l0.286,0.304
|
|
||||||
l-7.251,6.328L493.101,38.941z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M486.817,24.163c0-2.386-0.977-3.864-2.259-3.766l8.289-5.811v32.969l0,0l2.19,2.308l1.654-1.438l0.271,0.312
|
|
||||||
l-6.681,5.837l-4.536-4.258l-1.797,1.596l-0.296-0.313l3.164-2.754V24.163z"/>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M417.487,23.613c0-2.215-0.904-3.471-2.371-3.497c-2.104-0.043-2.61,2.929-2.61,2.929s-0.387-2.291,1.539-4.375
|
|
||||||
c1.076-1.169,3.088-2.79,6.229-2.037c3.251,0.787,4.182,3.302,4.182,5.533v30.677c0,0,1.224,0.151,2.069,0.325
|
|
||||||
c0.964,0.216,1.894,0.476,1.894,0.476V16.65h0.399v4.99l6.669-5.362l4.873,4.336l2.279-1.977l0.258,0.314l-2.378,2.047v28.52
|
|
||||||
c-0.12,1.874-0.415,3.768-2.17,4.844c-3.92,2.33-8.652-0.354-12.864-0.965c-3.132-0.463-8.037-1.055-9.254,1.816
|
|
||||||
c-0.418,0.942-0.387,2.405,1.037,3.34c2.839,1.911,15.508-3.189,19.865-1.16c3.958,1.848,3.941,4.769,3.332,6.757
|
|
||||||
c-1.032,3.767-5.778,4.419-5.778,4.419s2.32-1.337,1.658-3.568c-0.336-1.139-1.105-1.449-3.592-1.172
|
|
||||||
c-5.431,0.612-11.92,3.245-16.29,1.422c-2.241-0.94-3.833-3.753-3.681-6.506c0.109-3.979,4.705-5.547,4.705-5.547V38.5
|
|
||||||
c-0.137-0.583-2.586-0.424-3.122,0.65c-0.811,1.629,1.011,2.393,1.011,2.393s-1.504,0.209-2.779-1.255
|
|
||||||
c-0.618-0.709-1.907-3.211-0.231-5.526c1.382-1.904,3.03-2.239,5.122-2.476V23.613z M428.817,53.744c0,0,1.944,0.52,3.352-0.638
|
|
||||||
c1.568-1.293,1.401-3.102,1.401-3.102V38.576c0,0-0.907-1.158-2.354-1.158c-1.438,0-2.399,1.194-2.399,1.194V53.744z
|
|
||||||
M433.57,23.758l-3.203-2.817l-1.55,1.225v10.588c0,0,0.962,1.204,2.399,1.204c1.446,0,2.354-1.159,2.354-1.159V23.758z
|
|
||||||
M433.57,33.431c0,0-0.911,1.041-2.362,1.041c-1.435,0-2.391-1.041-2.391-1.041v4.508c0,0,0.956-1.05,2.391-1.05
|
|
||||||
c1.451,0,2.362,0.998,2.362,0.998V33.431z"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<g>
|
|
||||||
<path d="M326.983,117.85c0,5.348-0.836,10.25-2.507,14.707c-1.671,4.457-4.011,8.338-7.019,11.643
|
|
||||||
c-3.008,3.306-6.648,5.96-10.918,7.966c-4.271,2.005-9.007,3.231-14.205,3.676c-1.709,0.15-3.064,0.261-4.066,0.334
|
|
||||||
c-1.003,0.075-1.727,0.111-2.173,0.111H243.09v-17.157h7.464V95.345h-7.464V78.188h42.113c3.713,0,7.019,0.242,9.916,0.724
|
|
||||||
c2.896,0.484,5.719,1.281,8.467,2.396c7.501,2.971,13.275,7.614,17.324,13.926C324.958,101.547,326.983,109.086,326.983,117.85z
|
|
||||||
M297.459,116.958c0-4.233-0.465-7.78-1.393-10.64c-0.93-2.858-2.47-5.365-4.624-7.521c-1.337-1.41-2.896-2.357-4.679-2.841
|
|
||||||
c-1.782-0.482-4.233-0.686-7.353-0.613v43.785c3.045,0.075,5.421-0.148,7.13-0.668c1.708-0.519,3.342-1.485,4.902-2.897
|
|
||||||
C295.454,131.999,297.459,125.798,297.459,116.958z"/>
|
|
||||||
<path d="M391.6,135.007h-35.094c0.891,6.016,3.972,9.024,9.247,9.024c1.708,0,3.212-0.352,4.512-1.058
|
|
||||||
c1.298-0.705,2.58-1.912,3.844-3.621H391.6c-1.041,2.601-2.005,4.643-2.896,6.128c-0.891,1.486-1.969,2.86-3.231,4.122
|
|
||||||
c-2.451,2.451-5.571,4.364-9.358,5.738c-3.788,1.373-7.91,2.061-12.367,2.061c-10.25,0-17.976-2.413-23.174-7.242
|
|
||||||
c-2.896-2.674-5.163-5.849-6.796-9.526c-1.635-3.676-2.451-7.445-2.451-11.308c0-4.084,0.742-7.816,2.229-11.197
|
|
||||||
c1.485-3.379,3.583-6.295,6.294-8.746c2.71-2.451,5.941-4.345,9.693-5.682c3.75-1.337,7.854-2.005,12.311-2.005
|
|
||||||
c3.788,0,7.242,0.501,10.361,1.504c3.119,1.003,6.089,2.582,8.913,4.735c1.633,1.189,3.137,2.637,4.512,4.345
|
|
||||||
c1.374,1.709,2.543,3.584,3.51,5.626c0.964,2.044,1.688,4.197,2.172,6.462c0.482,2.267,0.649,4.551,0.501,6.852L391.6,135.007z
|
|
||||||
M369.652,125.426c0-6.164-2.192-9.247-6.573-9.247c-2.972,0-4.977,1.412-6.016,4.233c-0.223,0.596-0.373,1.245-0.446,1.95
|
|
||||||
c-0.075,0.707-0.111,1.877-0.111,3.51v0.891h13.146V125.426z"/>
|
|
||||||
<path d="M448.865,117.293l-18.049,38.994h-18.939l-15.709-38.994h-3.676v-14.484h32.866v14.484h-3.676l6.238,16.154l7.02-16.154
|
|
||||||
h-4.123v-14.484h20.834v14.484H448.865z"/>
|
|
||||||
<path d="M512.48,135.007h-35.096c0.893,6.016,3.973,9.024,9.248,9.024c1.707,0,3.211-0.352,4.512-1.058
|
|
||||||
c1.299-0.705,2.58-1.912,3.844-3.621h17.492c-1.041,2.601-2.006,4.643-2.898,6.128c-0.891,1.486-1.969,2.86-3.23,4.122
|
|
||||||
c-2.451,2.451-5.57,4.364-9.357,5.738c-3.789,1.373-7.91,2.061-12.367,2.061c-10.25,0-17.975-2.413-23.174-7.242
|
|
||||||
c-2.896-2.674-5.162-5.849-6.795-9.526c-1.635-3.676-2.451-7.445-2.451-11.308c0-4.084,0.74-7.816,2.227-11.197
|
|
||||||
c1.486-3.379,3.584-6.295,6.295-8.746c2.711-2.451,5.941-4.345,9.693-5.682c3.75-1.337,7.855-2.005,12.311-2.005
|
|
||||||
c3.789,0,7.242,0.501,10.361,1.504c3.119,1.003,6.09,2.582,8.914,4.735c1.633,1.189,3.137,2.637,4.512,4.345
|
|
||||||
c1.373,1.709,2.543,3.584,3.51,5.626c0.963,2.044,1.688,4.197,2.172,6.462c0.482,2.267,0.648,4.551,0.502,6.852L512.48,135.007z
|
|
||||||
M490.531,125.426c0-6.164-2.191-9.247-6.572-9.247c-2.973,0-4.977,1.412-6.018,4.233c-0.223,0.596-0.371,1.245-0.445,1.95
|
|
||||||
c-0.074,0.707-0.111,1.877-0.111,3.51v0.891h13.146V125.426z"/>
|
|
||||||
<path d="M516.379,156.287v-14.483h4.457V92.671h-4.457V78.188h29.635v63.616h4.568v14.483H516.379z"/>
|
|
||||||
<path d="M618.654,129.771c0,4.085-0.779,7.818-2.34,11.197c-1.561,3.38-3.77,6.294-6.629,8.746s-6.258,4.345-10.193,5.682
|
|
||||||
c-3.938,1.337-8.244,2.005-12.924,2.005s-8.988-0.707-12.924-2.117c-3.938-1.41-7.354-3.342-10.25-5.793
|
|
||||||
c-2.896-2.451-5.164-5.365-6.797-8.746c-1.635-3.379-2.451-7.074-2.451-11.085c0-4.011,0.816-7.724,2.451-11.141
|
|
||||||
c1.633-3.415,3.9-6.368,6.797-8.857c2.896-2.488,6.312-4.438,10.25-5.849c3.936-1.41,8.205-2.117,12.812-2.117
|
|
||||||
c4.752,0,9.115,0.688,13.09,2.061c3.973,1.375,7.371,3.287,10.195,5.738c2.82,2.451,5.012,5.403,6.572,8.857
|
|
||||||
S618.654,125.612,618.654,129.771z M593.475,129.994c0-4.159-0.297-7.056-0.891-8.69c-0.596-1.56-1.449-2.803-2.562-3.732
|
|
||||||
c-1.113-0.928-2.377-1.393-3.787-1.393c-2.229,0-3.938,1.041-5.125,3.12c-1.189,2.08-1.783,5.125-1.783,9.136
|
|
||||||
c0,4.456,0.613,7.874,1.838,10.25c1.227,2.378,2.99,3.565,5.293,3.565c1.262,0,2.469-0.463,3.621-1.393
|
|
||||||
c1.15-0.928,2.021-2.134,2.617-3.621C593.215,135.75,593.475,133.336,593.475,129.994z"/>
|
|
||||||
<path d="M691.406,129.548c0,4.011-0.613,7.743-1.84,11.197c-1.225,3.454-2.99,6.406-5.291,8.857
|
|
||||||
c-2.229,2.451-4.83,4.364-7.799,5.738c-2.973,1.373-5.904,2.061-8.803,2.061c-2.377,0-4.809-0.428-7.297-1.281
|
|
||||||
s-5.441-2.321-8.857-4.401v10.138h6.018v14.484h-35.652v-14.484h4.457v-44.564h-4.457v-14.484h29.635v5.014
|
|
||||||
c3.268-2.228,6.201-3.805,8.803-4.735c2.598-0.928,5.309-1.393,8.133-1.393c5.496,0,10.174,1.821,14.037,5.459
|
|
||||||
c2.748,2.601,4.92,5.905,6.518,9.916C690.605,121.081,691.406,125.241,691.406,129.548z M666.227,129.994
|
|
||||||
c0-1.931-0.074-3.657-0.223-5.181c-0.15-1.521-0.373-2.691-0.668-3.509c-0.596-1.56-1.469-2.803-2.619-3.732
|
|
||||||
c-1.152-0.928-2.471-1.393-3.955-1.393c-4.828,0-7.242,4.161-7.242,12.478c0,9.062,2.414,13.592,7.242,13.592
|
|
||||||
c1.484,0,2.822-0.463,4.012-1.393c1.186-0.928,2.078-2.134,2.674-3.621C665.965,135.75,666.227,133.336,666.227,129.994z"/>
|
|
||||||
<path d="M754.799,135.007h-35.096c0.893,6.016,3.973,9.024,9.248,9.024c1.707,0,3.211-0.352,4.512-1.058
|
|
||||||
c1.299-0.705,2.58-1.912,3.844-3.621h17.492c-1.041,2.601-2.006,4.643-2.898,6.128c-0.891,1.486-1.969,2.86-3.23,4.122
|
|
||||||
c-2.451,2.451-5.57,4.364-9.357,5.738c-3.789,1.373-7.91,2.061-12.367,2.061c-10.25,0-17.975-2.413-23.174-7.242
|
|
||||||
c-2.896-2.674-5.162-5.849-6.795-9.526c-1.635-3.676-2.451-7.445-2.451-11.308c0-4.084,0.74-7.816,2.227-11.197
|
|
||||||
c1.486-3.379,3.584-6.295,6.295-8.746c2.711-2.451,5.941-4.345,9.693-5.682c3.75-1.337,7.855-2.005,12.311-2.005
|
|
||||||
c3.789,0,7.242,0.501,10.361,1.504c3.119,1.003,6.09,2.582,8.914,4.735c1.633,1.189,3.137,2.637,4.512,4.345
|
|
||||||
c1.373,1.709,2.543,3.584,3.51,5.626c0.963,2.044,1.688,4.197,2.172,6.462c0.482,2.267,0.648,4.551,0.502,6.852L754.799,135.007z
|
|
||||||
M732.85,125.426c0-6.164-2.191-9.247-6.572-9.247c-2.973,0-4.977,1.412-6.018,4.233c-0.223,0.596-0.371,1.245-0.445,1.95
|
|
||||||
c-0.074,0.707-0.111,1.877-0.111,3.51v0.891h13.146V125.426z"/>
|
|
||||||
<path d="M802.258,120.356c-1.635,0.111-3.232,0.354-4.791,0.724c-3.418,0.818-5.906,2.526-7.465,5.125
|
|
||||||
c-0.521,0.966-0.875,2.155-1.059,3.565c-0.186,1.412-0.279,3.64-0.279,6.685v5.348h6.018v14.483h-35.652v-14.483h4.457v-24.51
|
|
||||||
h-4.457v-14.484h29.635v8.245c3.121-3.342,6.146-5.811,9.08-7.409c2.934-1.597,6.184-2.284,9.75-2.061l1.893,0.111v18.494
|
|
||||||
C806.268,120.189,803.891,120.245,802.258,120.356z"/>
|
|
||||||
<path d="M862.309,139.241c0,2.601-0.521,4.996-1.561,7.186c-1.041,2.191-2.488,4.105-4.346,5.738
|
|
||||||
c-1.857,1.634-4.104,2.916-6.74,3.844c-2.637,0.928-5.514,1.393-8.633,1.393c-1.412,0-2.73-0.056-3.955-0.167
|
|
||||||
c-1.227-0.111-2.508-0.316-3.844-0.612c-1.338-0.298-2.77-0.686-4.291-1.17c-1.521-0.482-3.285-1.095-5.291-1.838v2.674h-12.033
|
|
||||||
v-17.826h11.922c0.742,2.378,1.672,4.161,2.785,5.348c1.113,1.189,2.822,1.783,5.125,1.783c1.707,0,3.064-0.352,4.066-1.059
|
|
||||||
c1.002-0.705,1.504-1.727,1.504-3.064c0-1.855-1.189-3.304-3.564-4.345l-11.588-4.902c-2.971-1.262-5.219-3.1-6.74-5.515
|
|
||||||
c-1.523-2.413-2.283-5.031-2.283-7.854c0-2.301,0.518-4.493,1.559-6.573c1.041-2.079,2.488-3.899,4.346-5.459
|
|
||||||
c1.855-1.56,4.029-2.803,6.518-3.732c2.488-0.928,5.143-1.393,7.967-1.393c2.375,0,4.623,0.261,6.74,0.78
|
|
||||||
c2.115,0.521,4.473,1.375,7.074,2.562v-2.229h12.143v17.158h-11.141c-0.52-2.674-1.318-4.716-2.395-6.128
|
|
||||||
c-1.078-1.41-2.619-2.117-4.623-2.117c-1.488,0-2.713,0.39-3.678,1.17c-0.967,0.78-1.447,1.765-1.447,2.952
|
|
||||||
c0,2.081,1.373,3.677,4.121,4.791l11.365,4.456C858.668,127.915,862.309,132.631,862.309,139.241z"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 20 KiB |
49
vendor/bootstrap-toggle/doc/script.js
vendored
@ -1,49 +0,0 @@
|
|||||||
+function ($) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
$('.example:not(.skip)').each(function() {
|
|
||||||
// fetch & encode html
|
|
||||||
var html = $('<div>').text($(this).html()).html()
|
|
||||||
// find number of space/tabs on first line (minus line break)
|
|
||||||
var count = html.match(/^(\s+)/)[0].length - 1
|
|
||||||
// replace tabs/spaces on each lines with
|
|
||||||
var regex = new RegExp('\\n\\s{'+count+'}', 'g')
|
|
||||||
var code = html.replace(regex, '\n').replace(/\t/g, ' ').trim()
|
|
||||||
// other cleanup
|
|
||||||
code = code.replace(/=""/g,'')
|
|
||||||
// add code block to dom
|
|
||||||
$(this).after( $('<code class="highlight html">').html(code) )
|
|
||||||
});
|
|
||||||
|
|
||||||
$('code.highlight').each(function() {
|
|
||||||
hljs.highlightBlock(this)
|
|
||||||
});
|
|
||||||
|
|
||||||
}(jQuery);
|
|
||||||
|
|
||||||
var Demo = function () {}
|
|
||||||
|
|
||||||
Demo.prototype.init = function(selector) {
|
|
||||||
$(selector).bootstrapToggle(selector)
|
|
||||||
}
|
|
||||||
Demo.prototype.destroy = function(selector) {
|
|
||||||
$(selector).bootstrapToggle('destroy')
|
|
||||||
}
|
|
||||||
Demo.prototype.on = function(selector) {
|
|
||||||
$(selector).bootstrapToggle('on')
|
|
||||||
}
|
|
||||||
Demo.prototype.off = function(selector) {
|
|
||||||
$(selector).bootstrapToggle('off')
|
|
||||||
}
|
|
||||||
Demo.prototype.toggle = function(selector) {
|
|
||||||
$(selector).bootstrapToggle('toggle')
|
|
||||||
}
|
|
||||||
Demo.prototype.enable = function(selector) {
|
|
||||||
$(selector).bootstrapToggle('enable')
|
|
||||||
}
|
|
||||||
Demo.prototype.disable = function(selector) {
|
|
||||||
$(selector).bootstrapToggle('disable')
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
demo = new Demo()
|
|
112
vendor/bootstrap-toggle/doc/stylesheet.css
vendored
@ -1,112 +0,0 @@
|
|||||||
header, footer {
|
|
||||||
padding: 20px;
|
|
||||||
background-image: url('header.png');
|
|
||||||
background-size: 256px 256px;
|
|
||||||
}
|
|
||||||
footer {
|
|
||||||
color: #fff;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.nyt-logo {
|
|
||||||
max-height: 40px;
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
nav.navbar {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
background-color: #fff;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
#navbar {
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
#navbar .navbar-nav li iframe {
|
|
||||||
margin-top: 15px;
|
|
||||||
}
|
|
||||||
#navbar .navbar-nav li:last-child iframe {
|
|
||||||
margin-right: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 767px) {
|
|
||||||
#navbar .navbar-nav li iframe {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.mast-head {
|
|
||||||
margin: 10px 0;
|
|
||||||
}
|
|
||||||
.mast-head h1 {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.mast-head p {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mast-links {
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mast-links > * {
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mast-links > .btn {
|
|
||||||
margin-right: 30px;
|
|
||||||
}
|
|
||||||
main {
|
|
||||||
margin: 10px 20px;
|
|
||||||
}
|
|
||||||
main .container {
|
|
||||||
margin-bottom: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
code.hljs {
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
padding: 1em;
|
|
||||||
white-space: pre;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.example {
|
|
||||||
position: relative;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
padding: 1em 1em 0.5em 1em;
|
|
||||||
border-radius: 4px 4px 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.example:after {
|
|
||||||
content: "Example";
|
|
||||||
position: absolute;
|
|
||||||
top: 0px;
|
|
||||||
right: 0px;
|
|
||||||
padding: 3px 7px;
|
|
||||||
font-size: 12px;
|
|
||||||
font-weight: bold;
|
|
||||||
background-color: #f5f5f5;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
color: #9da0a4;
|
|
||||||
border-radius: 0px 4px 0px 4px;
|
|
||||||
border-width: 0px 0px 1px 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.example + code.hljs {
|
|
||||||
border-top: 0;
|
|
||||||
border-radius: 0px 0px 4px 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.example > * {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.example > div.toggle {
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-striped code {
|
|
||||||
background-color: inherit;
|
|
||||||
}
|
|
449
vendor/bootstrap-toggle/index.html
vendored
@ -1,449 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<script> if (window.location.href.indexOf('minhur.github.io') > 0) window.location.replace('http://www.bootstraptoggle.com') </script>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="msvalidate.01" content="3638AEFC99423BA5CB586805286C39AA" />
|
|
||||||
<meta name="description" content="Bootstrap Toggle is a highly flexible Bootstrap plugin that converts checkboxes into toggles." />
|
|
||||||
<meta name="keywords" content="bootstrap, toggle, switch, bootstrap-toggle, bootstrap-switch" />
|
|
||||||
<meta name="author" content="metatags generator">
|
|
||||||
<meta name="robots" content="index, follow">
|
|
||||||
<meta name="revisit-after" content="1 month">
|
|
||||||
<title>Bootstrap Toggle</title>
|
|
||||||
<link rel="canonical" href="http://www.bootstraptoggle.com">
|
|
||||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.3/styles/github.min.css" rel="stylesheet" >
|
|
||||||
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
|
|
||||||
<link href="css/bootstrap-toggle.css" rel="stylesheet">
|
|
||||||
<link href="doc/stylesheet.css" rel="stylesheet">
|
|
||||||
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header>
|
|
||||||
<nav class="navbar navbar-default container" role="navigation">
|
|
||||||
<div class="container">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
|
|
||||||
<span class="sr-only">Toggle navigation</span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
</button>
|
|
||||||
<a class="navbar-brand" href="#">Bootstrap Toggle</a>
|
|
||||||
</div>
|
|
||||||
<div id="navbar" class="collapse navbar-collapse">
|
|
||||||
<ul class="nav navbar-nav navbar-right">
|
|
||||||
<li><a href="#usage">Usage</a></li>
|
|
||||||
<li><a href="#api">API</a></li>
|
|
||||||
<li><a href="#events">Events</a></li>
|
|
||||||
<li><a href="#demos">Demos</a></li>
|
|
||||||
<li><a href="https://github.com/minhur/bootstrap-toggle/issues">Issues</a></li>
|
|
||||||
<li><a href="https://github.com/minhur/bootstrap-toggle/archive/master.zip">Download</a></li>
|
|
||||||
<li>
|
|
||||||
<iframe src="https://mdo.github.io/github-buttons/github-btn.html?user=minhur&repo=bootstrap-toggle&type=watch" allowtransparency="true" frameborder="0" scrolling="0" width="62" height="20"></iframe>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<iframe src="https://mdo.github.io/github-buttons/github-btn.html?user=minhur&repo=bootstrap-toggle&type=fork" allowtransparency="true" frameborder="0" scrolling="0" width="53" height="20"></iframe>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<div class="mast-head">
|
|
||||||
<div class="container">
|
|
||||||
<h1>Bootstrap Toggle</h1>
|
|
||||||
<p>Bootstrap Toggle is a highly flexible Bootstrap plugin that converts checkboxes into toggles</p>
|
|
||||||
<div class="mast-links">
|
|
||||||
<iframe src="https://mdo.github.io/github-buttons/github-btn.html?user=minhur&repo=bootstrap-toggle&type=watch&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="150" height="30"></iframe>
|
|
||||||
<iframe src="https://mdo.github.io/github-buttons/github-btn.html?user=minhur&repo=bootstrap-toggle&type=fork&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="150" height="30"></iframe>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main>
|
|
||||||
<div class="container">
|
|
||||||
<h2>Getting Started</h2>
|
|
||||||
<hr>
|
|
||||||
<h3>Installation</h3>
|
|
||||||
<p>You can <a href="https://github.com/minhur/bootstrap-toggle/archive/master.zip">download</a> the latest version of Bootstrap Toggle or use CDN to load the library.</p>
|
|
||||||
<p><span class="label label-warning">Warning</span> If you are using Bootstrap v2.3.2, use <code>bootstrap2-toggle.min.js</code> and <code>bootstrap2-toggle.min.css</code> instead.</p>
|
|
||||||
<code class="highlight"><link href="https://gitcdn.github.io/bootstrap-toggle/2.2.0/css/bootstrap-toggle.min.css" rel="stylesheet">
|
|
||||||
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.0/js/bootstrap-toggle.min.js"></script></code>
|
|
||||||
|
|
||||||
<h3>Bower Install</h3>
|
|
||||||
<p></p>
|
|
||||||
<code class="highlight bash">bower install bootstrap-toggle</code>
|
|
||||||
</div>
|
|
||||||
<div id="usage" class="container">
|
|
||||||
<h2>Usage</h2>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<h3>Basic example</h3>
|
|
||||||
<p>Simply add <code>data-toggle="toggle"</code> to convert checkboxes into toggles.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Stacked checkboxes</h3>
|
|
||||||
<p>Refer to Bootstrap <a href="http://getbootstrap.com/css/#forms-controls" target="_blank">Form Controls</a> documentation to create stacked checkboxes. Simply add <code>data-toggle="toggle"</code> to convert checkboxes into toggles.</p>
|
|
||||||
<div class="example">
|
|
||||||
<div class="checkbox">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" data-toggle="toggle">
|
|
||||||
Option one is enabled
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="checkbox disabled">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" disabled data-toggle="toggle">
|
|
||||||
Option two is disabled
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Inline Checkboxes</h3>
|
|
||||||
<p>Refer to Bootstrap <a href="http://getbootstrap.com/css/#forms-controls" target="_blank">Form Controls</a> documentation to create inline checkboxes. Simply add <code>data-toggle="toggle"</code> to a convert checkboxes into toggles.</p>
|
|
||||||
<div class="example">
|
|
||||||
<label class="checkbox-inline">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle"> First
|
|
||||||
</label>
|
|
||||||
<label class="checkbox-inline">
|
|
||||||
<input type="checkbox" data-toggle="toggle"> Second
|
|
||||||
</label>
|
|
||||||
<label class="checkbox-inline">
|
|
||||||
<input type="checkbox" data-toggle="toggle"> Third
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="api" class="container">
|
|
||||||
<h2>API</h2>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<h3>Initialize by JavaScript</h3>
|
|
||||||
<p>Initialize toggles with id <code>toggle-one</code> with a single line of JavaScript.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input id="toggle-one" checked type="checkbox">
|
|
||||||
<script>
|
|
||||||
$(function() {
|
|
||||||
$('#toggle-one').bootstrapToggle();
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Options</h3>
|
|
||||||
<p>Options can be passed via data attributes or JavaScript. For data attributes, append the option name to <code>data-</code>, as in <code>data-on="Enabled"</code>.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input type="checkbox" data-toggle="toggle" data-on="Enabled" data-off="Disabled">
|
|
||||||
<input type="checkbox" id="toggle-two">
|
|
||||||
<script>
|
|
||||||
$(function() {
|
|
||||||
$('#toggle-two').bootstrapToggle({
|
|
||||||
on: 'Enabled',
|
|
||||||
off: 'Disabled'
|
|
||||||
});
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
<div class="table-responsive">
|
|
||||||
<table class="table table-striped table-condensed">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Name</th>
|
|
||||||
<th>Type</th>
|
|
||||||
<th>Default</th>
|
|
||||||
<th>Description</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>on</td>
|
|
||||||
<td>string | html</td>
|
|
||||||
<td><code>"On"</code></td>
|
|
||||||
<td>Text of the <em>on</em> toggle</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>off</td>
|
|
||||||
<td>string | html</td>
|
|
||||||
<td><code>"Off"</code></td>
|
|
||||||
<td>Text of the <em>off</em> toggle</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>size</td>
|
|
||||||
<td>string</td>
|
|
||||||
<td><code>"normal"</code></td>
|
|
||||||
<td>
|
|
||||||
Size of the toggle. Possible values are:<code>large</code>,<code>normal</code>,<code>small</code>,<code>mini</code><br>
|
|
||||||
Refer to Bootstrap <a href="http://getbootstrap.com/css/#buttons-sizes" target="_blank">Button Sizes</a> documentation for more information.
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>onstyle</td>
|
|
||||||
<td>string</td>
|
|
||||||
<td><code>"primary"</code></td>
|
|
||||||
<td>
|
|
||||||
Style of the <em>on</em> toggle.<br>Possible values are:<code>default</code>,<code>primary</code>,<code>success</code>,<code>info</code>,<code>warning</code>,<code>danger</code><br>
|
|
||||||
Refer to Bootstrap <a href="http://getbootstrap.com/css/#buttons-options" target="_blank">Button Options</a> documentation for more information.
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>offstyle</td>
|
|
||||||
<td>string</td>
|
|
||||||
<td><code>"default"</code></td>
|
|
||||||
<td>
|
|
||||||
Style of the <em>off</em> toggle.<br>Possible values are:<code>default</code>,<code>primary</code>,<code>success</code>,<code>info</code>,<code>warning</code>,<code>danger</code><br>
|
|
||||||
Refer to Bootstrap <a href="http://getbootstrap.com/css/#buttons-options" target="_blank">Button Options</a> documentation for more information.
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>style</td>
|
|
||||||
<td>string</td>
|
|
||||||
<td></td>
|
|
||||||
<td>
|
|
||||||
Appends the value to the class attribute of the toggle. This can be used to apply custom styles. Refer to Custom Styles for reference.
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>width</td>
|
|
||||||
<td>integer</td>
|
|
||||||
<td><em>null</em></td>
|
|
||||||
<td>
|
|
||||||
Sets the width of the toggle. if set to <em>null</em>, width will be calculated.
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>height</td>
|
|
||||||
<td>integer</td>
|
|
||||||
<td><em>null</em></td>
|
|
||||||
<td>
|
|
||||||
Sets the height of the toggle. if set to <em>null</em>, height will be calculated.
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Methods</h3>
|
|
||||||
<p>Methods can be used to control toggles directly.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input id="toggle-demo" type="checkbox" data-toggle="toggle">
|
|
||||||
</div>
|
|
||||||
<div class="table-responsive">
|
|
||||||
<table class="table table-striped table-condensed">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Method</th>
|
|
||||||
<th>Example</th>
|
|
||||||
<th>Description</th>
|
|
||||||
<th>Demo</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td><em>initialize</em></td>
|
|
||||||
<td><code>$('#toggle-demo').bootstrapToggle()</code></td>
|
|
||||||
<td>Initializes the toggle plugin with options</td>
|
|
||||||
<td><button class="btn btn-default btn-xs" onclick="demo.init('#toggle-demo')">Initialize</button></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>destroy</td>
|
|
||||||
<td><code>$('#toggle-demo').bootstrapToggle('destroy')</code></td>
|
|
||||||
<td>Destroys the toggle</td>
|
|
||||||
<td><button class="btn btn-default btn-xs" onclick="demo.destroy('#toggle-demo')">Destroy</button></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>on</td>
|
|
||||||
<td><code>$('#toggle-demo').bootstrapToggle('on')</code></td>
|
|
||||||
<td>Sets the toggle to 'On' state</td>
|
|
||||||
<td><button class="btn btn-default btn-xs" onclick="demo.on('#toggle-demo')">On</button></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>off</td>
|
|
||||||
<td><code>$('#toggle-demo').bootstrapToggle('off')</code></td>
|
|
||||||
<td>Sets the toggle to 'Off' state</td>
|
|
||||||
<td><button class="btn btn-default btn-xs" onclick="demo.off('#toggle-demo')">Off</button></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>toggle</td>
|
|
||||||
<td><code>$('#toggle-demo').bootstrapToggle('toggle')</code></td>
|
|
||||||
<td>Toggles the state of the toggle</td>
|
|
||||||
<td><button class="btn btn-default btn-xs" onclick="demo.toggle('#toggle-demo')">Toggle</button></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>enable</td>
|
|
||||||
<td><code>$('#toggle-demo').bootstrapToggle('enable')</code></td>
|
|
||||||
<td>Enables the toggle</td>
|
|
||||||
<td><button class="btn btn-default btn-xs" onclick="demo.enable('#toggle-demo')">Enable</button></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>disable</td>
|
|
||||||
<td><code>$('#toggle-demo').bootstrapToggle('disable')</code></td>
|
|
||||||
<td>Disables the toggle</td>
|
|
||||||
<td><button class="btn btn-default btn-xs" onclick="demo.disable('#toggle-demo')">Disable</button></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div id="events" class="container">
|
|
||||||
<h2>Events</h2>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<h3>Event Propagation</h3>
|
|
||||||
<p><span class="label label-primary">Note</span> All events are propagated to and from input element to the toggle. </p>
|
|
||||||
<p>You should listen to events from the <code><input type="checkbox"></code> directly rather than look for custom events.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input id="toggle-event" type="checkbox" data-toggle="toggle">
|
|
||||||
<div id="console-event"></div>
|
|
||||||
<script>
|
|
||||||
$(function() {
|
|
||||||
$('#toggle-event').change(function() {
|
|
||||||
$('#console-event').html('Toggle: ' + $(this).prop('checked'))
|
|
||||||
})
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>API vs Input</h3>
|
|
||||||
<p>This also means that using the API or Input to trigger events will work both ways.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input id="toggle-trigger" type="checkbox" data-toggle="toggle">
|
|
||||||
<button class="btn btn-success" onclick="toggleOn()">On by API</button>
|
|
||||||
<button class="btn btn-danger" onclick="toggleOff()">Off by API</button>
|
|
||||||
<button class="btn btn-success" onclick="toggleOnByInput()">On by Input</button>
|
|
||||||
<button class="btn btn-danger" onclick="toggleOffByInput()">Off by Input</button>
|
|
||||||
<script>
|
|
||||||
function toggleOn() {
|
|
||||||
$('#toggle-trigger').bootstrapToggle('on')
|
|
||||||
}
|
|
||||||
function toggleOff() {
|
|
||||||
$('#toggle-trigger').bootstrapToggle('off')
|
|
||||||
}
|
|
||||||
function toggleOnByInput() {
|
|
||||||
$('#toggle-trigger').prop('checked', true).change()
|
|
||||||
}
|
|
||||||
function toggleOffByInput() {
|
|
||||||
$('#toggle-trigger').prop('checked', false).change()
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="demos" class="container">
|
|
||||||
<h2>Demos</h2>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<h3>Sizes</h3>
|
|
||||||
<p>Bootstrap toggle is available in different sizes. Refer to Bootstrap <a href="http://getbootstrap.com/css/#buttons-sizes" target="_blank">Button Sizes</a> documentation for more information.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-size="large">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-size="normal">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-size="small">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-size="mini">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Custom Sizes</h3>
|
|
||||||
<p>Bootstrap toggle can handle custom sizes by <code>data-width</code> and <code>data-height</code> options.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-width="100" data-height="75">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-height="75">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-width="100">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Colors</h3>
|
|
||||||
<p>Bootstrap Toggle supports various colors. Refer to Bootstrap <a href="http://getbootstrap.com/css/#buttons-options" target="_blank">Button Options</a> documentation for more information.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-onstyle="primary">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-onstyle="success">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-onstyle="info">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-onstyle="warning">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-onstyle="danger">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-onstyle="default">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Colors Mix</h3>
|
|
||||||
<p>You can style on state as well as the off state.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-onstyle="success" data-offstyle="danger">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-onstyle="warning" data-offstyle="info">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Custom Style</h3>
|
|
||||||
<p>Customized styles can be applied as easily.</p>
|
|
||||||
<div class="example">
|
|
||||||
<style>
|
|
||||||
.toggle.ios, .toggle-on.ios, .toggle-off.ios { border-radius: 20px; }
|
|
||||||
.toggle.ios .toggle-handle { border-radius: 20px; }
|
|
||||||
</style>
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-style="ios">
|
|
||||||
<style>
|
|
||||||
.toggle.android { border-radius: 0px;}
|
|
||||||
.toggle.android .toggle-handle { border-radius: 0px; }
|
|
||||||
</style>
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-style="android" data-onstyle="info">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Custom Text</h3>
|
|
||||||
<p>The text can be changed easily with attributes or options.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-on="Ready" data-off="Not Ready" data-onstyle="success" data-offstyle="danger">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Icons/Html Text</h3>
|
|
||||||
<p>You can easily add icons or images since html is supported for on/off text.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-on="<i class='fa fa-play'></i> Play" data-off="<i class='fa fa-pause'></i> Pause">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Multiple Lines of Text</h3>
|
|
||||||
<p>Toggles with multiple lines will adjust its heights.</p>
|
|
||||||
<div class="example">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-on="Hello<br>World" data-off="Goodbye<br>World">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3>Animation Speed</h3>
|
|
||||||
<p>Transition speed can be easily controlled with css <code>transition</code> property on <code>.toggle-group</code>. You can also turn animation off completely.</p>
|
|
||||||
<div class="example">
|
|
||||||
<style>
|
|
||||||
.slow .toggle-group { transition: left 0.7s; -webkit-transition: left 0.7s; }
|
|
||||||
.fast .toggle-group { transition: left 0.1s; -webkit-transition: left 0.1s; }
|
|
||||||
.quick .toggle-group { transition: none; -webkit-transition: none; }
|
|
||||||
</style>
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-style="slow">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-class="fast">
|
|
||||||
<input type="checkbox" checked data-toggle="toggle" data-style="quick">
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
</main>
|
|
||||||
<footer>
|
|
||||||
<div class="container">
|
|
||||||
<p>
|
|
||||||
<img class="nyt-logo" src="doc/nyt.png">
|
|
||||||
<img class="nyt-logo" src="doc/nytdev.svg">
|
|
||||||
</p>
|
|
||||||
<p>Designed and built by <a href="https://github.com/minhur" target="_blank">Min Hur</a> for <a href="http://developers.nytimes.com" target="_blank">The New York Times Company</a></p>
|
|
||||||
<p>Latest Version: 2.2.0 | Code licensed under MIT</p>
|
|
||||||
<p>
|
|
||||||
<iframe src="https://mdo.github.io/github-buttons/github-btn.html?user=minhur&repo=bootstrap-toggle&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="110" height="20"></iframe>
|
|
||||||
<iframe src="https://mdo.github.io/github-buttons/github-btn.html?user=minhur&repo=bootstrap-toggle&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="95" height="20"></iframe>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.3/highlight.min.js"></script>
|
|
||||||
<script src="doc/script.js"></script>
|
|
||||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
|
|
||||||
<script src="js/bootstrap-toggle.js"></script>
|
|
||||||
<script>
|
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
||||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
||||||
ga('create', 'UA-55669452-1', 'auto');
|
|
||||||
ga('send', 'pageview');
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
180
vendor/bootstrap-toggle/js/bootstrap-toggle.js
vendored
@ -1,180 +0,0 @@
|
|||||||
/*! ========================================================================
|
|
||||||
* Bootstrap Toggle: bootstrap-toggle.js v2.2.0
|
|
||||||
* http://www.bootstraptoggle.com
|
|
||||||
* ========================================================================
|
|
||||||
* Copyright 2014 Min Hur, The New York Times Company
|
|
||||||
* Licensed under MIT
|
|
||||||
* ======================================================================== */
|
|
||||||
|
|
||||||
|
|
||||||
+function ($) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
// TOGGLE PUBLIC CLASS DEFINITION
|
|
||||||
// ==============================
|
|
||||||
|
|
||||||
var Toggle = function (element, options) {
|
|
||||||
this.$element = $(element)
|
|
||||||
this.options = $.extend({}, this.defaults(), options)
|
|
||||||
this.render()
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.VERSION = '2.2.0'
|
|
||||||
|
|
||||||
Toggle.DEFAULTS = {
|
|
||||||
on: 'On',
|
|
||||||
off: 'Off',
|
|
||||||
onstyle: 'primary',
|
|
||||||
offstyle: 'default',
|
|
||||||
size: 'normal',
|
|
||||||
style: '',
|
|
||||||
width: null,
|
|
||||||
height: null
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.defaults = function() {
|
|
||||||
return {
|
|
||||||
on: this.$element.attr('data-on') || Toggle.DEFAULTS.on,
|
|
||||||
off: this.$element.attr('data-off') || Toggle.DEFAULTS.off,
|
|
||||||
onstyle: this.$element.attr('data-onstyle') || Toggle.DEFAULTS.onstyle,
|
|
||||||
offstyle: this.$element.attr('data-offstyle') || Toggle.DEFAULTS.offstyle,
|
|
||||||
size: this.$element.attr('data-size') || Toggle.DEFAULTS.size,
|
|
||||||
style: this.$element.attr('data-style') || Toggle.DEFAULTS.style,
|
|
||||||
width: this.$element.attr('data-width') || Toggle.DEFAULTS.width,
|
|
||||||
height: this.$element.attr('data-height') || Toggle.DEFAULTS.height
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.render = function () {
|
|
||||||
this._onstyle = 'btn-' + this.options.onstyle
|
|
||||||
this._offstyle = 'btn-' + this.options.offstyle
|
|
||||||
var size = this.options.size === 'large' ? 'btn-lg'
|
|
||||||
: this.options.size === 'small' ? 'btn-sm'
|
|
||||||
: this.options.size === 'mini' ? 'btn-xs'
|
|
||||||
: ''
|
|
||||||
var $toggleOn = $('<label class="btn">').html(this.options.on)
|
|
||||||
.addClass(this._onstyle + ' ' + size)
|
|
||||||
var $toggleOff = $('<label class="btn">').html(this.options.off)
|
|
||||||
.addClass(this._offstyle + ' ' + size + ' active')
|
|
||||||
var $toggleHandle = $('<span class="toggle-handle btn btn-default">')
|
|
||||||
.addClass(size)
|
|
||||||
var $toggleGroup = $('<div class="toggle-group">')
|
|
||||||
.append($toggleOn, $toggleOff, $toggleHandle)
|
|
||||||
var $toggle = $('<div class="toggle btn" data-toggle="toggle">')
|
|
||||||
.addClass( this.$element.prop('checked') ? this._onstyle : this._offstyle+' off' )
|
|
||||||
.addClass(size).addClass(this.options.style)
|
|
||||||
|
|
||||||
this.$element.wrap($toggle)
|
|
||||||
$.extend(this, {
|
|
||||||
$toggle: this.$element.parent(),
|
|
||||||
$toggleOn: $toggleOn,
|
|
||||||
$toggleOff: $toggleOff,
|
|
||||||
$toggleGroup: $toggleGroup
|
|
||||||
})
|
|
||||||
this.$toggle.append($toggleGroup)
|
|
||||||
|
|
||||||
var width = this.options.width || Math.max($toggleOn.outerWidth(), $toggleOff.outerWidth())+($toggleHandle.outerWidth()/2)
|
|
||||||
var height = this.options.height || Math.max($toggleOn.outerHeight(), $toggleOff.outerHeight())
|
|
||||||
$toggleOn.addClass('toggle-on')
|
|
||||||
$toggleOff.addClass('toggle-off')
|
|
||||||
this.$toggle.css({ width: width, height: height })
|
|
||||||
if (this.options.height) {
|
|
||||||
$toggleOn.css('line-height', $toggleOn.height() + 'px')
|
|
||||||
$toggleOff.css('line-height', $toggleOff.height() + 'px')
|
|
||||||
}
|
|
||||||
this.update(true)
|
|
||||||
this.trigger(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.toggle = function () {
|
|
||||||
if (this.$element.prop('checked')) this.off()
|
|
||||||
else this.on()
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.on = function (silent) {
|
|
||||||
if (this.$element.prop('disabled')) return false
|
|
||||||
this.$toggle.removeClass(this._offstyle + ' off').addClass(this._onstyle)
|
|
||||||
this.$element.prop('checked', true)
|
|
||||||
if (!silent) this.trigger()
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.off = function (silent) {
|
|
||||||
if (this.$element.prop('disabled')) return false
|
|
||||||
this.$toggle.removeClass(this._onstyle).addClass(this._offstyle + ' off')
|
|
||||||
this.$element.prop('checked', false)
|
|
||||||
if (!silent) this.trigger()
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.enable = function () {
|
|
||||||
this.$toggle.removeAttr('disabled')
|
|
||||||
this.$element.prop('disabled', false)
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.disable = function () {
|
|
||||||
this.$toggle.attr('disabled', 'disabled')
|
|
||||||
this.$element.prop('disabled', true)
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.update = function (silent) {
|
|
||||||
if (this.$element.prop('disabled')) this.disable()
|
|
||||||
else this.enable()
|
|
||||||
if (this.$element.prop('checked')) this.on(silent)
|
|
||||||
else this.off(silent)
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.trigger = function (silent) {
|
|
||||||
this.$element.off('change.bs.toggle')
|
|
||||||
if (!silent) this.$element.change()
|
|
||||||
this.$element.on('change.bs.toggle', $.proxy(function() {
|
|
||||||
this.update()
|
|
||||||
}, this))
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.destroy = function() {
|
|
||||||
this.$element.off('change.bs.toggle')
|
|
||||||
this.$toggleGroup.remove()
|
|
||||||
this.$element.removeData('bs.toggle')
|
|
||||||
this.$element.unwrap()
|
|
||||||
}
|
|
||||||
|
|
||||||
// TOGGLE PLUGIN DEFINITION
|
|
||||||
// ========================
|
|
||||||
|
|
||||||
function Plugin(option) {
|
|
||||||
return this.each(function () {
|
|
||||||
var $this = $(this)
|
|
||||||
var data = $this.data('bs.toggle')
|
|
||||||
var options = typeof option == 'object' && option
|
|
||||||
|
|
||||||
if (!data) $this.data('bs.toggle', (data = new Toggle(this, options)))
|
|
||||||
if (typeof option == 'string' && data[option]) data[option]()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
var old = $.fn.bootstrapToggle
|
|
||||||
|
|
||||||
$.fn.bootstrapToggle = Plugin
|
|
||||||
$.fn.bootstrapToggle.Constructor = Toggle
|
|
||||||
|
|
||||||
// TOGGLE NO CONFLICT
|
|
||||||
// ==================
|
|
||||||
|
|
||||||
$.fn.toggle.noConflict = function () {
|
|
||||||
$.fn.bootstrapToggle = old
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
|
|
||||||
// TOGGLE DATA-API
|
|
||||||
// ===============
|
|
||||||
|
|
||||||
$(function() {
|
|
||||||
$('input[type=checkbox][data-toggle^=toggle]').bootstrapToggle()
|
|
||||||
})
|
|
||||||
|
|
||||||
$(document).on('click.bs.toggle', 'div[data-toggle^=toggle]', function(e) {
|
|
||||||
var $checkbox = $(this).find('input[type=checkbox]')
|
|
||||||
$checkbox.bootstrapToggle('toggle')
|
|
||||||
e.preventDefault()
|
|
||||||
})
|
|
||||||
|
|
||||||
}(jQuery);
|
|
@ -1,9 +0,0 @@
|
|||||||
/*! ========================================================================
|
|
||||||
* Bootstrap Toggle: bootstrap-toggle.js v2.2.0
|
|
||||||
* http://www.bootstraptoggle.com
|
|
||||||
* ========================================================================
|
|
||||||
* Copyright 2014 Min Hur, The New York Times Company
|
|
||||||
* Licensed under MIT
|
|
||||||
* ======================================================================== */
|
|
||||||
+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.toggle"),f="object"==typeof b&&b;e||d.data("bs.toggle",e=new c(this,f)),"string"==typeof b&&e[b]&&e[b]()})}var c=function(b,c){this.$element=a(b),this.options=a.extend({},this.defaults(),c),this.render()};c.VERSION="2.2.0",c.DEFAULTS={on:"On",off:"Off",onstyle:"primary",offstyle:"default",size:"normal",style:"",width:null,height:null},c.prototype.defaults=function(){return{on:this.$element.attr("data-on")||c.DEFAULTS.on,off:this.$element.attr("data-off")||c.DEFAULTS.off,onstyle:this.$element.attr("data-onstyle")||c.DEFAULTS.onstyle,offstyle:this.$element.attr("data-offstyle")||c.DEFAULTS.offstyle,size:this.$element.attr("data-size")||c.DEFAULTS.size,style:this.$element.attr("data-style")||c.DEFAULTS.style,width:this.$element.attr("data-width")||c.DEFAULTS.width,height:this.$element.attr("data-height")||c.DEFAULTS.height}},c.prototype.render=function(){this._onstyle="btn-"+this.options.onstyle,this._offstyle="btn-"+this.options.offstyle;var b="large"===this.options.size?"btn-lg":"small"===this.options.size?"btn-sm":"mini"===this.options.size?"btn-xs":"",c=a('<label class="btn">').html(this.options.on).addClass(this._onstyle+" "+b),d=a('<label class="btn">').html(this.options.off).addClass(this._offstyle+" "+b+" active"),e=a('<span class="toggle-handle btn btn-default">').addClass(b),f=a('<div class="toggle-group">').append(c,d,e),g=a('<div class="toggle btn" data-toggle="toggle">').addClass(this.$element.prop("checked")?this._onstyle:this._offstyle+" off").addClass(b).addClass(this.options.style);this.$element.wrap(g),a.extend(this,{$toggle:this.$element.parent(),$toggleOn:c,$toggleOff:d,$toggleGroup:f}),this.$toggle.append(f);var h=this.options.width||Math.max(c.outerWidth(),d.outerWidth())+e.outerWidth()/2,i=this.options.height||Math.max(c.outerHeight(),d.outerHeight());c.addClass("toggle-on"),d.addClass("toggle-off"),this.$toggle.css({width:h,height:i}),this.options.height&&(c.css("line-height",c.height()+"px"),d.css("line-height",d.height()+"px")),this.update(!0),this.trigger(!0)},c.prototype.toggle=function(){this.$element.prop("checked")?this.off():this.on()},c.prototype.on=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._offstyle+" off").addClass(this._onstyle),this.$element.prop("checked",!0),void(a||this.trigger()))},c.prototype.off=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._onstyle).addClass(this._offstyle+" off"),this.$element.prop("checked",!1),void(a||this.trigger()))},c.prototype.enable=function(){this.$toggle.removeAttr("disabled"),this.$element.prop("disabled",!1)},c.prototype.disable=function(){this.$toggle.attr("disabled","disabled"),this.$element.prop("disabled",!0)},c.prototype.update=function(a){this.$element.prop("disabled")?this.disable():this.enable(),this.$element.prop("checked")?this.on(a):this.off(a)},c.prototype.trigger=function(b){this.$element.off("change.bs.toggle"),b||this.$element.change(),this.$element.on("change.bs.toggle",a.proxy(function(){this.update()},this))},c.prototype.destroy=function(){this.$element.off("change.bs.toggle"),this.$toggleGroup.remove(),this.$element.removeData("bs.toggle"),this.$element.unwrap()};var d=a.fn.bootstrapToggle;a.fn.bootstrapToggle=b,a.fn.bootstrapToggle.Constructor=c,a.fn.toggle.noConflict=function(){return a.fn.bootstrapToggle=d,this},a(function(){a("input[type=checkbox][data-toggle^=toggle]").bootstrapToggle()}),a(document).on("click.bs.toggle","div[data-toggle^=toggle]",function(b){var c=a(this).find("input[type=checkbox]");c.bootstrapToggle("toggle"),b.preventDefault()})}(jQuery);
|
|
||||||
//# sourceMappingURL=bootstrap-toggle.min.js.map
|
|
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"bootstrap-toggle.min.js","sources":["bootstrap-toggle.js"],"names":["$","Plugin","option","this","each","$this","data","options","Toggle","element","$element","extend","defaults","render","VERSION","DEFAULTS","on","off","onstyle","offstyle","size","style","width","height","prototype","attr","_onstyle","_offstyle","$toggleOn","html","addClass","$toggleOff","$toggleHandle","$toggleGroup","append","$toggle","prop","wrap","parent","Math","max","outerWidth","outerHeight","css","update","trigger","toggle","silent","removeClass","enable","removeAttr","disable","change","proxy","destroy","remove","removeData","unwrap","old","fn","bootstrapToggle","Constructor","noConflict","document","e","$checkbox","find","preventDefault","jQuery"],"mappings":";;;;;;;CASE,SAAUA,GACV,YAoID,SAASC,GAAOC,GACf,MAAOC,MAAKC,KAAK,WAChB,GAAIC,GAAUL,EAAEG,MACZG,EAAUD,EAAMC,KAAK,aACrBC,EAA2B,gBAAVL,IAAsBA,CAEtCI,IAAMD,EAAMC,KAAK,YAAcA,EAAO,GAAIE,GAAOL,KAAMI,IACvC,gBAAVL,IAAsBI,EAAKJ,IAASI,EAAKJ,OAtItD,GAAIM,GAAS,SAAUC,EAASF,GAC/BJ,KAAKO,SAAYV,EAAES,GACnBN,KAAKI,QAAYP,EAAEW,UAAWR,KAAKS,WAAYL,GAC/CJ,KAAKU,SAGNL,GAAOM,QAAW,QAElBN,EAAOO,UACNC,GAAI,KACJC,IAAK,MACLC,QAAS,UACTC,SAAU,UACVC,KAAM,SACNC,MAAO,GACPC,MAAO,KACPC,OAAQ,MAGTf,EAAOgB,UAAUZ,SAAW,WAC3B,OACCI,GAAIb,KAAKO,SAASe,KAAK,YAAcjB,EAAOO,SAASC,GACrDC,IAAKd,KAAKO,SAASe,KAAK,aAAejB,EAAOO,SAASE,IACvDC,QAASf,KAAKO,SAASe,KAAK,iBAAmBjB,EAAOO,SAASG,QAC/DC,SAAUhB,KAAKO,SAASe,KAAK,kBAAoBjB,EAAOO,SAASI,SACjEC,KAAMjB,KAAKO,SAASe,KAAK,cAAgBjB,EAAOO,SAASK,KACzDC,MAAOlB,KAAKO,SAASe,KAAK,eAAiBjB,EAAOO,SAASM,MAC3DC,MAAOnB,KAAKO,SAASe,KAAK,eAAiBjB,EAAOO,SAASO,MAC3DC,OAAQpB,KAAKO,SAASe,KAAK,gBAAkBjB,EAAOO,SAASQ,SAI/Df,EAAOgB,UAAUX,OAAS,WACzBV,KAAKuB,SAAW,OAASvB,KAAKI,QAAQW,QACtCf,KAAKwB,UAAY,OAASxB,KAAKI,QAAQY,QACvC,IAAIC,GAA6B,UAAtBjB,KAAKI,QAAQa,KAAmB,SAClB,UAAtBjB,KAAKI,QAAQa,KAAmB,SACV,SAAtBjB,KAAKI,QAAQa,KAAkB,SAC/B,GACCQ,EAAY5B,EAAE,uBAAuB6B,KAAK1B,KAAKI,QAAQS,IACzDc,SAAS3B,KAAKuB,SAAW,IAAMN,GAC7BW,EAAa/B,EAAE,uBAAuB6B,KAAK1B,KAAKI,QAAQU,KAC1Da,SAAS3B,KAAKwB,UAAY,IAAMP,EAAO,WACrCY,EAAgBhC,EAAE,gDACpB8B,SAASV,GACPa,EAAejC,EAAE,8BACnBkC,OAAON,EAAWG,EAAYC,GAC5BG,EAAUnC,EAAE,iDACd8B,SAAU3B,KAAKO,SAAS0B,KAAK,WAAajC,KAAKuB,SAAWvB,KAAKwB,UAAU,QACzEG,SAASV,GAAMU,SAAS3B,KAAKI,QAAQc,MAEvClB,MAAKO,SAAS2B,KAAKF,GACnBnC,EAAEW,OAAOR,MACRgC,QAAShC,KAAKO,SAAS4B,SACvBV,UAAWA,EACXG,WAAYA,EACZE,aAAcA,IAEf9B,KAAKgC,QAAQD,OAAOD,EAEpB,IAAIX,GAAQnB,KAAKI,QAAQe,OAASiB,KAAKC,IAAIZ,EAAUa,aAAcV,EAAWU,cAAeT,EAAcS,aAAa,EACpHlB,EAASpB,KAAKI,QAAQgB,QAAUgB,KAAKC,IAAIZ,EAAUc,cAAeX,EAAWW,cACjFd,GAAUE,SAAS,aACnBC,EAAWD,SAAS,cACpB3B,KAAKgC,QAAQQ,KAAMrB,MAAOA,EAAOC,OAAQA,IACrCpB,KAAKI,QAAQgB,SAChBK,EAAUe,IAAI,cAAef,EAAUL,SAAW,MAClDQ,EAAWY,IAAI,cAAeZ,EAAWR,SAAW,OAErDpB,KAAKyC,QAAO,GACZzC,KAAK0C,SAAQ,IAGdrC,EAAOgB,UAAUsB,OAAS,WACrB3C,KAAKO,SAAS0B,KAAK,WAAYjC,KAAKc,MACnCd,KAAKa,MAGXR,EAAOgB,UAAUR,GAAK,SAAU+B,GAC/B,MAAI5C,MAAKO,SAAS0B,KAAK,aAAoB,GAC3CjC,KAAKgC,QAAQa,YAAY7C,KAAKwB,UAAY,QAAQG,SAAS3B,KAAKuB,UAChEvB,KAAKO,SAAS0B,KAAK,WAAW,QACzBW,GAAQ5C,KAAK0C,aAGnBrC,EAAOgB,UAAUP,IAAM,SAAU8B,GAChC,MAAI5C,MAAKO,SAAS0B,KAAK,aAAoB,GAC3CjC,KAAKgC,QAAQa,YAAY7C,KAAKuB,UAAUI,SAAS3B,KAAKwB,UAAY,QAClExB,KAAKO,SAAS0B,KAAK,WAAW,QACzBW,GAAQ5C,KAAK0C,aAGnBrC,EAAOgB,UAAUyB,OAAS,WACzB9C,KAAKgC,QAAQe,WAAW,YACxB/C,KAAKO,SAAS0B,KAAK,YAAY,IAGhC5B,EAAOgB,UAAU2B,QAAU,WAC1BhD,KAAKgC,QAAQV,KAAK,WAAY,YAC9BtB,KAAKO,SAAS0B,KAAK,YAAY,IAGhC5B,EAAOgB,UAAUoB,OAAS,SAAUG,GAC/B5C,KAAKO,SAAS0B,KAAK,YAAajC,KAAKgD,UACpChD,KAAK8C,SACN9C,KAAKO,SAAS0B,KAAK,WAAYjC,KAAKa,GAAG+B,GACtC5C,KAAKc,IAAI8B,IAGfvC,EAAOgB,UAAUqB,QAAU,SAAUE,GACpC5C,KAAKO,SAASO,IAAI,oBACb8B,GAAQ5C,KAAKO,SAAS0C,SAC3BjD,KAAKO,SAASM,GAAG,mBAAoBhB,EAAEqD,MAAM,WAC5ClD,KAAKyC,UACHzC,QAGJK,EAAOgB,UAAU8B,QAAU,WAC1BnD,KAAKO,SAASO,IAAI,oBAClBd,KAAK8B,aAAasB,SAClBpD,KAAKO,SAAS8C,WAAW,aACzBrD,KAAKO,SAAS+C,SAiBf,IAAIC,GAAM1D,EAAE2D,GAAGC,eAEf5D,GAAE2D,GAAGC,gBAA8B3D,EACnCD,EAAE2D,GAAGC,gBAAgBC,YAAcrD,EAKnCR,EAAE2D,GAAGb,OAAOgB,WAAa,WAExB,MADA9D,GAAE2D,GAAGC,gBAAkBF,EAChBvD,MAMRH,EAAE,WACDA,EAAE,6CAA6C4D,oBAGhD5D,EAAE+D,UAAU/C,GAAG,kBAAmB,2BAA4B,SAASgD,GACtE,GAAIC,GAAYjE,EAAEG,MAAM+D,KAAK,uBAC7BD,GAAUL,gBAAgB,UAC1BI,EAAEG,oBAGFC"}
|
|
180
vendor/bootstrap-toggle/js/bootstrap2-toggle.js
vendored
@ -1,180 +0,0 @@
|
|||||||
/*! ========================================================================
|
|
||||||
* Bootstrap Toggle: bootstrap2-toggle.js v2.2.0
|
|
||||||
* http://www.bootstraptoggle.com
|
|
||||||
* ========================================================================
|
|
||||||
* Copyright 2014 Min Hur, The New York Times Company
|
|
||||||
* Licensed under MIT
|
|
||||||
* ======================================================================== */
|
|
||||||
|
|
||||||
|
|
||||||
+function ($) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
// TOGGLE PUBLIC CLASS DEFINITION
|
|
||||||
// ==============================
|
|
||||||
|
|
||||||
var Toggle = function (element, options) {
|
|
||||||
this.$element = $(element)
|
|
||||||
this.options = $.extend({}, this.defaults(), options)
|
|
||||||
this.render()
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.VERSION = '2.2.0'
|
|
||||||
|
|
||||||
Toggle.DEFAULTS = {
|
|
||||||
on: 'On',
|
|
||||||
off: 'Off',
|
|
||||||
onstyle: 'primary',
|
|
||||||
offstyle: 'default',
|
|
||||||
size: 'normal',
|
|
||||||
style: '',
|
|
||||||
width: null,
|
|
||||||
height: null
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.defaults = function() {
|
|
||||||
return {
|
|
||||||
on: this.$element.attr('data-on') || Toggle.DEFAULTS.on,
|
|
||||||
off: this.$element.attr('data-off') || Toggle.DEFAULTS.off,
|
|
||||||
onstyle: this.$element.attr('data-onstyle') || Toggle.DEFAULTS.onstyle,
|
|
||||||
offstyle: this.$element.attr('data-offstyle') || Toggle.DEFAULTS.offstyle,
|
|
||||||
size: this.$element.attr('data-size') || Toggle.DEFAULTS.size,
|
|
||||||
style: this.$element.attr('data-style') || Toggle.DEFAULTS.style,
|
|
||||||
width: this.$element.attr('data-width') || Toggle.DEFAULTS.width,
|
|
||||||
height: this.$element.attr('data-height') || Toggle.DEFAULTS.height
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.render = function () {
|
|
||||||
this._onstyle = 'btn-' + this.options.onstyle
|
|
||||||
this._offstyle = 'btn-' + this.options.offstyle
|
|
||||||
var size = this.options.size === 'large' ? 'btn-large'
|
|
||||||
: this.options.size === 'small' ? 'btn-small'
|
|
||||||
: this.options.size === 'mini' ? 'btn-mini'
|
|
||||||
: ''
|
|
||||||
var $toggleOn = $('<label class="btn">').html(this.options.on)
|
|
||||||
.addClass(this._onstyle + ' ' + size)
|
|
||||||
var $toggleOff = $('<label class="btn">').html(this.options.off)
|
|
||||||
.addClass(this._offstyle + ' ' + size + ' active')
|
|
||||||
var $toggleHandle = $('<span class="toggle-handle btn btn-default">')
|
|
||||||
.addClass(size)
|
|
||||||
var $toggleGroup = $('<div class="toggle-group">')
|
|
||||||
.append($toggleOn, $toggleOff, $toggleHandle)
|
|
||||||
var $toggle = $('<div class="toggle btn" data-toggle="toggle">')
|
|
||||||
.addClass( this.$element.prop('checked') ? this._onstyle : this._offstyle+' off' )
|
|
||||||
.addClass(size).addClass(this.options.style)
|
|
||||||
|
|
||||||
this.$element.wrap($toggle)
|
|
||||||
$.extend(this, {
|
|
||||||
$toggle: this.$element.parent(),
|
|
||||||
$toggleOn: $toggleOn,
|
|
||||||
$toggleOff: $toggleOff,
|
|
||||||
$toggleGroup: $toggleGroup
|
|
||||||
})
|
|
||||||
this.$toggle.append($toggleGroup)
|
|
||||||
|
|
||||||
var width = this.options.width || Math.max($toggleOn.width(), $toggleOff.width())+($toggleHandle.outerWidth()/2)
|
|
||||||
var height = this.options.height || Math.max($toggleOn.height(), $toggleOff.height())
|
|
||||||
$toggleOn.addClass('toggle-on')
|
|
||||||
$toggleOff.addClass('toggle-off')
|
|
||||||
this.$toggle.css({ width: width, height: height })
|
|
||||||
if (this.options.height) {
|
|
||||||
$toggleOn.css('line-height', $toggleOn.height() + 'px')
|
|
||||||
$toggleOff.css('line-height', $toggleOff.height() + 'px')
|
|
||||||
}
|
|
||||||
this.update(true)
|
|
||||||
this.trigger(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.toggle = function () {
|
|
||||||
if (this.$element.prop('checked')) this.off()
|
|
||||||
else this.on()
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.on = function (silent) {
|
|
||||||
if (this.$element.prop('disabled')) return false
|
|
||||||
this.$toggle.removeClass(this._offstyle + ' off').addClass(this._onstyle)
|
|
||||||
this.$element.prop('checked', true)
|
|
||||||
if (!silent) this.trigger()
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.off = function (silent) {
|
|
||||||
if (this.$element.prop('disabled')) return false
|
|
||||||
this.$toggle.removeClass(this._onstyle).addClass(this._offstyle + ' off')
|
|
||||||
this.$element.prop('checked', false)
|
|
||||||
if (!silent) this.trigger()
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.enable = function () {
|
|
||||||
this.$toggle.removeAttr('disabled')
|
|
||||||
this.$element.prop('disabled', false)
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.disable = function () {
|
|
||||||
this.$toggle.attr('disabled', 'disabled')
|
|
||||||
this.$element.prop('disabled', true)
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.update = function (silent) {
|
|
||||||
if (this.$element.prop('disabled')) this.disable()
|
|
||||||
else this.enable()
|
|
||||||
if (this.$element.prop('checked')) this.on(silent)
|
|
||||||
else this.off(silent)
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.trigger = function (silent) {
|
|
||||||
this.$element.off('change.bs.toggle')
|
|
||||||
if (!silent) this.$element.change()
|
|
||||||
this.$element.on('change.bs.toggle', $.proxy(function() {
|
|
||||||
this.update()
|
|
||||||
}, this))
|
|
||||||
}
|
|
||||||
|
|
||||||
Toggle.prototype.destroy = function() {
|
|
||||||
this.$element.off('change.bs.toggle')
|
|
||||||
this.$toggleGroup.remove()
|
|
||||||
this.$element.removeData('bs.toggle')
|
|
||||||
this.$element.unwrap()
|
|
||||||
}
|
|
||||||
|
|
||||||
// TOGGLE PLUGIN DEFINITION
|
|
||||||
// ========================
|
|
||||||
|
|
||||||
function Plugin(option) {
|
|
||||||
return this.each(function () {
|
|
||||||
var $this = $(this)
|
|
||||||
var data = $this.data('bs.toggle')
|
|
||||||
var options = typeof option == 'object' && option
|
|
||||||
|
|
||||||
if (!data) $this.data('bs.toggle', (data = new Toggle(this, options)))
|
|
||||||
if (typeof option == 'string' && data[option]) data[option]()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
var old = $.fn.bootstrapToggle
|
|
||||||
|
|
||||||
$.fn.bootstrapToggle = Plugin
|
|
||||||
$.fn.bootstrapToggle.Constructor = Toggle
|
|
||||||
|
|
||||||
// TOGGLE NO CONFLICT
|
|
||||||
// ==================
|
|
||||||
|
|
||||||
$.fn.toggle.noConflict = function () {
|
|
||||||
$.fn.bootstrapToggle = old
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
|
|
||||||
// TOGGLE DATA-API
|
|
||||||
// ===============
|
|
||||||
|
|
||||||
$(function() {
|
|
||||||
$('input[type=checkbox][data-toggle^=toggle]').bootstrapToggle()
|
|
||||||
})
|
|
||||||
|
|
||||||
$(document).on('click.bs.toggle', 'div[data-toggle^=toggle]', function(e) {
|
|
||||||
var $checkbox = $(this).find('input[type=checkbox]')
|
|
||||||
$checkbox.bootstrapToggle('toggle')
|
|
||||||
e.preventDefault()
|
|
||||||
})
|
|
||||||
|
|
||||||
}(jQuery);
|
|
@ -1,9 +0,0 @@
|
|||||||
/*! ========================================================================
|
|
||||||
* Bootstrap Toggle: bootstrap2-toggle.js v2.2.0
|
|
||||||
* http://www.bootstraptoggle.com
|
|
||||||
* ========================================================================
|
|
||||||
* Copyright 2014 Min Hur, The New York Times Company
|
|
||||||
* Licensed under MIT
|
|
||||||
* ======================================================================== */
|
|
||||||
+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.toggle"),f="object"==typeof b&&b;e||d.data("bs.toggle",e=new c(this,f)),"string"==typeof b&&e[b]&&e[b]()})}var c=function(b,c){this.$element=a(b),this.options=a.extend({},this.defaults(),c),this.render()};c.VERSION="2.2.0",c.DEFAULTS={on:"On",off:"Off",onstyle:"primary",offstyle:"default",size:"normal",style:"",width:null,height:null},c.prototype.defaults=function(){return{on:this.$element.attr("data-on")||c.DEFAULTS.on,off:this.$element.attr("data-off")||c.DEFAULTS.off,onstyle:this.$element.attr("data-onstyle")||c.DEFAULTS.onstyle,offstyle:this.$element.attr("data-offstyle")||c.DEFAULTS.offstyle,size:this.$element.attr("data-size")||c.DEFAULTS.size,style:this.$element.attr("data-style")||c.DEFAULTS.style,width:this.$element.attr("data-width")||c.DEFAULTS.width,height:this.$element.attr("data-height")||c.DEFAULTS.height}},c.prototype.render=function(){this._onstyle="btn-"+this.options.onstyle,this._offstyle="btn-"+this.options.offstyle;var b="large"===this.options.size?"btn-large":"small"===this.options.size?"btn-small":"mini"===this.options.size?"btn-mini":"",c=a('<label class="btn">').html(this.options.on).addClass(this._onstyle+" "+b),d=a('<label class="btn">').html(this.options.off).addClass(this._offstyle+" "+b+" active"),e=a('<span class="toggle-handle btn btn-default">').addClass(b),f=a('<div class="toggle-group">').append(c,d,e),g=a('<div class="toggle btn" data-toggle="toggle">').addClass(this.$element.prop("checked")?this._onstyle:this._offstyle+" off").addClass(b).addClass(this.options.style);this.$element.wrap(g),a.extend(this,{$toggle:this.$element.parent(),$toggleOn:c,$toggleOff:d,$toggleGroup:f}),this.$toggle.append(f);var h=this.options.width||Math.max(c.width(),d.width())+e.outerWidth()/2,i=this.options.height||Math.max(c.height(),d.height());c.addClass("toggle-on"),d.addClass("toggle-off"),this.$toggle.css({width:h,height:i}),this.options.height&&(c.css("line-height",c.height()+"px"),d.css("line-height",d.height()+"px")),this.update(!0),this.trigger(!0)},c.prototype.toggle=function(){this.$element.prop("checked")?this.off():this.on()},c.prototype.on=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._offstyle+" off").addClass(this._onstyle),this.$element.prop("checked",!0),void(a||this.trigger()))},c.prototype.off=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._onstyle).addClass(this._offstyle+" off"),this.$element.prop("checked",!1),void(a||this.trigger()))},c.prototype.enable=function(){this.$toggle.removeAttr("disabled"),this.$element.prop("disabled",!1)},c.prototype.disable=function(){this.$toggle.attr("disabled","disabled"),this.$element.prop("disabled",!0)},c.prototype.update=function(a){this.$element.prop("disabled")?this.disable():this.enable(),this.$element.prop("checked")?this.on(a):this.off(a)},c.prototype.trigger=function(b){this.$element.off("change.bs.toggle"),b||this.$element.change(),this.$element.on("change.bs.toggle",a.proxy(function(){this.update()},this))},c.prototype.destroy=function(){this.$element.off("change.bs.toggle"),this.$toggleGroup.remove(),this.$element.removeData("bs.toggle"),this.$element.unwrap()};var d=a.fn.bootstrapToggle;a.fn.bootstrapToggle=b,a.fn.bootstrapToggle.Constructor=c,a.fn.toggle.noConflict=function(){return a.fn.bootstrapToggle=d,this},a(function(){a("input[type=checkbox][data-toggle^=toggle]").bootstrapToggle()}),a(document).on("click.bs.toggle","div[data-toggle^=toggle]",function(b){var c=a(this).find("input[type=checkbox]");c.bootstrapToggle("toggle"),b.preventDefault()})}(jQuery);
|
|
||||||
//# sourceMappingURL=bootstrap2-toggle.min.js.map
|
|
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"bootstrap2-toggle.min.js","sources":["bootstrap2-toggle.js"],"names":["$","Plugin","option","this","each","$this","data","options","Toggle","element","$element","extend","defaults","render","VERSION","DEFAULTS","on","off","onstyle","offstyle","size","style","width","height","prototype","attr","_onstyle","_offstyle","$toggleOn","html","addClass","$toggleOff","$toggleHandle","$toggleGroup","append","$toggle","prop","wrap","parent","Math","max","outerWidth","css","update","trigger","toggle","silent","removeClass","enable","removeAttr","disable","change","proxy","destroy","remove","removeData","unwrap","old","fn","bootstrapToggle","Constructor","noConflict","document","e","$checkbox","find","preventDefault","jQuery"],"mappings":";;;;;;;CASE,SAAUA,GACV,YAoID,SAASC,GAAOC,GACf,MAAOC,MAAKC,KAAK,WAChB,GAAIC,GAAUL,EAAEG,MACZG,EAAUD,EAAMC,KAAK,aACrBC,EAA2B,gBAAVL,IAAsBA,CAEtCI,IAAMD,EAAMC,KAAK,YAAcA,EAAO,GAAIE,GAAOL,KAAMI,IACvC,gBAAVL,IAAsBI,EAAKJ,IAASI,EAAKJ,OAtItD,GAAIM,GAAS,SAAUC,EAASF,GAC/BJ,KAAKO,SAAYV,EAAES,GACnBN,KAAKI,QAAYP,EAAEW,UAAWR,KAAKS,WAAYL,GAC/CJ,KAAKU,SAGNL,GAAOM,QAAW,QAElBN,EAAOO,UACNC,GAAI,KACJC,IAAK,MACLC,QAAS,UACTC,SAAU,UACVC,KAAM,SACNC,MAAO,GACPC,MAAO,KACPC,OAAQ,MAGTf,EAAOgB,UAAUZ,SAAW,WAC3B,OACCI,GAAIb,KAAKO,SAASe,KAAK,YAAcjB,EAAOO,SAASC,GACrDC,IAAKd,KAAKO,SAASe,KAAK,aAAejB,EAAOO,SAASE,IACvDC,QAASf,KAAKO,SAASe,KAAK,iBAAmBjB,EAAOO,SAASG,QAC/DC,SAAUhB,KAAKO,SAASe,KAAK,kBAAoBjB,EAAOO,SAASI,SACjEC,KAAMjB,KAAKO,SAASe,KAAK,cAAgBjB,EAAOO,SAASK,KACzDC,MAAOlB,KAAKO,SAASe,KAAK,eAAiBjB,EAAOO,SAASM,MAC3DC,MAAOnB,KAAKO,SAASe,KAAK,eAAiBjB,EAAOO,SAASO,MAC3DC,OAAQpB,KAAKO,SAASe,KAAK,gBAAkBjB,EAAOO,SAASQ,SAI/Df,EAAOgB,UAAUX,OAAS,WACzBV,KAAKuB,SAAW,OAASvB,KAAKI,QAAQW,QACtCf,KAAKwB,UAAY,OAASxB,KAAKI,QAAQY,QACvC,IAAIC,GAA6B,UAAtBjB,KAAKI,QAAQa,KAAmB,YAClB,UAAtBjB,KAAKI,QAAQa,KAAmB,YACV,SAAtBjB,KAAKI,QAAQa,KAAkB,WAC/B,GACCQ,EAAY5B,EAAE,uBAAuB6B,KAAK1B,KAAKI,QAAQS,IACzDc,SAAS3B,KAAKuB,SAAW,IAAMN,GAC7BW,EAAa/B,EAAE,uBAAuB6B,KAAK1B,KAAKI,QAAQU,KAC1Da,SAAS3B,KAAKwB,UAAY,IAAMP,EAAO,WACrCY,EAAgBhC,EAAE,gDACpB8B,SAASV,GACPa,EAAejC,EAAE,8BACnBkC,OAAON,EAAWG,EAAYC,GAC5BG,EAAUnC,EAAE,iDACd8B,SAAU3B,KAAKO,SAAS0B,KAAK,WAAajC,KAAKuB,SAAWvB,KAAKwB,UAAU,QACzEG,SAASV,GAAMU,SAAS3B,KAAKI,QAAQc,MAEvClB,MAAKO,SAAS2B,KAAKF,GACnBnC,EAAEW,OAAOR,MACRgC,QAAShC,KAAKO,SAAS4B,SACvBV,UAAWA,EACXG,WAAYA,EACZE,aAAcA,IAEf9B,KAAKgC,QAAQD,OAAOD,EAEpB,IAAIX,GAAQnB,KAAKI,QAAQe,OAASiB,KAAKC,IAAIZ,EAAUN,QAASS,EAAWT,SAAUU,EAAcS,aAAa,EAC1GlB,EAASpB,KAAKI,QAAQgB,QAAUgB,KAAKC,IAAIZ,EAAUL,SAAUQ,EAAWR,SAC5EK,GAAUE,SAAS,aACnBC,EAAWD,SAAS,cACpB3B,KAAKgC,QAAQO,KAAMpB,MAAOA,EAAOC,OAAQA,IACrCpB,KAAKI,QAAQgB,SAChBK,EAAUc,IAAI,cAAed,EAAUL,SAAW,MAClDQ,EAAWW,IAAI,cAAeX,EAAWR,SAAW,OAErDpB,KAAKwC,QAAO,GACZxC,KAAKyC,SAAQ,IAGdpC,EAAOgB,UAAUqB,OAAS,WACrB1C,KAAKO,SAAS0B,KAAK,WAAYjC,KAAKc,MACnCd,KAAKa,MAGXR,EAAOgB,UAAUR,GAAK,SAAU8B,GAC/B,MAAI3C,MAAKO,SAAS0B,KAAK,aAAoB,GAC3CjC,KAAKgC,QAAQY,YAAY5C,KAAKwB,UAAY,QAAQG,SAAS3B,KAAKuB,UAChEvB,KAAKO,SAAS0B,KAAK,WAAW,QACzBU,GAAQ3C,KAAKyC,aAGnBpC,EAAOgB,UAAUP,IAAM,SAAU6B,GAChC,MAAI3C,MAAKO,SAAS0B,KAAK,aAAoB,GAC3CjC,KAAKgC,QAAQY,YAAY5C,KAAKuB,UAAUI,SAAS3B,KAAKwB,UAAY,QAClExB,KAAKO,SAAS0B,KAAK,WAAW,QACzBU,GAAQ3C,KAAKyC,aAGnBpC,EAAOgB,UAAUwB,OAAS,WACzB7C,KAAKgC,QAAQc,WAAW,YACxB9C,KAAKO,SAAS0B,KAAK,YAAY,IAGhC5B,EAAOgB,UAAU0B,QAAU,WAC1B/C,KAAKgC,QAAQV,KAAK,WAAY,YAC9BtB,KAAKO,SAAS0B,KAAK,YAAY,IAGhC5B,EAAOgB,UAAUmB,OAAS,SAAUG,GAC/B3C,KAAKO,SAAS0B,KAAK,YAAajC,KAAK+C,UACpC/C,KAAK6C,SACN7C,KAAKO,SAAS0B,KAAK,WAAYjC,KAAKa,GAAG8B,GACtC3C,KAAKc,IAAI6B,IAGftC,EAAOgB,UAAUoB,QAAU,SAAUE,GACpC3C,KAAKO,SAASO,IAAI,oBACb6B,GAAQ3C,KAAKO,SAASyC,SAC3BhD,KAAKO,SAASM,GAAG,mBAAoBhB,EAAEoD,MAAM,WAC5CjD,KAAKwC,UACHxC,QAGJK,EAAOgB,UAAU6B,QAAU,WAC1BlD,KAAKO,SAASO,IAAI,oBAClBd,KAAK8B,aAAaqB,SAClBnD,KAAKO,SAAS6C,WAAW,aACzBpD,KAAKO,SAAS8C,SAiBf,IAAIC,GAAMzD,EAAE0D,GAAGC,eAEf3D,GAAE0D,GAAGC,gBAA8B1D,EACnCD,EAAE0D,GAAGC,gBAAgBC,YAAcpD,EAKnCR,EAAE0D,GAAGb,OAAOgB,WAAa,WAExB,MADA7D,GAAE0D,GAAGC,gBAAkBF,EAChBtD,MAMRH,EAAE,WACDA,EAAE,6CAA6C2D,oBAGhD3D,EAAE8D,UAAU9C,GAAG,kBAAmB,2BAA4B,SAAS+C,GACtE,GAAIC,GAAYhE,EAAEG,MAAM8D,KAAK,uBAC7BD,GAAUL,gBAAgB,UAC1BI,EAAEG,oBAGFC"}
|
|
28
vendor/bootstrap-toggle/package.json
vendored
@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bootstrap-toggle",
|
|
||||||
"description": "Bootstrap Toggle is a highly flexible Bootstrap plugin that converts checkboxes into toggles",
|
|
||||||
"version": "2.2.2",
|
|
||||||
"main": "js/bootstrap-toggle.js",
|
|
||||||
"keywords": [
|
|
||||||
"bootstrap",
|
|
||||||
"toggle",
|
|
||||||
"bootstrap-toggle",
|
|
||||||
"switch",
|
|
||||||
"bootstrap-switch"
|
|
||||||
],
|
|
||||||
"homepage": "http://www.bootstraptoggle.com",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/minhur/bootstrap-toggle.git"
|
|
||||||
},
|
|
||||||
"license": "MIT",
|
|
||||||
"author": "Min Hur <min.hur@gmail.com>",
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/minhur/bootstrap-toggle/issues"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"grunt-contrib-clean": "^0.6.0",
|
|
||||||
"grunt-contrib-cssmin": "^0.10.0",
|
|
||||||
"grunt-contrib-uglify": "^0.6.0"
|
|
||||||
}
|
|
||||||
}
|
|
6757
vendor/bootstrap/css/bootstrap.css
vendored
6
vendor/bootstrap/css/bootstrap.min.css
vendored
@ -1,288 +0,0 @@
|
|||||||
<?xml version="1.0" standalone="no"?>
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<metadata></metadata>
|
|
||||||
<defs>
|
|
||||||
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
|
||||||
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
|
||||||
<missing-glyph horiz-adv-x="500" />
|
|
||||||
<glyph horiz-adv-x="0" />
|
|
||||||
<glyph horiz-adv-x="400" />
|
|
||||||
<glyph unicode=" " />
|
|
||||||
<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
|
|
||||||
<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode=" " />
|
|
||||||
<glyph unicode="¥" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="650" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="1300" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="650" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="1300" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="433" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="325" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="216" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="216" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="162" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="260" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="72" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="260" />
|
|
||||||
<glyph unicode=" " horiz-adv-x="325" />
|
|
||||||
<glyph unicode="€" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
|
|
||||||
<glyph unicode="₽" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
|
|
||||||
<glyph unicode="−" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="⌛" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
|
|
||||||
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
|
||||||
<glyph unicode="☁" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
|
|
||||||
<glyph unicode="⛺" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
|
|
||||||
<glyph unicode="✉" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
|
|
||||||
<glyph unicode="✏" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
|
|
||||||
<glyph unicode="" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
|
|
||||||
<glyph unicode="" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
|
|
||||||
<glyph unicode="" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
|
|
||||||
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
|
|
||||||
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
|
|
||||||
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
|
|
||||||
<glyph unicode="" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
|
|
||||||
<glyph unicode="" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
|
|
||||||
<glyph unicode="" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
|
|
||||||
<glyph unicode="" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
|
|
||||||
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
|
|
||||||
<glyph unicode="" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
|
|
||||||
<glyph unicode="" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
|
|
||||||
<glyph unicode="" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
|
|
||||||
<glyph unicode="" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
|
|
||||||
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
|
|
||||||
<glyph unicode="" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
|
||||||
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
|
|
||||||
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
|
|
||||||
<glyph unicode="" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
|
|
||||||
<glyph unicode="" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
|
|
||||||
<glyph unicode="" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
|
|
||||||
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
|
|
||||||
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
|
|
||||||
<glyph unicode="" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
|
|
||||||
<glyph unicode="" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
|
|
||||||
<glyph unicode="" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
|
|
||||||
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
|
||||||
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
|
||||||
<glyph unicode="" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
|
|
||||||
<glyph unicode="" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
|
|
||||||
<glyph unicode="" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
|
|
||||||
<glyph unicode="" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
|
|
||||||
<glyph unicode="" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
|
|
||||||
<glyph unicode="" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
|
|
||||||
<glyph unicode="" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
|
|
||||||
<glyph unicode="" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
|
|
||||||
<glyph unicode="" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
|
||||||
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
|
|
||||||
<glyph unicode="" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
|
|
||||||
<glyph unicode="" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
|
|
||||||
<glyph unicode="" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
|
|
||||||
<glyph unicode="" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
|
|
||||||
<glyph unicode="" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
|
|
||||||
<glyph unicode="" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
|
|
||||||
<glyph unicode="" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
|
|
||||||
<glyph unicode="" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
|
|
||||||
<glyph unicode="" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
|
|
||||||
<glyph unicode="" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
|
|
||||||
<glyph unicode="" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
|
|
||||||
<glyph unicode="" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
|
|
||||||
<glyph unicode="" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
|
|
||||||
<glyph unicode="" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
|
|
||||||
<glyph unicode="" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
|
|
||||||
<glyph unicode="" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
|
|
||||||
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
|
|
||||||
<glyph unicode="" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
|
|
||||||
<glyph unicode="" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
|
|
||||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
|
|
||||||
<glyph unicode="" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
|
|
||||||
<glyph unicode="" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
|
|
||||||
<glyph unicode="" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
|
||||||
<glyph unicode="" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
|
||||||
<glyph unicode="" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
|
|
||||||
<glyph unicode="" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
|
|
||||||
<glyph unicode="" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
|
|
||||||
<glyph unicode="" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
|
|
||||||
<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
|
|
||||||
<glyph unicode="" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
|
|
||||||
<glyph unicode="" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
|
|
||||||
<glyph unicode="" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
|
|
||||||
<glyph unicode="" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
|
||||||
<glyph unicode="" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
|
|
||||||
<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
|
|
||||||
<glyph unicode="" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
|
|
||||||
<glyph unicode="" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
|
||||||
<glyph unicode="" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
|
|
||||||
<glyph unicode="" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
|
|
||||||
<glyph unicode="" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
|
|
||||||
<glyph unicode="" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
|
|
||||||
<glyph unicode="" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
|
|
||||||
<glyph unicode="" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
|
|
||||||
<glyph unicode="" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
|
|
||||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
|
|
||||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
|
|
||||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
|
|
||||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
|
|
||||||
<glyph unicode="" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
|
|
||||||
<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
|
|
||||||
<glyph unicode="" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
|
|
||||||
<glyph unicode="" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
|
|
||||||
<glyph unicode="" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
|
|
||||||
<glyph unicode="" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
|
|
||||||
<glyph unicode="" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
|
|
||||||
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
|
|
||||||
<glyph unicode="" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
|
|
||||||
<glyph unicode="" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
|
|
||||||
<glyph unicode="" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
|
|
||||||
<glyph unicode="" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
|
|
||||||
<glyph unicode="" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
|
|
||||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
|
||||||
<glyph unicode="" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
|
|
||||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
|
|
||||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
|
|
||||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
|
|
||||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
|
|
||||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
|
|
||||||
<glyph unicode="" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
|
|
||||||
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
|
||||||
<glyph unicode="" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
|
|
||||||
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
|
|
||||||
<glyph unicode="" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
|
||||||
<glyph unicode="" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
|
|
||||||
<glyph unicode="" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
|
||||||
<glyph unicode="" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
|
|
||||||
<glyph unicode="" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
|
|
||||||
<glyph unicode="" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
|
||||||
<glyph unicode="" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
|
||||||
<glyph unicode="" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
|
|
||||||
<glyph unicode="" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
|
||||||
<glyph unicode="" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
|
||||||
<glyph unicode="" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
|
|
||||||
<glyph unicode="" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
|
|
||||||
<glyph unicode="" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
|
|
||||||
<glyph unicode="" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
|
|
||||||
<glyph unicode="" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
|
|
||||||
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
|
|
||||||
<glyph unicode="" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
|
|
||||||
<glyph unicode="" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
|
|
||||||
<glyph unicode="" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
|
|
||||||
<glyph unicode="" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
|
|
||||||
<glyph unicode="" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
|
|
||||||
<glyph unicode="" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
|
|
||||||
<glyph unicode="" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
|
|
||||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
|
||||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
|
||||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
|
|
||||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
|
|
||||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
|
|
||||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
|
|
||||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
|
|
||||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
|
|
||||||
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
|
|
||||||
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
|
|
||||||
<glyph unicode="" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
|
|
||||||
<glyph unicode="" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
|
|
||||||
<glyph unicode="" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
|
|
||||||
<glyph unicode="" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
|
|
||||||
<glyph unicode="" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
|
|
||||||
<glyph unicode="" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
|
|
||||||
<glyph unicode="" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
|
|
||||||
<glyph unicode="" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
|
|
||||||
<glyph unicode="" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
|
|
||||||
<glyph unicode="" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
|
|
||||||
<glyph unicode="" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
|
|
||||||
<glyph unicode="" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
|
|
||||||
<glyph unicode="" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
|
|
||||||
<glyph unicode="" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
|
|
||||||
<glyph unicode="" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
|
|
||||||
<glyph unicode="" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
|
|
||||||
<glyph unicode="" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
|
|
||||||
<glyph unicode="" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
|
|
||||||
<glyph unicode="" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
|
||||||
<glyph unicode="" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
|
||||||
<glyph unicode="" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
|
|
||||||
<glyph unicode="" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
|
||||||
<glyph unicode="" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
|
||||||
<glyph unicode="" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
|
||||||
<glyph unicode="" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
|
|
||||||
<glyph unicode="" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
|
|
||||||
<glyph unicode="" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
|
|
||||||
<glyph unicode="" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
|
|
||||||
<glyph unicode="" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
|
|
||||||
<glyph unicode="" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
|
|
||||||
<glyph unicode="" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
|
|
||||||
<glyph unicode="" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
|
|
||||||
<glyph unicode="" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
|
|
||||||
<glyph unicode="" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
|
|
||||||
<glyph unicode="" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
|
||||||
<glyph unicode="" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
|
|
||||||
<glyph unicode="" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
|
|
||||||
<glyph unicode="" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
|
|
||||||
<glyph unicode="" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
|
|
||||||
<glyph unicode="" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
|
|
||||||
<glyph unicode="" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
|
|
||||||
<glyph unicode="" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
|
|
||||||
<glyph unicode="" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
|
|
||||||
<glyph unicode="" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
|
|
||||||
<glyph unicode="" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
|
|
||||||
<glyph unicode="" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
|
|
||||||
<glyph unicode="" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
|
|
||||||
<glyph unicode="🔑" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
|
|
||||||
<glyph unicode="🚪" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
|
|
||||||
</font>
|
|
||||||
</defs></svg>
|
|
Before Width: | Height: | Size: 106 KiB |
2377
vendor/bootstrap/js/bootstrap.js
vendored
7
vendor/bootstrap/js/bootstrap.min.js
vendored
314
vendor/datatables-plugins/dataTables.bootstrap.css
vendored
@ -1,314 +0,0 @@
|
|||||||
div.dataTables_length label {
|
|
||||||
font-weight: normal;
|
|
||||||
text-align: left;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_length select {
|
|
||||||
width: 75px;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_filter {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_filter label {
|
|
||||||
font-weight: normal;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_filter input {
|
|
||||||
margin-left: 0.5em;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_info {
|
|
||||||
padding-top: 8px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_paginate {
|
|
||||||
margin: 0;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_paginate ul.pagination {
|
|
||||||
margin: 2px 0;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 767px) {
|
|
||||||
div.dataTables_length,
|
|
||||||
div.dataTables_filter,
|
|
||||||
div.dataTables_info,
|
|
||||||
div.dataTables_paginate {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
table.dataTable td,
|
|
||||||
table.dataTable th {
|
|
||||||
-webkit-box-sizing: content-box;
|
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
table.dataTable {
|
|
||||||
clear: both;
|
|
||||||
margin-top: 6px !important;
|
|
||||||
margin-bottom: 6px !important;
|
|
||||||
max-width: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.dataTable thead .sorting { background: url('../images/sort_both.png') no-repeat center right; }
|
|
||||||
table.dataTable thead .sorting_asc { background: url('../images/sort_asc.png') no-repeat center right; }
|
|
||||||
table.dataTable thead .sorting_desc { background: url('../images/sort_desc.png') no-repeat center right; }
|
|
||||||
|
|
||||||
table.dataTable thead .sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right; }
|
|
||||||
table.dataTable thead .sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right; }
|
|
||||||
|
|
||||||
table.dataTable thead > tr > th {
|
|
||||||
padding-left: 18px;
|
|
||||||
padding-right: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.dataTable th:active {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Scrolling */
|
|
||||||
div.dataTables_scrollHead table {
|
|
||||||
margin-bottom: 0 !important;
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_scrollHead table thead tr:last-child th:first-child,
|
|
||||||
div.dataTables_scrollHead table thead tr:last-child td:first-child {
|
|
||||||
border-bottom-left-radius: 0 !important;
|
|
||||||
border-bottom-right-radius: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_scrollBody table {
|
|
||||||
border-top: none;
|
|
||||||
margin-top: 0 !important;
|
|
||||||
margin-bottom: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_scrollBody tbody tr:first-child th,
|
|
||||||
div.dataTables_scrollBody tbody tr:first-child td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_scrollFoot table {
|
|
||||||
margin-top: 0 !important;
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Frustratingly the border-collapse:collapse used by Bootstrap makes the column
|
|
||||||
width calculations when using scrolling impossible to align columns. We have
|
|
||||||
to use separate
|
|
||||||
*/
|
|
||||||
table.table-bordered.dataTable {
|
|
||||||
border-collapse: separate !important;
|
|
||||||
}
|
|
||||||
table.table-bordered thead th,
|
|
||||||
table.table-bordered thead td {
|
|
||||||
border-left-width: 0;
|
|
||||||
border-top-width: 0;
|
|
||||||
}
|
|
||||||
table.table-bordered tbody th,
|
|
||||||
table.table-bordered tbody td {
|
|
||||||
border-left-width: 0;
|
|
||||||
border-bottom-width: 0;
|
|
||||||
}
|
|
||||||
table.table-bordered th:last-child,
|
|
||||||
table.table-bordered td:last-child {
|
|
||||||
border-right-width: 0;
|
|
||||||
}
|
|
||||||
div.dataTables_scrollHead table.table-bordered {
|
|
||||||
border-bottom-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TableTools styles
|
|
||||||
*/
|
|
||||||
.table.dataTable tbody tr.active td,
|
|
||||||
.table.dataTable tbody tr.active th {
|
|
||||||
background-color: #08C;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table.dataTable tbody tr.active:hover td,
|
|
||||||
.table.dataTable tbody tr.active:hover th {
|
|
||||||
background-color: #0075b0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table.dataTable tbody tr.active th > a,
|
|
||||||
.table.dataTable tbody tr.active td > a {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-striped.dataTable tbody tr.active:nth-child(odd) td,
|
|
||||||
.table-striped.dataTable tbody tr.active:nth-child(odd) th {
|
|
||||||
background-color: #017ebc;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.DTTT_selectable tbody tr {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTTT .btn:hover {
|
|
||||||
text-decoration: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.DTTT_dropdown.dropdown-menu {
|
|
||||||
z-index: 2003;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.DTTT_dropdown.dropdown-menu a {
|
|
||||||
color: #333 !important; /* needed only when demo_page.css is included */
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.DTTT_dropdown.dropdown-menu li {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.DTTT_dropdown.dropdown-menu li:hover a {
|
|
||||||
background-color: #0088cc;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTTT_collection_background {
|
|
||||||
z-index: 2002;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* TableTools information display */
|
|
||||||
div.DTTT_print_info {
|
|
||||||
position: fixed;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 400px;
|
|
||||||
height: 150px;
|
|
||||||
margin-left: -200px;
|
|
||||||
margin-top: -75px;
|
|
||||||
text-align: center;
|
|
||||||
color: #333;
|
|
||||||
padding: 10px 30px;
|
|
||||||
opacity: 0.95;
|
|
||||||
|
|
||||||
background-color: white;
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
|
||||||
border-radius: 6px;
|
|
||||||
|
|
||||||
-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
|
|
||||||
box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTTT_print_info h6 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 28px;
|
|
||||||
line-height: 28px;
|
|
||||||
margin: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTTT_print_info p {
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_processing {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 100%;
|
|
||||||
height: 60px;
|
|
||||||
margin-left: -50%;
|
|
||||||
margin-top: -25px;
|
|
||||||
padding-top: 20px;
|
|
||||||
padding-bottom: 20px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1.2em;
|
|
||||||
background-color: white;
|
|
||||||
background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));
|
|
||||||
background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
|
|
||||||
background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
|
|
||||||
background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
|
|
||||||
background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
|
|
||||||
background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FixedColumns styles
|
|
||||||
*/
|
|
||||||
div.DTFC_LeftHeadWrapper table,
|
|
||||||
div.DTFC_LeftFootWrapper table,
|
|
||||||
div.DTFC_RightHeadWrapper table,
|
|
||||||
div.DTFC_RightFootWrapper table,
|
|
||||||
table.DTFC_Cloned tr.even {
|
|
||||||
background-color: white;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTFC_RightHeadWrapper table ,
|
|
||||||
div.DTFC_LeftHeadWrapper table {
|
|
||||||
border-bottom: none !important;
|
|
||||||
margin-bottom: 0 !important;
|
|
||||||
border-top-right-radius: 0 !important;
|
|
||||||
border-bottom-left-radius: 0 !important;
|
|
||||||
border-bottom-right-radius: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,
|
|
||||||
div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,
|
|
||||||
div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,
|
|
||||||
div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child {
|
|
||||||
border-bottom-left-radius: 0 !important;
|
|
||||||
border-bottom-right-radius: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTFC_RightBodyWrapper table,
|
|
||||||
div.DTFC_LeftBodyWrapper table {
|
|
||||||
border-top: none;
|
|
||||||
margin: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTFC_RightBodyWrapper tbody tr:first-child th,
|
|
||||||
div.DTFC_RightBodyWrapper tbody tr:first-child td,
|
|
||||||
div.DTFC_LeftBodyWrapper tbody tr:first-child th,
|
|
||||||
div.DTFC_LeftBodyWrapper tbody tr:first-child td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.DTFC_RightFootWrapper table,
|
|
||||||
div.DTFC_LeftFootWrapper table {
|
|
||||||
border-top: none;
|
|
||||||
margin-top: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FixedHeader styles
|
|
||||||
*/
|
|
||||||
div.FixedHeader_Cloned table {
|
|
||||||
margin: 0 !important
|
|
||||||
}
|
|
||||||
|
|
186
vendor/datatables-plugins/dataTables.bootstrap.js
vendored
@ -1,186 +0,0 @@
|
|||||||
/*! DataTables Bootstrap 3 integration
|
|
||||||
* ©2011-2014 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
|
||||||
* DataTables 1.10 or newer.
|
|
||||||
*
|
|
||||||
* This file sets the defaults and adds options to DataTables to style its
|
|
||||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||||
* for further information.
|
|
||||||
*/
|
|
||||||
(function(window, document, undefined){
|
|
||||||
|
|
||||||
var factory = function( $, DataTable ) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
|
|
||||||
/* Set the defaults for DataTables initialisation */
|
|
||||||
$.extend( true, DataTable.defaults, {
|
|
||||||
dom:
|
|
||||||
"<'row'<'col-sm-6'l><'col-sm-6'f>>" +
|
|
||||||
"<'row'<'col-sm-12'tr>>" +
|
|
||||||
"<'row'<'col-sm-6'i><'col-sm-6'p>>",
|
|
||||||
renderer: 'bootstrap'
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Default class modification */
|
|
||||||
$.extend( DataTable.ext.classes, {
|
|
||||||
sWrapper: "dataTables_wrapper form-inline dt-bootstrap",
|
|
||||||
sFilterInput: "form-control input-sm",
|
|
||||||
sLengthSelect: "form-control input-sm"
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Bootstrap paging button renderer */
|
|
||||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
|
||||||
var api = new DataTable.Api( settings );
|
|
||||||
var classes = settings.oClasses;
|
|
||||||
var lang = settings.oLanguage.oPaginate;
|
|
||||||
var btnDisplay, btnClass;
|
|
||||||
|
|
||||||
var attach = function( container, buttons ) {
|
|
||||||
var i, ien, node, button;
|
|
||||||
var clickHandler = function ( e ) {
|
|
||||||
e.preventDefault();
|
|
||||||
if ( !$(e.currentTarget).hasClass('disabled') ) {
|
|
||||||
api.page( e.data.action ).draw( false );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
|
||||||
button = buttons[i];
|
|
||||||
|
|
||||||
if ( $.isArray( button ) ) {
|
|
||||||
attach( container, button );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
btnDisplay = '';
|
|
||||||
btnClass = '';
|
|
||||||
|
|
||||||
switch ( button ) {
|
|
||||||
case 'ellipsis':
|
|
||||||
btnDisplay = '…';
|
|
||||||
btnClass = 'disabled';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'first':
|
|
||||||
btnDisplay = lang.sFirst;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'previous':
|
|
||||||
btnDisplay = lang.sPrevious;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'next':
|
|
||||||
btnDisplay = lang.sNext;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'last':
|
|
||||||
btnDisplay = lang.sLast;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
btnDisplay = button + 1;
|
|
||||||
btnClass = page === button ?
|
|
||||||
'active' : '';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( btnDisplay ) {
|
|
||||||
node = $('<li>', {
|
|
||||||
'class': classes.sPageButton+' '+btnClass,
|
|
||||||
'aria-controls': settings.sTableId,
|
|
||||||
'tabindex': settings.iTabIndex,
|
|
||||||
'id': idx === 0 && typeof button === 'string' ?
|
|
||||||
settings.sTableId +'_'+ button :
|
|
||||||
null
|
|
||||||
} )
|
|
||||||
.append( $('<a>', {
|
|
||||||
'href': '#'
|
|
||||||
} )
|
|
||||||
.html( btnDisplay )
|
|
||||||
)
|
|
||||||
.appendTo( container );
|
|
||||||
|
|
||||||
settings.oApi._fnBindAction(
|
|
||||||
node, {action: button}, clickHandler
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
attach(
|
|
||||||
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
|
||||||
buttons
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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"
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
|
|
||||||
}; // /factory
|
|
||||||
|
|
||||||
|
|
||||||
// Define as an AMD module if possible
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
define( ['jquery', 'datatables'], factory );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// Node/CommonJS
|
|
||||||
factory( require('jquery'), require('datatables') );
|
|
||||||
}
|
|
||||||
else if ( jQuery ) {
|
|
||||||
// Otherwise simply initialise as normal, stopping multiple evaluation
|
|
||||||
factory( jQuery, jQuery.fn.dataTable );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
})(window, document);
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
|||||||
/*!
|
|
||||||
DataTables Bootstrap 3 integration
|
|
||||||
©2011-2014 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(){var f=function(c,b){c.extend(!0,b.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-6'i><'col-sm-6'p>>",renderer:"bootstrap"});c.extend(b.ext.classes,{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm"});b.ext.renderer.pageButton.bootstrap=function(g,f,p,k,h,l){var q=new b.Api(g),r=g.oClasses,i=g.oLanguage.oPaginate,d,e,o=function(b,f){var j,m,n,a,k=function(a){a.preventDefault();
|
|
||||||
c(a.currentTarget).hasClass("disabled")||q.page(a.data.action).draw(!1)};j=0;for(m=f.length;j<m;j++)if(a=f[j],c.isArray(a))o(b,a);else{e=d="";switch(a){case "ellipsis":d="…";e="disabled";break;case "first":d=i.sFirst;e=a+(0<h?"":" disabled");break;case "previous":d=i.sPrevious;e=a+(0<h?"":" disabled");break;case "next":d=i.sNext;e=a+(h<l-1?"":" disabled");break;case "last":d=i.sLast;e=a+(h<l-1?"":" disabled");break;default:d=a+1,e=h===a?"active":""}d&&(n=c("<li>",{"class":r.sPageButton+" "+
|
|
||||||
e,"aria-controls":g.sTableId,tabindex:g.iTabIndex,id:0===p&&"string"===typeof a?g.sTableId+"_"+a:null}).append(c("<a>",{href:"#"}).html(d)).appendTo(b),g.oApi._fnBindAction(n,{action:a},k))}};o(c(f).empty().html('<ul class="pagination"/>').children("ul"),k)};b.TableTools&&(c.extend(!0,b.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"}}),c.extend(!0,b.TableTools.DEFAULTS.oTags,{collection:{container:"ul",button:"li",liner:"a"}}))};"function"===typeof define&&define.amd?define(["jquery","datatables"],f):"object"===typeof exports?f(require("jquery"),require("datatables")):jQuery&&f(jQuery,jQuery.fn.dataTable)})(window,document);
|
|
442
vendor/datatables-plugins/index.html
vendored
@ -1,442 +0,0 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
||||||
|
|
||||||
<title>DataTables Bootstrap 3 example</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css">
|
|
||||||
<link rel="stylesheet" type="text/css" href="dataTables.bootstrap.css">
|
|
||||||
|
|
||||||
<script type="text/javascript" language="javascript" src="//code.jquery.com/jquery-1.11.1.min.js"></script>
|
|
||||||
<script type="text/javascript" language="javascript" src="//cdn.datatables.net/1.10.3/js/jquery.dataTables.min.js"></script>
|
|
||||||
<script type="text/javascript" language="javascript" src="dataTables.bootstrap.js"></script>
|
|
||||||
<script type="text/javascript" charset="utf-8">
|
|
||||||
$(document).ready(function() {
|
|
||||||
$('#example').dataTable();
|
|
||||||
} );
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="container">
|
|
||||||
|
|
||||||
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered" id="example">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Rendering engine</th>
|
|
||||||
<th>Browser</th>
|
|
||||||
<th>Platform(s)</th>
|
|
||||||
<th>Engine version</th>
|
|
||||||
<th>CSS grade</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd gradeX">
|
|
||||||
<td>Trident</td>
|
|
||||||
<td>Internet
|
|
||||||
Explorer 4.0</td>
|
|
||||||
<td>Win 95+</td>
|
|
||||||
<td class="center"> 4</td>
|
|
||||||
<td class="center">X</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even gradeC">
|
|
||||||
<td>Trident</td>
|
|
||||||
<td>Internet
|
|
||||||
Explorer 5.0</td>
|
|
||||||
<td>Win 95+</td>
|
|
||||||
<td class="center">5</td>
|
|
||||||
<td class="center">C</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd gradeA">
|
|
||||||
<td>Trident</td>
|
|
||||||
<td>Internet
|
|
||||||
Explorer 5.5</td>
|
|
||||||
<td>Win 95+</td>
|
|
||||||
<td class="center">5.5</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even gradeA">
|
|
||||||
<td>Trident</td>
|
|
||||||
<td>Internet
|
|
||||||
Explorer 6</td>
|
|
||||||
<td>Win 98+</td>
|
|
||||||
<td class="center">6</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd gradeA">
|
|
||||||
<td>Trident</td>
|
|
||||||
<td>Internet Explorer 7</td>
|
|
||||||
<td>Win XP SP2+</td>
|
|
||||||
<td class="center">7</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even gradeA">
|
|
||||||
<td>Trident</td>
|
|
||||||
<td>AOL browser (AOL desktop)</td>
|
|
||||||
<td>Win XP</td>
|
|
||||||
<td class="center">6</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Firefox 1.0</td>
|
|
||||||
<td>Win 98+ / OSX.2+</td>
|
|
||||||
<td class="center">1.7</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Firefox 1.5</td>
|
|
||||||
<td>Win 98+ / OSX.2+</td>
|
|
||||||
<td class="center">1.8</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Firefox 2.0</td>
|
|
||||||
<td>Win 98+ / OSX.2+</td>
|
|
||||||
<td class="center">1.8</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Firefox 3.0</td>
|
|
||||||
<td>Win 2k+ / OSX.3+</td>
|
|
||||||
<td class="center">1.9</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Camino 1.0</td>
|
|
||||||
<td>OSX.2+</td>
|
|
||||||
<td class="center">1.8</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Camino 1.5</td>
|
|
||||||
<td>OSX.3+</td>
|
|
||||||
<td class="center">1.8</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Netscape 7.2</td>
|
|
||||||
<td>Win 95+ / Mac OS 8.6-9.2</td>
|
|
||||||
<td class="center">1.7</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Netscape Browser 8</td>
|
|
||||||
<td>Win 98SE+</td>
|
|
||||||
<td class="center">1.7</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Netscape Navigator 9</td>
|
|
||||||
<td>Win 98+ / OSX.2+</td>
|
|
||||||
<td class="center">1.8</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Mozilla 1.0</td>
|
|
||||||
<td>Win 95+ / OSX.1+</td>
|
|
||||||
<td class="center">1</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Mozilla 1.1</td>
|
|
||||||
<td>Win 95+ / OSX.1+</td>
|
|
||||||
<td class="center">1.1</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Mozilla 1.2</td>
|
|
||||||
<td>Win 95+ / OSX.1+</td>
|
|
||||||
<td class="center">1.2</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Mozilla 1.3</td>
|
|
||||||
<td>Win 95+ / OSX.1+</td>
|
|
||||||
<td class="center">1.3</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Mozilla 1.4</td>
|
|
||||||
<td>Win 95+ / OSX.1+</td>
|
|
||||||
<td class="center">1.4</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Mozilla 1.5</td>
|
|
||||||
<td>Win 95+ / OSX.1+</td>
|
|
||||||
<td class="center">1.5</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Mozilla 1.6</td>
|
|
||||||
<td>Win 95+ / OSX.1+</td>
|
|
||||||
<td class="center">1.6</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Mozilla 1.7</td>
|
|
||||||
<td>Win 98+ / OSX.1+</td>
|
|
||||||
<td class="center">1.7</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Mozilla 1.8</td>
|
|
||||||
<td>Win 98+ / OSX.1+</td>
|
|
||||||
<td class="center">1.8</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Seamonkey 1.1</td>
|
|
||||||
<td>Win 98+ / OSX.2+</td>
|
|
||||||
<td class="center">1.8</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Gecko</td>
|
|
||||||
<td>Epiphany 2.20</td>
|
|
||||||
<td>Gnome</td>
|
|
||||||
<td class="center">1.8</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Webkit</td>
|
|
||||||
<td>Safari 1.2</td>
|
|
||||||
<td>OSX.3</td>
|
|
||||||
<td class="center">125.5</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Webkit</td>
|
|
||||||
<td>Safari 1.3</td>
|
|
||||||
<td>OSX.3</td>
|
|
||||||
<td class="center">312.8</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Webkit</td>
|
|
||||||
<td>Safari 2.0</td>
|
|
||||||
<td>OSX.4+</td>
|
|
||||||
<td class="center">419.3</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Webkit</td>
|
|
||||||
<td>Safari 3.0</td>
|
|
||||||
<td>OSX.4+</td>
|
|
||||||
<td class="center">522.1</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Webkit</td>
|
|
||||||
<td>OmniWeb 5.5</td>
|
|
||||||
<td>OSX.4+</td>
|
|
||||||
<td class="center">420</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Webkit</td>
|
|
||||||
<td>iPod Touch / iPhone</td>
|
|
||||||
<td>iPod</td>
|
|
||||||
<td class="center">420.1</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Webkit</td>
|
|
||||||
<td>S60</td>
|
|
||||||
<td>S60</td>
|
|
||||||
<td class="center">413</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Opera 7.0</td>
|
|
||||||
<td>Win 95+ / OSX.1+</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Opera 7.5</td>
|
|
||||||
<td>Win 95+ / OSX.2+</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Opera 8.0</td>
|
|
||||||
<td>Win 95+ / OSX.2+</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Opera 8.5</td>
|
|
||||||
<td>Win 95+ / OSX.2+</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Opera 9.0</td>
|
|
||||||
<td>Win 95+ / OSX.3+</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Opera 9.2</td>
|
|
||||||
<td>Win 88+ / OSX.3+</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Opera 9.5</td>
|
|
||||||
<td>Win 88+ / OSX.3+</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Opera for Wii</td>
|
|
||||||
<td>Wii</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Nokia N800</td>
|
|
||||||
<td>N800</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Presto</td>
|
|
||||||
<td>Nintendo DS browser</td>
|
|
||||||
<td>Nintendo DS</td>
|
|
||||||
<td class="center">8.5</td>
|
|
||||||
<td class="center">C/A<sup>1</sup></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeC">
|
|
||||||
<td>KHTML</td>
|
|
||||||
<td>Konqureror 3.1</td>
|
|
||||||
<td>KDE 3.1</td>
|
|
||||||
<td class="center">3.1</td>
|
|
||||||
<td class="center">C</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>KHTML</td>
|
|
||||||
<td>Konqureror 3.3</td>
|
|
||||||
<td>KDE 3.3</td>
|
|
||||||
<td class="center">3.3</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>KHTML</td>
|
|
||||||
<td>Konqureror 3.5</td>
|
|
||||||
<td>KDE 3.5</td>
|
|
||||||
<td class="center">3.5</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeX">
|
|
||||||
<td>Tasman</td>
|
|
||||||
<td>Internet Explorer 4.5</td>
|
|
||||||
<td>Mac OS 8-9</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">X</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeC">
|
|
||||||
<td>Tasman</td>
|
|
||||||
<td>Internet Explorer 5.1</td>
|
|
||||||
<td>Mac OS 7.6-9</td>
|
|
||||||
<td class="center">1</td>
|
|
||||||
<td class="center">C</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeC">
|
|
||||||
<td>Tasman</td>
|
|
||||||
<td>Internet Explorer 5.2</td>
|
|
||||||
<td>Mac OS 8-X</td>
|
|
||||||
<td class="center">1</td>
|
|
||||||
<td class="center">C</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Misc</td>
|
|
||||||
<td>NetFront 3.1</td>
|
|
||||||
<td>Embedded devices</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">C</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeA">
|
|
||||||
<td>Misc</td>
|
|
||||||
<td>NetFront 3.4</td>
|
|
||||||
<td>Embedded devices</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">A</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeX">
|
|
||||||
<td>Misc</td>
|
|
||||||
<td>Dillo 0.8</td>
|
|
||||||
<td>Embedded devices</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">X</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeX">
|
|
||||||
<td>Misc</td>
|
|
||||||
<td>Links</td>
|
|
||||||
<td>Text only</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">X</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeX">
|
|
||||||
<td>Misc</td>
|
|
||||||
<td>Lynx</td>
|
|
||||||
<td>Text only</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">X</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeC">
|
|
||||||
<td>Misc</td>
|
|
||||||
<td>IE Mobile</td>
|
|
||||||
<td>Windows Mobile 6</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">C</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeC">
|
|
||||||
<td>Misc</td>
|
|
||||||
<td>PSP browser</td>
|
|
||||||
<td>PSP</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">C</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="gradeU">
|
|
||||||
<td>Other browsers</td>
|
|
||||||
<td>All others</td>
|
|
||||||
<td>-</td>
|
|
||||||
<td class="center">-</td>
|
|
||||||
<td class="center">U</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,106 +0,0 @@
|
|||||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
|
|
||||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
|
|
||||||
position: relative;
|
|
||||||
padding-left: 30px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
|
|
||||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
|
|
||||||
top: 8px;
|
|
||||||
left: 4px;
|
|
||||||
height: 16px;
|
|
||||||
width: 16px;
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
color: white;
|
|
||||||
border: 2px solid white;
|
|
||||||
border-radius: 16px;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 14px;
|
|
||||||
box-shadow: 0 0 3px #444;
|
|
||||||
box-sizing: content-box;
|
|
||||||
content: '+';
|
|
||||||
background-color: #31b131;
|
|
||||||
}
|
|
||||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child.dataTables_empty:before,
|
|
||||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child.dataTables_empty:before {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
|
|
||||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
|
|
||||||
content: '-';
|
|
||||||
background-color: #d33333;
|
|
||||||
}
|
|
||||||
table.dataTable.dtr-inline.collapsed > tbody > tr.child td:before {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child,
|
|
||||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child {
|
|
||||||
padding-left: 27px;
|
|
||||||
}
|
|
||||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before,
|
|
||||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before {
|
|
||||||
top: 5px;
|
|
||||||
left: 4px;
|
|
||||||
height: 14px;
|
|
||||||
width: 14px;
|
|
||||||
border-radius: 14px;
|
|
||||||
line-height: 12px;
|
|
||||||
}
|
|
||||||
table.dataTable.dtr-column > tbody > tr > td.control,
|
|
||||||
table.dataTable.dtr-column > tbody > tr > th.control {
|
|
||||||
position: relative;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
table.dataTable.dtr-column > tbody > tr > td.control:before,
|
|
||||||
table.dataTable.dtr-column > tbody > tr > th.control:before {
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
height: 16px;
|
|
||||||
width: 16px;
|
|
||||||
margin-top: -10px;
|
|
||||||
margin-left: -10px;
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
color: white;
|
|
||||||
border: 2px solid white;
|
|
||||||
border-radius: 16px;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 14px;
|
|
||||||
box-shadow: 0 0 3px #444;
|
|
||||||
box-sizing: content-box;
|
|
||||||
content: '+';
|
|
||||||
background-color: #31b131;
|
|
||||||
}
|
|
||||||
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
|
|
||||||
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
|
|
||||||
content: '-';
|
|
||||||
background-color: #d33333;
|
|
||||||
}
|
|
||||||
table.dataTable > tbody > tr.child {
|
|
||||||
padding: 0.5em 1em;
|
|
||||||
}
|
|
||||||
table.dataTable > tbody > tr.child:hover {
|
|
||||||
background: transparent !important;
|
|
||||||
}
|
|
||||||
table.dataTable > tbody > tr.child ul {
|
|
||||||
display: inline-block;
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
table.dataTable > tbody > tr.child ul li {
|
|
||||||
border-bottom: 1px solid #efefef;
|
|
||||||
padding: 0.5em 0;
|
|
||||||
}
|
|
||||||
table.dataTable > tbody > tr.child ul li:first-child {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
table.dataTable > tbody > tr.child ul li:last-child {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
table.dataTable > tbody > tr.child span.dtr-title {
|
|
||||||
display: inline-block;
|
|
||||||
min-width: 75px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
@ -1,873 +0,0 @@
|
|||||||
/*! Responsive 1.0.6
|
|
||||||
* 2014-2015 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @summary Responsive
|
|
||||||
* @description Responsive tables plug-in for DataTables
|
|
||||||
* @version 1.0.6
|
|
||||||
* @file dataTables.responsive.js
|
|
||||||
* @author SpryMedia Ltd (www.sprymedia.co.uk)
|
|
||||||
* @contact www.sprymedia.co.uk/contact
|
|
||||||
* @copyright Copyright 2014-2015 SpryMedia Ltd.
|
|
||||||
*
|
|
||||||
* This source file is free software, available under the following license:
|
|
||||||
* MIT license - http://datatables.net/license/mit
|
|
||||||
*
|
|
||||||
* This source file is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
|
|
||||||
*
|
|
||||||
* For details please refer to: http://www.datatables.net
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function(window, document, undefined) {
|
|
||||||
|
|
||||||
|
|
||||||
var factory = function( $, DataTable ) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Responsive is a plug-in for the DataTables library that makes use of
|
|
||||||
* DataTables' ability to change the visibility of columns, changing the
|
|
||||||
* visibility of columns so the displayed columns fit into the table container.
|
|
||||||
* The end result is that complex tables will be dynamically adjusted to fit
|
|
||||||
* into the viewport, be it on a desktop, tablet or mobile browser.
|
|
||||||
*
|
|
||||||
* Responsive for DataTables has two modes of operation, which can used
|
|
||||||
* individually or combined:
|
|
||||||
*
|
|
||||||
* * Class name based control - columns assigned class names that match the
|
|
||||||
* breakpoint logic can be shown / hidden as required for each breakpoint.
|
|
||||||
* * Automatic control - columns are automatically hidden when there is no
|
|
||||||
* room left to display them. Columns removed from the right.
|
|
||||||
*
|
|
||||||
* In additional to column visibility control, Responsive also has built into
|
|
||||||
* options to use DataTables' child row display to show / hide the information
|
|
||||||
* from the table that has been hidden. There are also two modes of operation
|
|
||||||
* for this child row display:
|
|
||||||
*
|
|
||||||
* * Inline - when the control element that the user can use to show / hide
|
|
||||||
* child rows is displayed inside the first column of the table.
|
|
||||||
* * Column - where a whole column is dedicated to be the show / hide control.
|
|
||||||
*
|
|
||||||
* Initialisation of Responsive is performed by:
|
|
||||||
*
|
|
||||||
* * Adding the class `responsive` or `dt-responsive` to the table. In this case
|
|
||||||
* Responsive will automatically be initialised with the default configuration
|
|
||||||
* options when the DataTable is created.
|
|
||||||
* * Using the `responsive` option in the DataTables configuration options. This
|
|
||||||
* can also be used to specify the configuration options, or simply set to
|
|
||||||
* `true` to use the defaults.
|
|
||||||
*
|
|
||||||
* @class
|
|
||||||
* @param {object} settings DataTables settings object for the host table
|
|
||||||
* @param {object} [opts] Configuration options
|
|
||||||
* @requires jQuery 1.7+
|
|
||||||
* @requires DataTables 1.10.1+
|
|
||||||
*
|
|
||||||
* @example
|
|
||||||
* $('#example').DataTable( {
|
|
||||||
* responsive: true
|
|
||||||
* } );
|
|
||||||
* } );
|
|
||||||
*/
|
|
||||||
var Responsive = function ( settings, opts ) {
|
|
||||||
// Sanity check that we are using DataTables 1.10 or newer
|
|
||||||
if ( ! DataTable.versionCheck || ! DataTable.versionCheck( '1.10.1' ) ) {
|
|
||||||
throw 'DataTables Responsive requires DataTables 1.10.1 or newer';
|
|
||||||
}
|
|
||||||
|
|
||||||
this.s = {
|
|
||||||
dt: new DataTable.Api( settings ),
|
|
||||||
columns: []
|
|
||||||
};
|
|
||||||
|
|
||||||
// Check if responsive has already been initialised on this table
|
|
||||||
if ( this.s.dt.settings()[0].responsive ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// details is an object, but for simplicity the user can give it as a string
|
|
||||||
if ( opts && typeof opts.details === 'string' ) {
|
|
||||||
opts.details = { type: opts.details };
|
|
||||||
}
|
|
||||||
|
|
||||||
this.c = $.extend( true, {}, Responsive.defaults, DataTable.defaults.responsive, opts );
|
|
||||||
settings.responsive = this;
|
|
||||||
this._constructor();
|
|
||||||
};
|
|
||||||
|
|
||||||
Responsive.prototype = {
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialise the Responsive instance
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_constructor: function ()
|
|
||||||
{
|
|
||||||
var that = this;
|
|
||||||
var dt = this.s.dt;
|
|
||||||
|
|
||||||
dt.settings()[0]._responsive = this;
|
|
||||||
|
|
||||||
// Use DataTables' private throttle function to avoid processor thrashing
|
|
||||||
$(window).on( 'resize.dtr orientationchange.dtr', dt.settings()[0].oApi._fnThrottle( function () {
|
|
||||||
that._resize();
|
|
||||||
} ) );
|
|
||||||
|
|
||||||
// Destroy event handler
|
|
||||||
dt.on( 'destroy.dtr', function () {
|
|
||||||
$(window).off( 'resize.dtr orientationchange.dtr draw.dtr' );
|
|
||||||
} );
|
|
||||||
|
|
||||||
// Reorder the breakpoints array here in case they have been added out
|
|
||||||
// of order
|
|
||||||
this.c.breakpoints.sort( function (a, b) {
|
|
||||||
return a.width < b.width ? 1 :
|
|
||||||
a.width > b.width ? -1 : 0;
|
|
||||||
} );
|
|
||||||
|
|
||||||
// Determine which columns are already hidden, and should therefore
|
|
||||||
// remain hidden. todo - should this be done? See thread 22677
|
|
||||||
//
|
|
||||||
// this.s.alwaysHidden = dt.columns(':hidden').indexes();
|
|
||||||
|
|
||||||
this._classLogic();
|
|
||||||
this._resizeAuto();
|
|
||||||
|
|
||||||
// Details handler
|
|
||||||
var details = this.c.details;
|
|
||||||
if ( details.type ) {
|
|
||||||
that._detailsInit();
|
|
||||||
this._detailsVis();
|
|
||||||
|
|
||||||
dt.on( 'column-visibility.dtr', function () {
|
|
||||||
that._detailsVis();
|
|
||||||
} );
|
|
||||||
|
|
||||||
// Redraw the details box on each draw. This is used until
|
|
||||||
// DataTables implements a native `updated` event for rows
|
|
||||||
dt.on( 'draw.dtr', function () {
|
|
||||||
dt.rows( {page: 'current'} ).iterator( 'row', function ( settings, idx ) {
|
|
||||||
var row = dt.row( idx );
|
|
||||||
|
|
||||||
if ( row.child.isShown() ) {
|
|
||||||
var info = that.c.details.renderer( dt, idx );
|
|
||||||
row.child( info, 'child' ).show();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
|
|
||||||
$(dt.table().node()).addClass( 'dtr-'+details.type );
|
|
||||||
}
|
|
||||||
|
|
||||||
// First pass - draw the table for the current viewport size
|
|
||||||
this._resize();
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
||||||
* Private methods
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Calculate the visibility for the columns in a table for a given
|
|
||||||
* breakpoint. The result is pre-determined based on the class logic if
|
|
||||||
* class names are used to control all columns, but the width of the table
|
|
||||||
* is also used if there are columns which are to be automatically shown
|
|
||||||
* and hidden.
|
|
||||||
*
|
|
||||||
* @param {string} breakpoint Breakpoint name to use for the calculation
|
|
||||||
* @return {array} Array of boolean values initiating the visibility of each
|
|
||||||
* column.
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_columnsVisiblity: function ( breakpoint )
|
|
||||||
{
|
|
||||||
var dt = this.s.dt;
|
|
||||||
var columns = this.s.columns;
|
|
||||||
var i, ien;
|
|
||||||
|
|
||||||
// Class logic - determine which columns are in this breakpoint based
|
|
||||||
// on the classes. If no class control (i.e. `auto`) then `-` is used
|
|
||||||
// to indicate this to the rest of the function
|
|
||||||
var display = $.map( columns, function ( col ) {
|
|
||||||
return col.auto && col.minWidth === null ?
|
|
||||||
false :
|
|
||||||
col.auto === true ?
|
|
||||||
'-' :
|
|
||||||
$.inArray( breakpoint, col.includeIn ) !== -1;
|
|
||||||
} );
|
|
||||||
|
|
||||||
// Auto column control - first pass: how much width is taken by the
|
|
||||||
// ones that must be included from the non-auto columns
|
|
||||||
var requiredWidth = 0;
|
|
||||||
for ( i=0, ien=display.length ; i<ien ; i++ ) {
|
|
||||||
if ( display[i] === true ) {
|
|
||||||
requiredWidth += columns[i].minWidth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Second pass, use up any remaining width for other columns. For
|
|
||||||
// scrolling tables we need to subtract the width of the scrollbar. It
|
|
||||||
// may not be requires which makes this sub-optimal, but it would
|
|
||||||
// require another full redraw to make complete use of those extra few
|
|
||||||
// pixels
|
|
||||||
var scrolling = dt.settings()[0].oScroll;
|
|
||||||
var bar = scrolling.sY || scrolling.sX ? scrolling.iBarWidth : 0;
|
|
||||||
var widthAvailable = dt.table().container().offsetWidth - bar;
|
|
||||||
var usedWidth = widthAvailable - requiredWidth;
|
|
||||||
|
|
||||||
// Control column needs to always be included. This makes it sub-
|
|
||||||
// optimal in terms of using the available with, but to stop layout
|
|
||||||
// thrashing or overflow. Also we need to account for the control column
|
|
||||||
// width first so we know how much width is available for the other
|
|
||||||
// columns, since the control column might not be the first one shown
|
|
||||||
for ( i=0, ien=display.length ; i<ien ; i++ ) {
|
|
||||||
if ( columns[i].control ) {
|
|
||||||
usedWidth -= columns[i].minWidth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Allow columns to be shown (counting from the left) until we run out
|
|
||||||
// of room
|
|
||||||
var empty = false;
|
|
||||||
for ( i=0, ien=display.length ; i<ien ; i++ ) {
|
|
||||||
if ( display[i] === '-' && ! columns[i].control ) {
|
|
||||||
// Once we've found a column that won't fit we don't let any
|
|
||||||
// others display either, or columns might disappear in the
|
|
||||||
// middle of the table
|
|
||||||
if ( empty || usedWidth - columns[i].minWidth < 0 ) {
|
|
||||||
empty = true;
|
|
||||||
display[i] = false;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
display[i] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
usedWidth -= columns[i].minWidth;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Determine if the 'control' column should be shown (if there is one).
|
|
||||||
// This is the case when there is a hidden column (that is not the
|
|
||||||
// control column). The two loops look inefficient here, but they are
|
|
||||||
// trivial and will fly through. We need to know the outcome from the
|
|
||||||
// first , before the action in the second can be taken
|
|
||||||
var showControl = false;
|
|
||||||
|
|
||||||
for ( i=0, ien=columns.length ; i<ien ; i++ ) {
|
|
||||||
if ( ! columns[i].control && ! columns[i].never && ! display[i] ) {
|
|
||||||
showControl = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for ( i=0, ien=columns.length ; i<ien ; i++ ) {
|
|
||||||
if ( columns[i].control ) {
|
|
||||||
display[i] = showControl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Finally we need to make sure that there is at least one column that
|
|
||||||
// is visible
|
|
||||||
if ( $.inArray( true, display ) === -1 ) {
|
|
||||||
display[0] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return display;
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create the internal `columns` array with information about the columns
|
|
||||||
* for the table. This includes determining which breakpoints the column
|
|
||||||
* will appear in, based upon class names in the column, which makes up the
|
|
||||||
* vast majority of this method.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_classLogic: function ()
|
|
||||||
{
|
|
||||||
var that = this;
|
|
||||||
var calc = {};
|
|
||||||
var breakpoints = this.c.breakpoints;
|
|
||||||
var columns = this.s.dt.columns().eq(0).map( function (i) {
|
|
||||||
var className = this.column(i).header().className;
|
|
||||||
|
|
||||||
return {
|
|
||||||
className: className,
|
|
||||||
includeIn: [],
|
|
||||||
auto: false,
|
|
||||||
control: false,
|
|
||||||
never: className.match(/\bnever\b/) ? true : false
|
|
||||||
};
|
|
||||||
} );
|
|
||||||
|
|
||||||
// Simply add a breakpoint to `includeIn` array, ensuring that there are
|
|
||||||
// no duplicates
|
|
||||||
var add = function ( colIdx, name ) {
|
|
||||||
var includeIn = columns[ colIdx ].includeIn;
|
|
||||||
|
|
||||||
if ( $.inArray( name, includeIn ) === -1 ) {
|
|
||||||
includeIn.push( name );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var column = function ( colIdx, name, operator, matched ) {
|
|
||||||
var size, i, ien;
|
|
||||||
|
|
||||||
if ( ! operator ) {
|
|
||||||
columns[ colIdx ].includeIn.push( name );
|
|
||||||
}
|
|
||||||
else if ( operator === 'max-' ) {
|
|
||||||
// Add this breakpoint and all smaller
|
|
||||||
size = that._find( name ).width;
|
|
||||||
|
|
||||||
for ( i=0, ien=breakpoints.length ; i<ien ; i++ ) {
|
|
||||||
if ( breakpoints[i].width <= size ) {
|
|
||||||
add( colIdx, breakpoints[i].name );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( operator === 'min-' ) {
|
|
||||||
// Add this breakpoint and all larger
|
|
||||||
size = that._find( name ).width;
|
|
||||||
|
|
||||||
for ( i=0, ien=breakpoints.length ; i<ien ; i++ ) {
|
|
||||||
if ( breakpoints[i].width >= size ) {
|
|
||||||
add( colIdx, breakpoints[i].name );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( operator === 'not-' ) {
|
|
||||||
// Add all but this breakpoint (xxx need extra information)
|
|
||||||
|
|
||||||
for ( i=0, ien=breakpoints.length ; i<ien ; i++ ) {
|
|
||||||
if ( breakpoints[i].name.indexOf( matched ) === -1 ) {
|
|
||||||
add( colIdx, breakpoints[i].name );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Loop over each column and determine if it has a responsive control
|
|
||||||
// class
|
|
||||||
columns.each( function ( col, i ) {
|
|
||||||
var classNames = col.className.split(' ');
|
|
||||||
var hasClass = false;
|
|
||||||
|
|
||||||
// Split the class name up so multiple rules can be applied if needed
|
|
||||||
for ( var k=0, ken=classNames.length ; k<ken ; k++ ) {
|
|
||||||
var className = $.trim( classNames[k] );
|
|
||||||
|
|
||||||
if ( className === 'all' ) {
|
|
||||||
// Include in all
|
|
||||||
hasClass = true;
|
|
||||||
col.includeIn = $.map( breakpoints, function (a) {
|
|
||||||
return a.name;
|
|
||||||
} );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if ( className === 'none' || className === 'never' ) {
|
|
||||||
// Include in none (default) and no auto
|
|
||||||
hasClass = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if ( className === 'control' ) {
|
|
||||||
// Special column that is only visible, when one of the other
|
|
||||||
// columns is hidden. This is used for the details control
|
|
||||||
hasClass = true;
|
|
||||||
col.control = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$.each( breakpoints, function ( j, breakpoint ) {
|
|
||||||
// Does this column have a class that matches this breakpoint?
|
|
||||||
var brokenPoint = breakpoint.name.split('-');
|
|
||||||
var re = new RegExp( '(min\\-|max\\-|not\\-)?('+brokenPoint[0]+')(\\-[_a-zA-Z0-9])?' );
|
|
||||||
var match = className.match( re );
|
|
||||||
|
|
||||||
if ( match ) {
|
|
||||||
hasClass = true;
|
|
||||||
|
|
||||||
if ( match[2] === brokenPoint[0] && match[3] === '-'+brokenPoint[1] ) {
|
|
||||||
// Class name matches breakpoint name fully
|
|
||||||
column( i, breakpoint.name, match[1], match[2]+match[3] );
|
|
||||||
}
|
|
||||||
else if ( match[2] === brokenPoint[0] && ! match[3] ) {
|
|
||||||
// Class name matched primary breakpoint name with no qualifier
|
|
||||||
column( i, breakpoint.name, match[1], match[2] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
|
|
||||||
// If there was no control class, then automatic sizing is used
|
|
||||||
if ( ! hasClass ) {
|
|
||||||
col.auto = true;
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
this.s.columns = columns;
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialisation for the details handler
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_detailsInit: function ()
|
|
||||||
{
|
|
||||||
var that = this;
|
|
||||||
var dt = this.s.dt;
|
|
||||||
var details = this.c.details;
|
|
||||||
|
|
||||||
// The inline type always uses the first child as the target
|
|
||||||
if ( details.type === 'inline' ) {
|
|
||||||
details.target = 'td:first-child';
|
|
||||||
}
|
|
||||||
|
|
||||||
// type.target can be a string jQuery selector or a column index
|
|
||||||
var target = details.target;
|
|
||||||
var selector = typeof target === 'string' ? target : 'td';
|
|
||||||
|
|
||||||
// Click handler to show / hide the details rows when they are available
|
|
||||||
$( dt.table().body() ).on( 'click', selector, function (e) {
|
|
||||||
// If the table is not collapsed (i.e. there is no hidden columns)
|
|
||||||
// then take no action
|
|
||||||
if ( ! $(dt.table().node()).hasClass('collapsed' ) ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check that the row is actually a DataTable's controlled node
|
|
||||||
if ( ! dt.row( $(this).closest('tr') ).length ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// For column index, we determine if we should act or not in the
|
|
||||||
// handler - otherwise it is already okay
|
|
||||||
if ( typeof target === 'number' ) {
|
|
||||||
var targetIdx = target < 0 ?
|
|
||||||
dt.columns().eq(0).length + target :
|
|
||||||
target;
|
|
||||||
|
|
||||||
if ( dt.cell( this ).index().column !== targetIdx ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// $().closest() includes itself in its check
|
|
||||||
var row = dt.row( $(this).closest('tr') );
|
|
||||||
|
|
||||||
if ( row.child.isShown() ) {
|
|
||||||
row.child( false );
|
|
||||||
$( row.node() ).removeClass( 'parent' );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
var info = that.c.details.renderer( dt, row[0] );
|
|
||||||
row.child( info, 'child' ).show();
|
|
||||||
$( row.node() ).addClass( 'parent' );
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the child rows in the table whenever the column visibility changes
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_detailsVis: function ()
|
|
||||||
{
|
|
||||||
var that = this;
|
|
||||||
var dt = this.s.dt;
|
|
||||||
|
|
||||||
// Find how many columns are hidden
|
|
||||||
var hiddenColumns = dt.columns().indexes().filter( function ( idx ) {
|
|
||||||
var col = dt.column( idx );
|
|
||||||
|
|
||||||
if ( col.visible() ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Only counts as hidden if it doesn't have the `never` class
|
|
||||||
return $( col.header() ).hasClass( 'never' ) ? null : idx;
|
|
||||||
} );
|
|
||||||
var haveHidden = true;
|
|
||||||
|
|
||||||
if ( hiddenColumns.length === 0 || ( hiddenColumns.length === 1 && this.s.columns[ hiddenColumns[0] ].control ) ) {
|
|
||||||
haveHidden = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( haveHidden ) {
|
|
||||||
// Show all existing child rows
|
|
||||||
dt.rows( { page: 'current' } ).eq(0).each( function (idx) {
|
|
||||||
var row = dt.row( idx );
|
|
||||||
|
|
||||||
if ( row.child() ) {
|
|
||||||
var info = that.c.details.renderer( dt, row[0] );
|
|
||||||
|
|
||||||
// The renderer can return false to have no child row
|
|
||||||
if ( info === false ) {
|
|
||||||
row.child.hide();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
row.child( info, 'child' ).show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Hide all existing child rows
|
|
||||||
dt.rows( { page: 'current' } ).eq(0).each( function (idx) {
|
|
||||||
dt.row( idx ).child.hide();
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find a breakpoint object from a name
|
|
||||||
* @param {string} name Breakpoint name to find
|
|
||||||
* @return {object} Breakpoint description object
|
|
||||||
*/
|
|
||||||
_find: function ( name )
|
|
||||||
{
|
|
||||||
var breakpoints = this.c.breakpoints;
|
|
||||||
|
|
||||||
for ( var i=0, ien=breakpoints.length ; i<ien ; i++ ) {
|
|
||||||
if ( breakpoints[i].name === name ) {
|
|
||||||
return breakpoints[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Alter the table display for a resized viewport. This involves first
|
|
||||||
* determining what breakpoint the window currently is in, getting the
|
|
||||||
* column visibilities to apply and then setting them.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_resize: function ()
|
|
||||||
{
|
|
||||||
var dt = this.s.dt;
|
|
||||||
var width = $(window).width();
|
|
||||||
var breakpoints = this.c.breakpoints;
|
|
||||||
var breakpoint = breakpoints[0].name;
|
|
||||||
var columns = this.s.columns;
|
|
||||||
var i, ien;
|
|
||||||
|
|
||||||
// Determine what breakpoint we are currently at
|
|
||||||
for ( i=breakpoints.length-1 ; i>=0 ; i-- ) {
|
|
||||||
if ( width <= breakpoints[i].width ) {
|
|
||||||
breakpoint = breakpoints[i].name;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show the columns for that break point
|
|
||||||
var columnsVis = this._columnsVisiblity( breakpoint );
|
|
||||||
|
|
||||||
// Set the class before the column visibility is changed so event
|
|
||||||
// listeners know what the state is. Need to determine if there are
|
|
||||||
// any columns that are not visible but can be shown
|
|
||||||
var collapsedClass = false;
|
|
||||||
for ( i=0, ien=columns.length ; i<ien ; i++ ) {
|
|
||||||
if ( columnsVis[i] === false && ! columns[i].never ) {
|
|
||||||
collapsedClass = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$( dt.table().node() ).toggleClass('collapsed', collapsedClass );
|
|
||||||
|
|
||||||
dt.columns().eq(0).each( function ( colIdx, i ) {
|
|
||||||
dt.column( colIdx ).visible( columnsVis[i] );
|
|
||||||
} );
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine the width of each column in the table so the auto column hiding
|
|
||||||
* has that information to work with. This method is never going to be 100%
|
|
||||||
* perfect since column widths can change slightly per page, but without
|
|
||||||
* seriously compromising performance this is quite effective.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
_resizeAuto: function ()
|
|
||||||
{
|
|
||||||
var dt = this.s.dt;
|
|
||||||
var columns = this.s.columns;
|
|
||||||
|
|
||||||
// Are we allowed to do auto sizing?
|
|
||||||
if ( ! this.c.auto ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Are there any columns that actually need auto-sizing, or do they all
|
|
||||||
// have classes defined
|
|
||||||
if ( $.inArray( true, $.map( columns, function (c) { return c.auto; } ) ) === -1 ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clone the table with the current data in it
|
|
||||||
var tableWidth = dt.table().node().offsetWidth;
|
|
||||||
var columnWidths = dt.columns;
|
|
||||||
var clonedTable = dt.table().node().cloneNode( false );
|
|
||||||
var clonedHeader = $( dt.table().header().cloneNode( false ) ).appendTo( clonedTable );
|
|
||||||
var clonedBody = $( dt.table().body().cloneNode( false ) ).appendTo( clonedTable );
|
|
||||||
|
|
||||||
$( dt.table().footer() ).clone( false ).appendTo( clonedTable );
|
|
||||||
|
|
||||||
// This is a bit slow, but we need to get a clone of each row that
|
|
||||||
// includes all columns. As such, try to do this as little as possible.
|
|
||||||
dt.rows( { page: 'current' } ).indexes().flatten().each( function ( idx ) {
|
|
||||||
var clone = dt.row( idx ).node().cloneNode( true );
|
|
||||||
|
|
||||||
if ( dt.columns( ':hidden' ).flatten().length ) {
|
|
||||||
$(clone).append( dt.cells( idx, ':hidden' ).nodes().to$().clone() );
|
|
||||||
}
|
|
||||||
|
|
||||||
$(clone).appendTo( clonedBody );
|
|
||||||
} );
|
|
||||||
|
|
||||||
var cells = dt.columns().header().to$().clone( false );
|
|
||||||
$('<tr/>')
|
|
||||||
.append( cells )
|
|
||||||
.appendTo( clonedHeader );
|
|
||||||
|
|
||||||
// In the inline case extra padding is applied to the first column to
|
|
||||||
// give space for the show / hide icon. We need to use this in the
|
|
||||||
// calculation
|
|
||||||
if ( this.c.details.type === 'inline' ) {
|
|
||||||
$(clonedTable).addClass( 'dtr-inline collapsed' );
|
|
||||||
}
|
|
||||||
|
|
||||||
var inserted = $('<div/>')
|
|
||||||
.css( {
|
|
||||||
width: 1,
|
|
||||||
height: 1,
|
|
||||||
overflow: 'hidden'
|
|
||||||
} )
|
|
||||||
.append( clonedTable );
|
|
||||||
|
|
||||||
// Remove columns which are not to be included
|
|
||||||
inserted.find('th.never, td.never').remove();
|
|
||||||
|
|
||||||
inserted.insertBefore( dt.table().node() );
|
|
||||||
|
|
||||||
// The cloned header now contains the smallest that each column can be
|
|
||||||
dt.columns().eq(0).each( function ( idx ) {
|
|
||||||
columns[idx].minWidth = cells[ idx ].offsetWidth || 0;
|
|
||||||
} );
|
|
||||||
|
|
||||||
inserted.remove();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* List of default breakpoints. Each item in the array is an object with two
|
|
||||||
* properties:
|
|
||||||
*
|
|
||||||
* * `name` - the breakpoint name.
|
|
||||||
* * `width` - the breakpoint width
|
|
||||||
*
|
|
||||||
* @name Responsive.breakpoints
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Responsive.breakpoints = [
|
|
||||||
{ name: 'desktop', width: Infinity },
|
|
||||||
{ name: 'tablet-l', width: 1024 },
|
|
||||||
{ name: 'tablet-p', width: 768 },
|
|
||||||
{ name: 'mobile-l', width: 480 },
|
|
||||||
{ name: 'mobile-p', width: 320 }
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Responsive default settings for initialisation
|
|
||||||
*
|
|
||||||
* @namespace
|
|
||||||
* @name Responsive.defaults
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Responsive.defaults = {
|
|
||||||
/**
|
|
||||||
* List of breakpoints for the instance. Note that this means that each
|
|
||||||
* instance can have its own breakpoints. Additionally, the breakpoints
|
|
||||||
* cannot be changed once an instance has been creased.
|
|
||||||
*
|
|
||||||
* @type {Array}
|
|
||||||
* @default Takes the value of `Responsive.breakpoints`
|
|
||||||
*/
|
|
||||||
breakpoints: Responsive.breakpoints,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable / disable auto hiding calculations. It can help to increase
|
|
||||||
* performance slightly if you disable this option, but all columns would
|
|
||||||
* need to have breakpoint classes assigned to them
|
|
||||||
*
|
|
||||||
* @type {Boolean}
|
|
||||||
* @default `true`
|
|
||||||
*/
|
|
||||||
auto: true,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Details control. If given as a string value, the `type` property of the
|
|
||||||
* default object is set to that value, and the defaults used for the rest
|
|
||||||
* of the object - this is for ease of implementation.
|
|
||||||
*
|
|
||||||
* The object consists of the following properties:
|
|
||||||
*
|
|
||||||
* * `renderer` - function that is called for display of the child row data.
|
|
||||||
* The default function will show the data from the hidden columns
|
|
||||||
* * `target` - Used as the selector for what objects to attach the child
|
|
||||||
* open / close to
|
|
||||||
* * `type` - `false` to disable the details display, `inline` or `column`
|
|
||||||
* for the two control types
|
|
||||||
*
|
|
||||||
* @type {Object|string}
|
|
||||||
*/
|
|
||||||
details: {
|
|
||||||
renderer: function ( api, rowIdx ) {
|
|
||||||
var data = api.cells( rowIdx, ':hidden' ).eq(0).map( function ( cell ) {
|
|
||||||
var header = $( api.column( cell.column ).header() );
|
|
||||||
var idx = api.cell( cell ).index();
|
|
||||||
|
|
||||||
if ( header.hasClass( 'control' ) || header.hasClass( 'never' ) ) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Use a non-public DT API method to render the data for display
|
|
||||||
// This needs to be updated when DT adds a suitable method for
|
|
||||||
// this type of data retrieval
|
|
||||||
var dtPrivate = api.settings()[0];
|
|
||||||
var cellData = dtPrivate.oApi._fnGetCellData(
|
|
||||||
dtPrivate, idx.row, idx.column, 'display'
|
|
||||||
);
|
|
||||||
var title = header.text();
|
|
||||||
if ( title ) {
|
|
||||||
title = title + ':';
|
|
||||||
}
|
|
||||||
|
|
||||||
return '<li data-dtr-index="'+idx.column+'">'+
|
|
||||||
'<span class="dtr-title">'+
|
|
||||||
title+
|
|
||||||
'</span> '+
|
|
||||||
'<span class="dtr-data">'+
|
|
||||||
cellData+
|
|
||||||
'</span>'+
|
|
||||||
'</li>';
|
|
||||||
} ).toArray().join('');
|
|
||||||
|
|
||||||
return data ?
|
|
||||||
$('<ul data-dtr-index="'+rowIdx+'"/>').append( data ) :
|
|
||||||
false;
|
|
||||||
},
|
|
||||||
|
|
||||||
target: 0,
|
|
||||||
|
|
||||||
type: 'inline'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* API
|
|
||||||
*/
|
|
||||||
var Api = $.fn.dataTable.Api;
|
|
||||||
|
|
||||||
// Doesn't do anything - work around for a bug in DT... Not documented
|
|
||||||
Api.register( 'responsive()', function () {
|
|
||||||
return this;
|
|
||||||
} );
|
|
||||||
|
|
||||||
Api.register( 'responsive.index()', function ( li ) {
|
|
||||||
li = $(li);
|
|
||||||
|
|
||||||
return {
|
|
||||||
column: li.data('dtr-index'),
|
|
||||||
row: li.parent().data('dtr-index')
|
|
||||||
};
|
|
||||||
} );
|
|
||||||
|
|
||||||
Api.register( 'responsive.rebuild()', function () {
|
|
||||||
return this.iterator( 'table', function ( ctx ) {
|
|
||||||
if ( ctx._responsive ) {
|
|
||||||
ctx._responsive._classLogic();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
|
|
||||||
Api.register( 'responsive.recalc()', function () {
|
|
||||||
return this.iterator( 'table', function ( ctx ) {
|
|
||||||
if ( ctx._responsive ) {
|
|
||||||
ctx._responsive._resizeAuto();
|
|
||||||
ctx._responsive._resize();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Version information
|
|
||||||
*
|
|
||||||
* @name Responsive.version
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
Responsive.version = '1.0.6';
|
|
||||||
|
|
||||||
|
|
||||||
$.fn.dataTable.Responsive = Responsive;
|
|
||||||
$.fn.DataTable.Responsive = Responsive;
|
|
||||||
|
|
||||||
// Attach a listener to the document which listens for DataTables initialisation
|
|
||||||
// events so we can automatically initialise
|
|
||||||
$(document).on( 'init.dt.dtr', function (e, settings, json) {
|
|
||||||
if ( e.namespace !== 'dt' ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $(settings.nTable).hasClass( 'responsive' ) ||
|
|
||||||
$(settings.nTable).hasClass( 'dt-responsive' ) ||
|
|
||||||
settings.oInit.responsive ||
|
|
||||||
DataTable.defaults.responsive
|
|
||||||
) {
|
|
||||||
var init = settings.oInit.responsive;
|
|
||||||
|
|
||||||
if ( init !== false ) {
|
|
||||||
new Responsive( settings, $.isPlainObject( init ) ? init : {} );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
return Responsive;
|
|
||||||
}; // /factory
|
|
||||||
|
|
||||||
|
|
||||||
// Define as an AMD module if possible
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
define( ['jquery', 'datatables'], factory );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// Node/CommonJS
|
|
||||||
factory( require('jquery'), require('datatables') );
|
|
||||||
}
|
|
||||||
else if ( jQuery && !jQuery.fn.dataTable.Responsive ) {
|
|
||||||
// Otherwise simply initialise as normal, stopping multiple evaluation
|
|
||||||
factory( jQuery, jQuery.fn.dataTable );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
})(window, document);
|
|
@ -1,149 +0,0 @@
|
|||||||
|
|
||||||
//
|
|
||||||
// Mixins
|
|
||||||
//
|
|
||||||
@mixin control() {
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
color: white;
|
|
||||||
border: 2px solid white;
|
|
||||||
border-radius: 16px;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 14px;
|
|
||||||
box-shadow: 0 0 3px #444;
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin control-open() {
|
|
||||||
content: '+';
|
|
||||||
background-color: #31b131;
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin control-close() {
|
|
||||||
content: '-';
|
|
||||||
background-color: #d33333;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Table styles
|
|
||||||
//
|
|
||||||
table.dataTable {
|
|
||||||
// Styling for the `inline` type
|
|
||||||
&.dtr-inline.collapsed > tbody {
|
|
||||||
> tr > td:first-child,
|
|
||||||
> tr > th:first-child {
|
|
||||||
position: relative;
|
|
||||||
padding-left: 30px;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
top: 8px;
|
|
||||||
left: 4px;
|
|
||||||
height: 16px;
|
|
||||||
width: 16px;
|
|
||||||
@include control;
|
|
||||||
@include control-open;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.dataTables_empty:before {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
> tr.parent {
|
|
||||||
> td:first-child:before,
|
|
||||||
> th:first-child:before {
|
|
||||||
@include control-close;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
> tr.child td:before {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// DataTables' `compact` styling
|
|
||||||
&.dtr-inline.collapsed.compact > tbody {
|
|
||||||
> tr > td:first-child,
|
|
||||||
> tr > th:first-child {
|
|
||||||
padding-left: 27px;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
top: 5px;
|
|
||||||
left: 4px;
|
|
||||||
height: 14px;
|
|
||||||
width: 14px;
|
|
||||||
border-radius: 14px;
|
|
||||||
line-height: 12px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Styling for the `column` type
|
|
||||||
&.dtr-column > tbody {
|
|
||||||
> tr > td.control,
|
|
||||||
> tr > th.control {
|
|
||||||
position: relative;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
height: 16px;
|
|
||||||
width: 16px;
|
|
||||||
margin-top: -10px;
|
|
||||||
margin-left: -10px;
|
|
||||||
@include control;
|
|
||||||
@include control-open;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
> tr.parent {
|
|
||||||
td.control:before,
|
|
||||||
th.control:before {
|
|
||||||
@include control-close;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Child row styling
|
|
||||||
> tbody > tr.child {
|
|
||||||
padding: 0.5em 1em;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background: transparent !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul {
|
|
||||||
display: inline-block;
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
|
|
||||||
li {
|
|
||||||
border-bottom: 1px solid #efefef;
|
|
||||||
padding: 0.5em 0;
|
|
||||||
|
|
||||||
&:first-child {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
span.dtr-title {
|
|
||||||
display: inline-block;
|
|
||||||
min-width: 75px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.dtr-data {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
187
vendor/datatables/css/dataTables.bootstrap.css
vendored
@ -1,187 +0,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;
|
|
||||||
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";
|
|
||||||
/* sort */
|
|
||||||
}
|
|
||||||
table.dataTable thead .sorting_asc:after {
|
|
||||||
content: "\e155";
|
|
||||||
/* sort-by-attributes */
|
|
||||||
}
|
|
||||||
table.dataTable thead .sorting_desc:after {
|
|
||||||
content: "\e156";
|
|
||||||
/* sort-by-attributes-alt */
|
|
||||||
}
|
|
||||||
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 > .dataTables_scrollFootInner {
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > 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;
|
|
||||||
}
|
|
@ -1 +0,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;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>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>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}
|
|
202
vendor/datatables/css/dataTables.bootstrap4.css
vendored
@ -1,202 +0,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;
|
|
||||||
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: 0.85em;
|
|
||||||
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;
|
|
||||||
justify-content: flex-end;
|
|
||||||
}
|
|
||||||
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:before, table.dataTable thead .sorting:after,
|
|
||||||
table.dataTable thead .sorting_asc:before,
|
|
||||||
table.dataTable thead .sorting_asc:after,
|
|
||||||
table.dataTable thead .sorting_desc:before,
|
|
||||||
table.dataTable thead .sorting_desc:after,
|
|
||||||
table.dataTable thead .sorting_asc_disabled:before,
|
|
||||||
table.dataTable thead .sorting_asc_disabled:after,
|
|
||||||
table.dataTable thead .sorting_desc_disabled:before,
|
|
||||||
table.dataTable thead .sorting_desc_disabled:after {
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0.9em;
|
|
||||||
display: block;
|
|
||||||
opacity: 0.3;
|
|
||||||
}
|
|
||||||
table.dataTable thead .sorting:before,
|
|
||||||
table.dataTable thead .sorting_asc:before,
|
|
||||||
table.dataTable thead .sorting_desc:before,
|
|
||||||
table.dataTable thead .sorting_asc_disabled:before,
|
|
||||||
table.dataTable thead .sorting_desc_disabled:before {
|
|
||||||
right: 1em;
|
|
||||||
content: "\2191";
|
|
||||||
}
|
|
||||||
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 {
|
|
||||||
right: 0.5em;
|
|
||||||
content: "\2193";
|
|
||||||
}
|
|
||||||
table.dataTable thead .sorting_asc:before,
|
|
||||||
table.dataTable thead .sorting_desc:after {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
table.dataTable thead .sorting_asc_disabled:before,
|
|
||||||
table.dataTable thead .sorting_desc_disabled:after {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
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 > .dataTables_scrollFootInner {
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > 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-sm > thead > tr > th {
|
|
||||||
padding-right: 20px;
|
|
||||||
}
|
|
||||||
table.dataTable.table-sm .sorting:before,
|
|
||||||
table.dataTable.table-sm .sorting_asc:before,
|
|
||||||
table.dataTable.table-sm .sorting_desc:before {
|
|
||||||
top: 5px;
|
|
||||||
right: 0.85em;
|
|
||||||
}
|
|
||||||
table.dataTable.table-sm .sorting:after,
|
|
||||||
table.dataTable.table-sm .sorting_asc:after,
|
|
||||||
table.dataTable.table-sm .sorting_desc:after {
|
|
||||||
top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
118
vendor/datatables/css/dataTables.foundation.css
vendored
@ -1,118 +0,0 @@
|
|||||||
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,
|
|
||||||
table.dataTable thead .sorting_asc_disabled,
|
|
||||||
table.dataTable thead .sorting_desc_disabled {
|
|
||||||
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;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
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,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{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}
|
|
481
vendor/datatables/css/dataTables.jqueryui.css
vendored
@ -1,481 +0,0 @@
|
|||||||
/*
|
|
||||||
* Table styles
|
|
||||||
*/
|
|
||||||
table.dataTable {
|
|
||||||
width: 100%;
|
|
||||||
margin: 0 auto;
|
|
||||||
clear: both;
|
|
||||||
border-collapse: separate;
|
|
||||||
border-spacing: 0;
|
|
||||||
/*
|
|
||||||
* Header and footer styles
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Body styles
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
table.dataTable thead th,
|
|
||||||
table.dataTable tfoot th {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
table.dataTable thead th,
|
|
||||||
table.dataTable thead td {
|
|
||||||
padding: 10px 18px;
|
|
||||||
}
|
|
||||||
table.dataTable thead th:active,
|
|
||||||
table.dataTable thead td:active {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
table.dataTable tfoot th,
|
|
||||||
table.dataTable tfoot td {
|
|
||||||
padding: 10px 18px 6px 18px;
|
|
||||||
}
|
|
||||||
table.dataTable tbody tr {
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
|
||||||
table.dataTable tbody tr.selected {
|
|
||||||
background-color: #B0BED9;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th,
|
|
||||||
table.dataTable tbody td {
|
|
||||||
padding: 8px 10px;
|
|
||||||
}
|
|
||||||
table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
|
|
||||||
border-top: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
table.dataTable.row-border tbody tr:first-child th,
|
|
||||||
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
|
|
||||||
table.dataTable.display tbody tr:first-child td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
|
|
||||||
border-top: 1px solid #ddd;
|
|
||||||
border-right: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
table.dataTable.cell-border tbody tr th:first-child,
|
|
||||||
table.dataTable.cell-border tbody tr td:first-child {
|
|
||||||
border-left: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
table.dataTable.cell-border tbody tr:first-child th,
|
|
||||||
table.dataTable.cell-border tbody tr:first-child td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
}
|
|
||||||
table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
|
|
||||||
background-color: #acbad4;
|
|
||||||
}
|
|
||||||
table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
}
|
|
||||||
table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
|
|
||||||
background-color: #aab7d1;
|
|
||||||
}
|
|
||||||
table.dataTable.order-column tbody tr > .sorting_1,
|
|
||||||
table.dataTable.order-column tbody tr > .sorting_2,
|
|
||||||
table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr > .sorting_3 {
|
|
||||||
background-color: #fafafa;
|
|
||||||
}
|
|
||||||
table.dataTable.order-column tbody tr.selected > .sorting_1,
|
|
||||||
table.dataTable.order-column tbody tr.selected > .sorting_2,
|
|
||||||
table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr.selected > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr.selected > .sorting_3 {
|
|
||||||
background-color: #acbad5;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
|
|
||||||
background-color: #f1f1f1;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
|
|
||||||
background-color: #f3f3f3;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
|
|
||||||
background-color: whitesmoke;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
|
|
||||||
background-color: #a6b4cd;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
|
|
||||||
background-color: #a8b5cf;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
|
|
||||||
background-color: #a9b7d1;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
|
|
||||||
background-color: #fafafa;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
|
|
||||||
background-color: #fcfcfc;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
|
|
||||||
background-color: #fefefe;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
|
|
||||||
background-color: #acbad5;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
|
|
||||||
background-color: #aebcd6;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
|
|
||||||
background-color: #afbdd8;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
|
|
||||||
background-color: #eaeaea;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
|
|
||||||
background-color: #ececec;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
|
|
||||||
background-color: #efefef;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
|
|
||||||
background-color: #a2aec7;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
|
|
||||||
background-color: #a3b0c9;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
|
|
||||||
background-color: #a5b2cb;
|
|
||||||
}
|
|
||||||
table.dataTable.no-footer {
|
|
||||||
border-bottom: 1px solid #111;
|
|
||||||
}
|
|
||||||
table.dataTable.nowrap th, table.dataTable.nowrap td {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
table.dataTable.compact thead th,
|
|
||||||
table.dataTable.compact thead td {
|
|
||||||
padding: 4px 17px 4px 4px;
|
|
||||||
}
|
|
||||||
table.dataTable.compact tfoot th,
|
|
||||||
table.dataTable.compact tfoot td {
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
table.dataTable.compact tbody th,
|
|
||||||
table.dataTable.compact tbody td {
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-left,
|
|
||||||
table.dataTable td.dt-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-center,
|
|
||||||
table.dataTable td.dt-center,
|
|
||||||
table.dataTable td.dataTables_empty {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-right,
|
|
||||||
table.dataTable td.dt-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-justify,
|
|
||||||
table.dataTable td.dt-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-nowrap,
|
|
||||||
table.dataTable td.dt-nowrap {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-left,
|
|
||||||
table.dataTable thead td.dt-head-left,
|
|
||||||
table.dataTable tfoot th.dt-head-left,
|
|
||||||
table.dataTable tfoot td.dt-head-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-center,
|
|
||||||
table.dataTable thead td.dt-head-center,
|
|
||||||
table.dataTable tfoot th.dt-head-center,
|
|
||||||
table.dataTable tfoot td.dt-head-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-right,
|
|
||||||
table.dataTable thead td.dt-head-right,
|
|
||||||
table.dataTable tfoot th.dt-head-right,
|
|
||||||
table.dataTable tfoot td.dt-head-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-justify,
|
|
||||||
table.dataTable thead td.dt-head-justify,
|
|
||||||
table.dataTable tfoot th.dt-head-justify,
|
|
||||||
table.dataTable tfoot td.dt-head-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-nowrap,
|
|
||||||
table.dataTable thead td.dt-head-nowrap,
|
|
||||||
table.dataTable tfoot th.dt-head-nowrap,
|
|
||||||
table.dataTable tfoot td.dt-head-nowrap {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-left,
|
|
||||||
table.dataTable tbody td.dt-body-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-center,
|
|
||||||
table.dataTable tbody td.dt-body-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-right,
|
|
||||||
table.dataTable tbody td.dt-body-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-justify,
|
|
||||||
table.dataTable tbody td.dt-body-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-nowrap,
|
|
||||||
table.dataTable tbody td.dt-body-nowrap {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.dataTable,
|
|
||||||
table.dataTable th,
|
|
||||||
table.dataTable td {
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Control feature layout
|
|
||||||
*/
|
|
||||||
.dataTables_wrapper {
|
|
||||||
position: relative;
|
|
||||||
clear: both;
|
|
||||||
*zoom: 1;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_length {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_filter {
|
|
||||||
float: right;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_filter input {
|
|
||||||
margin-left: 0.5em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_info {
|
|
||||||
clear: both;
|
|
||||||
float: left;
|
|
||||||
padding-top: 0.755em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
float: right;
|
|
||||||
text-align: right;
|
|
||||||
padding-top: 0.25em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button {
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: inline-block;
|
|
||||||
min-width: 1.5em;
|
|
||||||
padding: 0.5em 1em;
|
|
||||||
margin-left: 2px;
|
|
||||||
text-align: center;
|
|
||||||
text-decoration: none !important;
|
|
||||||
cursor: pointer;
|
|
||||||
*cursor: hand;
|
|
||||||
color: #333 !important;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
|
|
||||||
color: #333 !important;
|
|
||||||
border: 1px solid #979797;
|
|
||||||
background-color: white;
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc));
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%);
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%);
|
|
||||||
/* FF3.6+ */
|
|
||||||
background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%);
|
|
||||||
/* IE10+ */
|
|
||||||
background: -o-linear-gradient(top, white 0%, #dcdcdc 100%);
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
|
|
||||||
/* W3C */
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
|
|
||||||
cursor: default;
|
|
||||||
color: #666 !important;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
background: transparent;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
|
|
||||||
color: white !important;
|
|
||||||
border: 1px solid #111;
|
|
||||||
background-color: #585858;
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
background: -webkit-linear-gradient(top, #585858 0%, #111 100%);
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
background: -moz-linear-gradient(top, #585858 0%, #111 100%);
|
|
||||||
/* FF3.6+ */
|
|
||||||
background: -ms-linear-gradient(top, #585858 0%, #111 100%);
|
|
||||||
/* IE10+ */
|
|
||||||
background: -o-linear-gradient(top, #585858 0%, #111 100%);
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
background: linear-gradient(to bottom, #585858 0%, #111 100%);
|
|
||||||
/* W3C */
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
|
|
||||||
outline: none;
|
|
||||||
background-color: #2b2b2b;
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* FF3.6+ */
|
|
||||||
background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* IE10+ */
|
|
||||||
background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* W3C */
|
|
||||||
box-shadow: inset 0 0 3px #111;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .ellipsis {
|
|
||||||
padding: 0 1em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_processing {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 100%;
|
|
||||||
height: 40px;
|
|
||||||
margin-left: -50%;
|
|
||||||
margin-top: -25px;
|
|
||||||
padding-top: 20px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1.2em;
|
|
||||||
background-color: white;
|
|
||||||
background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
|
|
||||||
background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_length,
|
|
||||||
.dataTables_wrapper .dataTables_filter,
|
|
||||||
.dataTables_wrapper .dataTables_info,
|
|
||||||
.dataTables_wrapper .dataTables_processing,
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scroll {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
|
|
||||||
*margin-top: -1px;
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing,
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing,
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing {
|
|
||||||
height: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
margin: 0 !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper.no-footer .dataTables_scrollBody {
|
|
||||||
border-bottom: 1px solid #111;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
|
|
||||||
.dataTables_wrapper.no-footer div.dataTables_scrollBody > table {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper:after {
|
|
||||||
visibility: hidden;
|
|
||||||
display: block;
|
|
||||||
content: "";
|
|
||||||
clear: both;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 767px) {
|
|
||||||
.dataTables_wrapper .dataTables_info,
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
float: none;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 640px) {
|
|
||||||
.dataTables_wrapper .dataTables_length,
|
|
||||||
.dataTables_wrapper .dataTables_filter {
|
|
||||||
float: none;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_filter {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
table.dataTable thead th div.DataTables_sort_wrapper {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
table.dataTable thead th div.DataTables_sort_wrapper span {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
margin-top: -8px;
|
|
||||||
right: -18px;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.ui-state-default,
|
|
||||||
table.dataTable tfoot th.ui-state-default {
|
|
||||||
border-left-width: 0;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.ui-state-default:first-child,
|
|
||||||
table.dataTable tfoot th.ui-state-default:first-child {
|
|
||||||
border-left-width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Control feature layout
|
|
||||||
*/
|
|
||||||
.dataTables_wrapper .dataTables_paginate .fg-button {
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: inline-block;
|
|
||||||
min-width: 1.5em;
|
|
||||||
padding: 0.5em;
|
|
||||||
margin-left: 2px;
|
|
||||||
text-align: center;
|
|
||||||
text-decoration: none !important;
|
|
||||||
cursor: pointer;
|
|
||||||
*cursor: hand;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .fg-button:active {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .fg-button:first-child {
|
|
||||||
border-top-left-radius: 3px;
|
|
||||||
border-bottom-left-radius: 3px;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .fg-button:last-child {
|
|
||||||
border-top-right-radius: 3px;
|
|
||||||
border-bottom-right-radius: 3px;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .ui-widget-header {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .ui-toolbar {
|
|
||||||
padding: 8px;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper.no-footer .dataTables_scrollBody {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_length,
|
|
||||||
.dataTables_wrapper .dataTables_filter,
|
|
||||||
.dataTables_wrapper .dataTables_info,
|
|
||||||
.dataTables_wrapper .dataTables_processing,
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
87
vendor/datatables/css/dataTables.material.css
vendored
@ -1,87 +0,0 @@
|
|||||||
div.dataTables_wrapper div.dataTables_filter {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_filter input {
|
|
||||||
margin-left: 0.5em;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_info {
|
|
||||||
padding-top: 10px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_processing {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 200px;
|
|
||||||
margin-left: -100px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_paginate {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.mdl-grid.dt-table {
|
|
||||||
padding-top: 0;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.mdl-grid.dt-table > div.mdl-cell {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 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:before, table.dataTable thead .sorting:after,
|
|
||||||
table.dataTable thead .sorting_asc:before,
|
|
||||||
table.dataTable thead .sorting_asc:after,
|
|
||||||
table.dataTable thead .sorting_desc:before,
|
|
||||||
table.dataTable thead .sorting_desc:after,
|
|
||||||
table.dataTable thead .sorting_asc_disabled:before,
|
|
||||||
table.dataTable thead .sorting_asc_disabled:after,
|
|
||||||
table.dataTable thead .sorting_desc_disabled:before,
|
|
||||||
table.dataTable thead .sorting_desc_disabled:after {
|
|
||||||
position: absolute;
|
|
||||||
bottom: 11px;
|
|
||||||
display: block;
|
|
||||||
opacity: 0.3;
|
|
||||||
font-size: 1.3em;
|
|
||||||
}
|
|
||||||
table.dataTable thead .sorting:before,
|
|
||||||
table.dataTable thead .sorting_asc:before,
|
|
||||||
table.dataTable thead .sorting_desc:before,
|
|
||||||
table.dataTable thead .sorting_asc_disabled:before,
|
|
||||||
table.dataTable thead .sorting_desc_disabled:before {
|
|
||||||
right: 1em;
|
|
||||||
content: "\2191";
|
|
||||||
}
|
|
||||||
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 {
|
|
||||||
right: 0.5em;
|
|
||||||
content: "\2193";
|
|
||||||
}
|
|
||||||
table.dataTable thead .sorting_asc:before,
|
|
||||||
table.dataTable thead .sorting_desc:after {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
table.dataTable thead .sorting_asc_disabled:before,
|
|
||||||
table.dataTable thead .sorting_desc_disabled:after {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:10px;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;text-align:center}div.dataTables_wrapper div.dataTables_paginate{text-align:right}div.dataTables_wrapper div.mdl-grid.dt-table{padding-top:0;padding-bottom:0}div.dataTables_wrapper div.mdl-grid.dt-table>div.mdl-cell{margin-top:0;margin-bottom: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:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:11px;display:block;opacity:0.3;font-size:1.3em}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}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{right:0.5em;content:"\2193"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}
|
|
102
vendor/datatables/css/dataTables.semanticui.css
vendored
@ -1,102 +0,0 @@
|
|||||||
/*
|
|
||||||
* Styling for DataTables with Semantic UI
|
|
||||||
*/
|
|
||||||
table.dataTable.table {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
table.dataTable.table thead th,
|
|
||||||
table.dataTable.table thead td {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
table.dataTable.table thead th.sorting, table.dataTable.table thead th.sorting_asc, table.dataTable.table thead th.sorting_desc,
|
|
||||||
table.dataTable.table thead td.sorting,
|
|
||||||
table.dataTable.table thead td.sorting_asc,
|
|
||||||
table.dataTable.table thead td.sorting_desc {
|
|
||||||
padding-right: 20px;
|
|
||||||
}
|
|
||||||
table.dataTable.table thead th.sorting:after, table.dataTable.table thead th.sorting_asc:after, table.dataTable.table thead th.sorting_desc:after,
|
|
||||||
table.dataTable.table thead td.sorting:after,
|
|
||||||
table.dataTable.table thead td.sorting_asc:after,
|
|
||||||
table.dataTable.table thead td.sorting_desc:after {
|
|
||||||
position: absolute;
|
|
||||||
top: 12px;
|
|
||||||
right: 8px;
|
|
||||||
display: block;
|
|
||||||
font-family: Icons;
|
|
||||||
}
|
|
||||||
table.dataTable.table thead th.sorting:after,
|
|
||||||
table.dataTable.table thead td.sorting:after {
|
|
||||||
content: "\f0dc";
|
|
||||||
color: #ddd;
|
|
||||||
font-size: 0.8em;
|
|
||||||
}
|
|
||||||
table.dataTable.table thead th.sorting_asc:after,
|
|
||||||
table.dataTable.table thead td.sorting_asc:after {
|
|
||||||
content: "\f0de";
|
|
||||||
}
|
|
||||||
table.dataTable.table thead th.sorting_desc:after,
|
|
||||||
table.dataTable.table thead td.sorting_desc:after {
|
|
||||||
content: "\f0dd";
|
|
||||||
}
|
|
||||||
table.dataTable.table td,
|
|
||||||
table.dataTable.table th {
|
|
||||||
-webkit-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
table.dataTable.table td.dataTables_empty,
|
|
||||||
table.dataTable.table th.dataTables_empty {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable.table.nowrap th,
|
|
||||||
table.dataTable.table.nowrap td {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dataTables_wrapper div.dataTables_length select {
|
|
||||||
vertical-align: middle;
|
|
||||||
min-height: 2.7142em;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_length .ui.selection.dropdown {
|
|
||||||
min-width: 0;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_filter input {
|
|
||||||
margin-left: 0.5em;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_info {
|
|
||||||
padding-top: 13px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_processing {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 200px;
|
|
||||||
margin-left: -100px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.row.dt-table {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_scrollHead table.dataTable {
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
border-bottom-left-radius: 0;
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_scrollBody thead .sorting:after,
|
|
||||||
div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_asc:after,
|
|
||||||
div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_desc:after {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_scrollBody table.dataTable {
|
|
||||||
border-radius: 0;
|
|
||||||
border-top: none;
|
|
||||||
border-bottom-width: 0;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_scrollBody table.dataTable.no-footer {
|
|
||||||
border-bottom-width: 1px;
|
|
||||||
}
|
|
||||||
div.dataTables_wrapper div.dataTables_scrollFoot table.dataTable {
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
border-top-left-radius: 0;
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
table.dataTable.table{margin:0}table.dataTable.table thead th,table.dataTable.table thead td{position:relative}table.dataTable.table thead th.sorting,table.dataTable.table thead th.sorting_asc,table.dataTable.table thead th.sorting_desc,table.dataTable.table thead td.sorting,table.dataTable.table thead td.sorting_asc,table.dataTable.table thead td.sorting_desc{padding-right:20px}table.dataTable.table thead th.sorting:after,table.dataTable.table thead th.sorting_asc:after,table.dataTable.table thead th.sorting_desc:after,table.dataTable.table thead td.sorting:after,table.dataTable.table thead td.sorting_asc:after,table.dataTable.table thead td.sorting_desc:after{position:absolute;top:12px;right:8px;display:block;font-family:Icons}table.dataTable.table thead th.sorting:after,table.dataTable.table thead td.sorting:after{content:"\f0dc";color:#ddd;font-size:0.8em}table.dataTable.table thead th.sorting_asc:after,table.dataTable.table thead td.sorting_asc:after{content:"\f0de"}table.dataTable.table thead th.sorting_desc:after,table.dataTable.table thead td.sorting_desc:after{content:"\f0dd"}table.dataTable.table td,table.dataTable.table th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable.table td.dataTables_empty,table.dataTable.table th.dataTables_empty{text-align:center}table.dataTable.table.nowrap th,table.dataTable.table.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{vertical-align:middle;min-height:2.7142em}div.dataTables_wrapper div.dataTables_length .ui.selection.dropdown{min-width:0}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:13px;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;text-align:center}div.dataTables_wrapper div.row.dt-table{padding:0}div.dataTables_wrapper div.dataTables_scrollHead table.dataTable{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:none}div.dataTables_wrapper div.dataTables_scrollBody thead .sorting:after,div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_asc:after,div.dataTables_wrapper div.dataTables_scrollBody thead .sorting_desc:after{display:none}div.dataTables_wrapper div.dataTables_scrollBody table.dataTable{border-radius:0;border-top:none;border-bottom-width:0}div.dataTables_wrapper div.dataTables_scrollBody table.dataTable.no-footer{border-bottom-width:1px}div.dataTables_wrapper div.dataTables_scrollFoot table.dataTable{border-top-right-radius:0;border-top-left-radius:0;border-top:none}
|
|
146
vendor/datatables/css/dataTables.uikit.css
vendored
@ -1,146 +0,0 @@
|
|||||||
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;
|
|
||||||
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.row.uk-grid.dt-merge-grid {
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
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,
|
|
||||||
table.dataTable thead > tr > td {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
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.sorting:after, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:after,
|
|
||||||
table.dataTable thead > tr > td.sorting:after,
|
|
||||||
table.dataTable thead > tr > td.sorting_asc:after,
|
|
||||||
table.dataTable thead > tr > td.sorting_desc:after {
|
|
||||||
position: absolute;
|
|
||||||
top: 7px;
|
|
||||||
right: 8px;
|
|
||||||
display: block;
|
|
||||||
font-family: 'FontAwesome';
|
|
||||||
}
|
|
||||||
table.dataTable thead > tr > th.sorting:after,
|
|
||||||
table.dataTable thead > tr > td.sorting:after {
|
|
||||||
content: "\f0dc";
|
|
||||||
color: #ddd;
|
|
||||||
font-size: 0.8em;
|
|
||||||
padding-top: 0.12em;
|
|
||||||
}
|
|
||||||
table.dataTable thead > tr > th.sorting_asc:after,
|
|
||||||
table.dataTable thead > tr > td.sorting_asc:after {
|
|
||||||
content: "\f0de";
|
|
||||||
}
|
|
||||||
table.dataTable thead > tr > th.sorting_desc:after,
|
|
||||||
table.dataTable thead > tr > td.sorting_desc:after {
|
|
||||||
content: "\f0dd";
|
|
||||||
}
|
|
||||||
|
|
||||||
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.uk-table-condensed > thead > tr > th {
|
|
||||||
padding-right: 20px;
|
|
||||||
}
|
|
||||||
table.dataTable.uk-table-condensed .sorting:after,
|
|
||||||
table.dataTable.uk-table-condensed .sorting_asc:after,
|
|
||||||
table.dataTable.uk-table-condensed .sorting_desc:after {
|
|
||||||
top: 6px;
|
|
||||||
right: 6px;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
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;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.row.uk-grid.dt-merge-grid{margin-top:5px}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,table.dataTable thead>tr>td{position:relative}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.sorting:after,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_desc:after{position:absolute;top:7px;right:8px;display:block;font-family:'FontAwesome'}table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>td.sorting:after{content:"\f0dc";color:#ddd;font-size:0.8em;padding-top:0.12em}table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>td.sorting_asc:after{content:"\f0de"}table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>td.sorting_desc:after{content:"\f0dd"}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.uk-table-condensed>thead>tr>th{padding-right:20px}table.dataTable.uk-table-condensed .sorting:after,table.dataTable.uk-table-condensed .sorting_asc:after,table.dataTable.uk-table-condensed .sorting_desc:after{top:6px;right:6px}
|
|
448
vendor/datatables/css/jquery.dataTables.css
vendored
@ -1,448 +0,0 @@
|
|||||||
/*
|
|
||||||
* Table styles
|
|
||||||
*/
|
|
||||||
table.dataTable {
|
|
||||||
width: 100%;
|
|
||||||
margin: 0 auto;
|
|
||||||
clear: both;
|
|
||||||
border-collapse: separate;
|
|
||||||
border-spacing: 0;
|
|
||||||
/*
|
|
||||||
* Header and footer styles
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Body styles
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
table.dataTable thead th,
|
|
||||||
table.dataTable tfoot th {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
table.dataTable thead th,
|
|
||||||
table.dataTable thead td {
|
|
||||||
padding: 10px 18px;
|
|
||||||
border-bottom: 1px solid #111;
|
|
||||||
}
|
|
||||||
table.dataTable thead th:active,
|
|
||||||
table.dataTable thead td:active {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
table.dataTable tfoot th,
|
|
||||||
table.dataTable tfoot td {
|
|
||||||
padding: 10px 18px 6px 18px;
|
|
||||||
border-top: 1px solid #111;
|
|
||||||
}
|
|
||||||
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;
|
|
||||||
*cursor: hand;
|
|
||||||
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");
|
|
||||||
}
|
|
||||||
table.dataTable tbody tr {
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
|
||||||
table.dataTable tbody tr.selected {
|
|
||||||
background-color: #B0BED9;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th,
|
|
||||||
table.dataTable tbody td {
|
|
||||||
padding: 8px 10px;
|
|
||||||
}
|
|
||||||
table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
|
|
||||||
border-top: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
table.dataTable.row-border tbody tr:first-child th,
|
|
||||||
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
|
|
||||||
table.dataTable.display tbody tr:first-child td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
|
|
||||||
border-top: 1px solid #ddd;
|
|
||||||
border-right: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
table.dataTable.cell-border tbody tr th:first-child,
|
|
||||||
table.dataTable.cell-border tbody tr td:first-child {
|
|
||||||
border-left: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
table.dataTable.cell-border tbody tr:first-child th,
|
|
||||||
table.dataTable.cell-border tbody tr:first-child td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
}
|
|
||||||
table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
|
|
||||||
background-color: #acbad4;
|
|
||||||
}
|
|
||||||
table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
}
|
|
||||||
table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
|
|
||||||
background-color: #aab7d1;
|
|
||||||
}
|
|
||||||
table.dataTable.order-column tbody tr > .sorting_1,
|
|
||||||
table.dataTable.order-column tbody tr > .sorting_2,
|
|
||||||
table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr > .sorting_3 {
|
|
||||||
background-color: #fafafa;
|
|
||||||
}
|
|
||||||
table.dataTable.order-column tbody tr.selected > .sorting_1,
|
|
||||||
table.dataTable.order-column tbody tr.selected > .sorting_2,
|
|
||||||
table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr.selected > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr.selected > .sorting_3 {
|
|
||||||
background-color: #acbad5;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
|
|
||||||
background-color: #f1f1f1;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
|
|
||||||
background-color: #f3f3f3;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
|
|
||||||
background-color: whitesmoke;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
|
|
||||||
background-color: #a6b4cd;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
|
|
||||||
background-color: #a8b5cf;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
|
|
||||||
background-color: #a9b7d1;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
|
|
||||||
background-color: #fafafa;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
|
|
||||||
background-color: #fcfcfc;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
|
|
||||||
background-color: #fefefe;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
|
|
||||||
background-color: #acbad5;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
|
|
||||||
background-color: #aebcd6;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
|
|
||||||
background-color: #afbdd8;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
|
|
||||||
background-color: #eaeaea;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
|
|
||||||
background-color: #ececec;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
|
|
||||||
background-color: #efefef;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
|
|
||||||
background-color: #a2aec7;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
|
|
||||||
background-color: #a3b0c9;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
|
|
||||||
background-color: #a5b2cb;
|
|
||||||
}
|
|
||||||
table.dataTable.no-footer {
|
|
||||||
border-bottom: 1px solid #111;
|
|
||||||
}
|
|
||||||
table.dataTable.nowrap th, table.dataTable.nowrap td {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
table.dataTable.compact thead th,
|
|
||||||
table.dataTable.compact thead td {
|
|
||||||
padding: 4px 17px 4px 4px;
|
|
||||||
}
|
|
||||||
table.dataTable.compact tfoot th,
|
|
||||||
table.dataTable.compact tfoot td {
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
table.dataTable.compact tbody th,
|
|
||||||
table.dataTable.compact tbody td {
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-left,
|
|
||||||
table.dataTable td.dt-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-center,
|
|
||||||
table.dataTable td.dt-center,
|
|
||||||
table.dataTable td.dataTables_empty {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-right,
|
|
||||||
table.dataTable td.dt-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-justify,
|
|
||||||
table.dataTable td.dt-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-nowrap,
|
|
||||||
table.dataTable td.dt-nowrap {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-left,
|
|
||||||
table.dataTable thead td.dt-head-left,
|
|
||||||
table.dataTable tfoot th.dt-head-left,
|
|
||||||
table.dataTable tfoot td.dt-head-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-center,
|
|
||||||
table.dataTable thead td.dt-head-center,
|
|
||||||
table.dataTable tfoot th.dt-head-center,
|
|
||||||
table.dataTable tfoot td.dt-head-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-right,
|
|
||||||
table.dataTable thead td.dt-head-right,
|
|
||||||
table.dataTable tfoot th.dt-head-right,
|
|
||||||
table.dataTable tfoot td.dt-head-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-justify,
|
|
||||||
table.dataTable thead td.dt-head-justify,
|
|
||||||
table.dataTable tfoot th.dt-head-justify,
|
|
||||||
table.dataTable tfoot td.dt-head-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-nowrap,
|
|
||||||
table.dataTable thead td.dt-head-nowrap,
|
|
||||||
table.dataTable tfoot th.dt-head-nowrap,
|
|
||||||
table.dataTable tfoot td.dt-head-nowrap {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-left,
|
|
||||||
table.dataTable tbody td.dt-body-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-center,
|
|
||||||
table.dataTable tbody td.dt-body-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-right,
|
|
||||||
table.dataTable tbody td.dt-body-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-justify,
|
|
||||||
table.dataTable tbody td.dt-body-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-nowrap,
|
|
||||||
table.dataTable tbody td.dt-body-nowrap {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.dataTable,
|
|
||||||
table.dataTable th,
|
|
||||||
table.dataTable td {
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Control feature layout
|
|
||||||
*/
|
|
||||||
.dataTables_wrapper {
|
|
||||||
position: relative;
|
|
||||||
clear: both;
|
|
||||||
*zoom: 1;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_length {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_filter {
|
|
||||||
float: right;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_filter input {
|
|
||||||
margin-left: 0.5em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_info {
|
|
||||||
clear: both;
|
|
||||||
float: left;
|
|
||||||
padding-top: 0.755em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
float: right;
|
|
||||||
text-align: right;
|
|
||||||
padding-top: 0.25em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button {
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: inline-block;
|
|
||||||
min-width: 1.5em;
|
|
||||||
padding: 0.5em 1em;
|
|
||||||
margin-left: 2px;
|
|
||||||
text-align: center;
|
|
||||||
text-decoration: none !important;
|
|
||||||
cursor: pointer;
|
|
||||||
*cursor: hand;
|
|
||||||
color: #333 !important;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
|
|
||||||
color: #333 !important;
|
|
||||||
border: 1px solid #979797;
|
|
||||||
background-color: white;
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc));
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%);
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%);
|
|
||||||
/* FF3.6+ */
|
|
||||||
background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%);
|
|
||||||
/* IE10+ */
|
|
||||||
background: -o-linear-gradient(top, white 0%, #dcdcdc 100%);
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
|
|
||||||
/* W3C */
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
|
|
||||||
cursor: default;
|
|
||||||
color: #666 !important;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
background: transparent;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
|
|
||||||
color: white !important;
|
|
||||||
border: 1px solid #111;
|
|
||||||
background-color: #585858;
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
background: -webkit-linear-gradient(top, #585858 0%, #111 100%);
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
background: -moz-linear-gradient(top, #585858 0%, #111 100%);
|
|
||||||
/* FF3.6+ */
|
|
||||||
background: -ms-linear-gradient(top, #585858 0%, #111 100%);
|
|
||||||
/* IE10+ */
|
|
||||||
background: -o-linear-gradient(top, #585858 0%, #111 100%);
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
background: linear-gradient(to bottom, #585858 0%, #111 100%);
|
|
||||||
/* W3C */
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
|
|
||||||
outline: none;
|
|
||||||
background-color: #2b2b2b;
|
|
||||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* FF3.6+ */
|
|
||||||
background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* IE10+ */
|
|
||||||
background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
|
|
||||||
/* W3C */
|
|
||||||
box-shadow: inset 0 0 3px #111;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .ellipsis {
|
|
||||||
padding: 0 1em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_processing {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 100%;
|
|
||||||
height: 40px;
|
|
||||||
margin-left: -50%;
|
|
||||||
margin-top: -25px;
|
|
||||||
padding-top: 20px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1.2em;
|
|
||||||
background-color: white;
|
|
||||||
background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
|
|
||||||
background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_length,
|
|
||||||
.dataTables_wrapper .dataTables_filter,
|
|
||||||
.dataTables_wrapper .dataTables_info,
|
|
||||||
.dataTables_wrapper .dataTables_processing,
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scroll {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
|
|
||||||
*margin-top: -1px;
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing,
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing,
|
|
||||||
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing {
|
|
||||||
height: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
margin: 0 !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper.no-footer .dataTables_scrollBody {
|
|
||||||
border-bottom: 1px solid #111;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
|
|
||||||
.dataTables_wrapper.no-footer div.dataTables_scrollBody > table {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper:after {
|
|
||||||
visibility: hidden;
|
|
||||||
display: block;
|
|
||||||
content: "";
|
|
||||||
clear: both;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 767px) {
|
|
||||||
.dataTables_wrapper .dataTables_info,
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
float: none;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 640px) {
|
|
||||||
.dataTables_wrapper .dataTables_length,
|
|
||||||
.dataTables_wrapper .dataTables_filter {
|
|
||||||
float: none;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_filter {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,416 +0,0 @@
|
|||||||
/*
|
|
||||||
* Table styles
|
|
||||||
*/
|
|
||||||
table.dataTable {
|
|
||||||
width: 100%;
|
|
||||||
margin: 0 auto;
|
|
||||||
clear: both;
|
|
||||||
border-collapse: separate;
|
|
||||||
border-spacing: 0;
|
|
||||||
/*
|
|
||||||
* Header and footer styles
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Body styles
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
table.dataTable thead th,
|
|
||||||
table.dataTable thead td,
|
|
||||||
table.dataTable tfoot th,
|
|
||||||
table.dataTable tfoot td {
|
|
||||||
padding: 4px 10px;
|
|
||||||
}
|
|
||||||
table.dataTable thead th,
|
|
||||||
table.dataTable tfoot th {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
table.dataTable thead th:active,
|
|
||||||
table.dataTable thead td:active {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
table.dataTable thead .sorting_asc,
|
|
||||||
table.dataTable thead .sorting_desc,
|
|
||||||
table.dataTable thead .sorting {
|
|
||||||
cursor: pointer;
|
|
||||||
*cursor: hand;
|
|
||||||
}
|
|
||||||
table.dataTable thead th div.DataTables_sort_wrapper {
|
|
||||||
position: relative;
|
|
||||||
padding-right: 10px;
|
|
||||||
}
|
|
||||||
table.dataTable thead th div.DataTables_sort_wrapper span {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
margin-top: -8px;
|
|
||||||
right: -5px;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.ui-state-default {
|
|
||||||
border-right-width: 0;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.ui-state-default:last-child {
|
|
||||||
border-right-width: 1px;
|
|
||||||
}
|
|
||||||
table.dataTable tbody tr {
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
|
||||||
table.dataTable tbody tr.selected {
|
|
||||||
background-color: #B0BED9;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th,
|
|
||||||
table.dataTable tbody td {
|
|
||||||
padding: 8px 10px;
|
|
||||||
}
|
|
||||||
table.dataTable th.center,
|
|
||||||
table.dataTable td.center,
|
|
||||||
table.dataTable td.dataTables_empty {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable th.right,
|
|
||||||
table.dataTable td.right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
|
|
||||||
border-top: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
table.dataTable.row-border tbody tr:first-child th,
|
|
||||||
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
|
|
||||||
table.dataTable.display tbody tr:first-child td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
|
|
||||||
border-top: 1px solid #ddd;
|
|
||||||
border-right: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
table.dataTable.cell-border tbody tr th:first-child,
|
|
||||||
table.dataTable.cell-border tbody tr td:first-child {
|
|
||||||
border-left: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
table.dataTable.cell-border tbody tr:first-child th,
|
|
||||||
table.dataTable.cell-border tbody tr:first-child td {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
}
|
|
||||||
table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
|
|
||||||
background-color: #abb9d3;
|
|
||||||
}
|
|
||||||
table.dataTable.hover tbody tr:hover,
|
|
||||||
table.dataTable.hover tbody tr.odd:hover,
|
|
||||||
table.dataTable.hover tbody tr.even:hover, table.dataTable.display tbody tr:hover,
|
|
||||||
table.dataTable.display tbody tr.odd:hover,
|
|
||||||
table.dataTable.display tbody tr.even:hover {
|
|
||||||
background-color: whitesmoke;
|
|
||||||
}
|
|
||||||
table.dataTable.hover tbody tr:hover.selected,
|
|
||||||
table.dataTable.hover tbody tr.odd:hover.selected,
|
|
||||||
table.dataTable.hover tbody tr.even:hover.selected, table.dataTable.display tbody tr:hover.selected,
|
|
||||||
table.dataTable.display tbody tr.odd:hover.selected,
|
|
||||||
table.dataTable.display tbody tr.even:hover.selected {
|
|
||||||
background-color: #a9b7d1;
|
|
||||||
}
|
|
||||||
table.dataTable.order-column tbody tr > .sorting_1,
|
|
||||||
table.dataTable.order-column tbody tr > .sorting_2,
|
|
||||||
table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr > .sorting_3 {
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
}
|
|
||||||
table.dataTable.order-column tbody tr.selected > .sorting_1,
|
|
||||||
table.dataTable.order-column tbody tr.selected > .sorting_2,
|
|
||||||
table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr.selected > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr.selected > .sorting_3 {
|
|
||||||
background-color: #acbad4;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
|
|
||||||
background-color: #f1f1f1;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
|
|
||||||
background-color: #f3f3f3;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
|
|
||||||
background-color: whitesmoke;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
|
|
||||||
background-color: #a6b3cd;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
|
|
||||||
background-color: #a7b5ce;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
|
|
||||||
background-color: #a9b6d0;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
|
|
||||||
background-color: #fbfbfb;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
|
|
||||||
background-color: #fdfdfd;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
|
|
||||||
background-color: #acbad4;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
|
|
||||||
background-color: #adbbd6;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
|
|
||||||
background-color: #afbdd8;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr.odd:hover > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr.even:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1,
|
|
||||||
table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_1,
|
|
||||||
table.dataTable.order-column.hover tbody tr.even:hover > .sorting_1 {
|
|
||||||
background-color: #eaeaea;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr.odd:hover > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr.even:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2,
|
|
||||||
table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_2,
|
|
||||||
table.dataTable.order-column.hover tbody tr.even:hover > .sorting_2 {
|
|
||||||
background-color: #ebebeb;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover > .sorting_3,
|
|
||||||
table.dataTable.display tbody tr.odd:hover > .sorting_3,
|
|
||||||
table.dataTable.display tbody tr.even:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3,
|
|
||||||
table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_3,
|
|
||||||
table.dataTable.order-column.hover tbody tr.even:hover > .sorting_3 {
|
|
||||||
background-color: #eeeeee;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover.selected > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr.odd:hover.selected > .sorting_1,
|
|
||||||
table.dataTable.display tbody tr.even:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1,
|
|
||||||
table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_1,
|
|
||||||
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_1 {
|
|
||||||
background-color: #a1aec7;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover.selected > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr.odd:hover.selected > .sorting_2,
|
|
||||||
table.dataTable.display tbody tr.even:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2,
|
|
||||||
table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_2,
|
|
||||||
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_2 {
|
|
||||||
background-color: #a2afc8;
|
|
||||||
}
|
|
||||||
table.dataTable.display tbody tr:hover.selected > .sorting_3,
|
|
||||||
table.dataTable.display tbody tr.odd:hover.selected > .sorting_3,
|
|
||||||
table.dataTable.display tbody tr.even:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3,
|
|
||||||
table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_3,
|
|
||||||
table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_3 {
|
|
||||||
background-color: #a4b2cb;
|
|
||||||
}
|
|
||||||
table.dataTable.nowrap th, table.dataTable.nowrap td {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
table.dataTable.compact thead th,
|
|
||||||
table.dataTable.compact thead td {
|
|
||||||
padding: 5px 9px;
|
|
||||||
}
|
|
||||||
table.dataTable.compact tfoot th,
|
|
||||||
table.dataTable.compact tfoot td {
|
|
||||||
padding: 5px 9px 3px 9px;
|
|
||||||
}
|
|
||||||
table.dataTable.compact tbody th,
|
|
||||||
table.dataTable.compact tbody td {
|
|
||||||
padding: 4px 5px;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-left,
|
|
||||||
table.dataTable td.dt-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-center,
|
|
||||||
table.dataTable td.dt-center,
|
|
||||||
table.dataTable td.dataTables_empty {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-right,
|
|
||||||
table.dataTable td.dt-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-justify,
|
|
||||||
table.dataTable td.dt-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
table.dataTable th.dt-nowrap,
|
|
||||||
table.dataTable td.dt-nowrap {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-left,
|
|
||||||
table.dataTable thead td.dt-head-left,
|
|
||||||
table.dataTable tfoot th.dt-head-left,
|
|
||||||
table.dataTable tfoot td.dt-head-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-center,
|
|
||||||
table.dataTable thead td.dt-head-center,
|
|
||||||
table.dataTable tfoot th.dt-head-center,
|
|
||||||
table.dataTable tfoot td.dt-head-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-right,
|
|
||||||
table.dataTable thead td.dt-head-right,
|
|
||||||
table.dataTable tfoot th.dt-head-right,
|
|
||||||
table.dataTable tfoot td.dt-head-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-justify,
|
|
||||||
table.dataTable thead td.dt-head-justify,
|
|
||||||
table.dataTable tfoot th.dt-head-justify,
|
|
||||||
table.dataTable tfoot td.dt-head-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
table.dataTable thead th.dt-head-nowrap,
|
|
||||||
table.dataTable thead td.dt-head-nowrap,
|
|
||||||
table.dataTable tfoot th.dt-head-nowrap,
|
|
||||||
table.dataTable tfoot td.dt-head-nowrap {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-left,
|
|
||||||
table.dataTable tbody td.dt-body-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-center,
|
|
||||||
table.dataTable tbody td.dt-body-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-right,
|
|
||||||
table.dataTable tbody td.dt-body-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-justify,
|
|
||||||
table.dataTable tbody td.dt-body-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
table.dataTable tbody th.dt-body-nowrap,
|
|
||||||
table.dataTable tbody td.dt-body-nowrap {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.dataTable,
|
|
||||||
table.dataTable th,
|
|
||||||
table.dataTable td {
|
|
||||||
-webkit-box-sizing: content-box;
|
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Control feature layout
|
|
||||||
*/
|
|
||||||
.dataTables_wrapper {
|
|
||||||
position: relative;
|
|
||||||
clear: both;
|
|
||||||
*zoom: 1;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_length {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_filter {
|
|
||||||
float: right;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_filter input {
|
|
||||||
margin-left: 0.5em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_info {
|
|
||||||
clear: both;
|
|
||||||
float: left;
|
|
||||||
padding-top: 0.55em;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
float: right;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .fg-button {
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: inline-block;
|
|
||||||
min-width: 1.5em;
|
|
||||||
padding: 0.5em;
|
|
||||||
margin-left: 2px;
|
|
||||||
text-align: center;
|
|
||||||
text-decoration: none !important;
|
|
||||||
cursor: pointer;
|
|
||||||
*cursor: hand;
|
|
||||||
color: #333 !important;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .fg-button:active {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .fg-button:first-child {
|
|
||||||
border-top-left-radius: 3px;
|
|
||||||
border-bottom-left-radius: 3px;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_paginate .fg-button:last-child {
|
|
||||||
border-top-right-radius: 3px;
|
|
||||||
border-bottom-right-radius: 3px;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_processing {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 100%;
|
|
||||||
height: 40px;
|
|
||||||
margin-left: -50%;
|
|
||||||
margin-top: -25px;
|
|
||||||
padding-top: 20px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1.2em;
|
|
||||||
background-color: white;
|
|
||||||
background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
|
|
||||||
/* Chrome,Safari4+ */
|
|
||||||
background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
/* Chrome10+,Safari5.1+ */
|
|
||||||
background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
/* FF3.6+ */
|
|
||||||
background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
/* IE10+ */
|
|
||||||
background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
/* Opera 11.10+ */
|
|
||||||
background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
|
|
||||||
/* W3C */
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_length,
|
|
||||||
.dataTables_wrapper .dataTables_filter,
|
|
||||||
.dataTables_wrapper .dataTables_info,
|
|
||||||
.dataTables_wrapper .dataTables_processing,
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scroll {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_scrollBody {
|
|
||||||
*margin-top: -1px;
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .ui-widget-header {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .ui-toolbar {
|
|
||||||
padding: 8px;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper:after {
|
|
||||||
visibility: hidden;
|
|
||||||
display: block;
|
|
||||||
content: "";
|
|
||||||
clear: both;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 767px) {
|
|
||||||
.dataTables_wrapper .dataTables_length,
|
|
||||||
.dataTables_wrapper .dataTables_filter,
|
|
||||||
.dataTables_wrapper .dataTables_info,
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
float: none;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.dataTables_wrapper .dataTables_filter,
|
|
||||||
.dataTables_wrapper .dataTables_paginate {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
}
|
|
||||||
}
|
|
BIN
vendor/datatables/images/Sorting icons.psd
vendored
BIN
vendor/datatables/images/favicon.ico
vendored
Before Width: | Height: | Size: 894 B |
BIN
vendor/datatables/images/sort_asc.png
vendored
Before Width: | Height: | Size: 160 B |
BIN
vendor/datatables/images/sort_asc_disabled.png
vendored
Before Width: | Height: | Size: 148 B |
BIN
vendor/datatables/images/sort_both.png
vendored
Before Width: | Height: | Size: 201 B |
BIN
vendor/datatables/images/sort_desc.png
vendored
Before Width: | Height: | Size: 158 B |
BIN
vendor/datatables/images/sort_desc_disabled.png
vendored
Before Width: | Height: | Size: 146 B |
182
vendor/datatables/js/dataTables.bootstrap.js
vendored
@ -1,182 +0,0 @@
|
|||||||
/*! DataTables Bootstrap 3 integration
|
|
||||||
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
|
||||||
* DataTables 1.10 or newer.
|
|
||||||
*
|
|
||||||
* This file sets the defaults and adds options to DataTables to style its
|
|
||||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||||
* for further information.
|
|
||||||
*/
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
// Require DataTables, which attaches to jQuery, including
|
|
||||||
// jQuery if needed and have a $ property so we can access the
|
|
||||||
// jQuery object that is used
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
/* Set the defaults for DataTables initialisation */
|
|
||||||
$.extend( true, DataTable.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'
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Default class modification */
|
|
||||||
$.extend( DataTable.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"
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Bootstrap paging button renderer */
|
|
||||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
|
||||||
var api = new DataTable.Api( settings );
|
|
||||||
var classes = settings.oClasses;
|
|
||||||
var lang = settings.oLanguage.oPaginate;
|
|
||||||
var aria = settings.oLanguage.oAria.paginate || {};
|
|
||||||
var btnDisplay, btnClass, counter=0;
|
|
||||||
|
|
||||||
var attach = function( container, buttons ) {
|
|
||||||
var i, ien, node, button;
|
|
||||||
var clickHandler = function ( e ) {
|
|
||||||
e.preventDefault();
|
|
||||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
|
||||||
api.page( e.data.action ).draw( 'page' );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
|
||||||
button = buttons[i];
|
|
||||||
|
|
||||||
if ( $.isArray( button ) ) {
|
|
||||||
attach( container, button );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
btnDisplay = '';
|
|
||||||
btnClass = '';
|
|
||||||
|
|
||||||
switch ( button ) {
|
|
||||||
case 'ellipsis':
|
|
||||||
btnDisplay = '…';
|
|
||||||
btnClass = 'disabled';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'first':
|
|
||||||
btnDisplay = lang.sFirst;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'previous':
|
|
||||||
btnDisplay = lang.sPrevious;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'next':
|
|
||||||
btnDisplay = lang.sNext;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'last':
|
|
||||||
btnDisplay = lang.sLast;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
btnDisplay = button + 1;
|
|
||||||
btnClass = page === button ?
|
|
||||||
'active' : '';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( btnDisplay ) {
|
|
||||||
node = $('<li>', {
|
|
||||||
'class': classes.sPageButton+' '+btnClass,
|
|
||||||
'id': idx === 0 && typeof button === 'string' ?
|
|
||||||
settings.sTableId +'_'+ button :
|
|
||||||
null
|
|
||||||
} )
|
|
||||||
.append( $('<a>', {
|
|
||||||
'href': '#',
|
|
||||||
'aria-controls': settings.sTableId,
|
|
||||||
'aria-label': aria[ button ],
|
|
||||||
'data-dt-idx': counter,
|
|
||||||
'tabindex': settings.iTabIndex
|
|
||||||
} )
|
|
||||||
.html( btnDisplay )
|
|
||||||
)
|
|
||||||
.appendTo( container );
|
|
||||||
|
|
||||||
settings.oApi._fnBindAction(
|
|
||||||
node, {action: button}, clickHandler
|
|
||||||
);
|
|
||||||
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||||
// inside an iframe or frame.
|
|
||||||
var activeEl;
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Because this approach is destroying and recreating the paging
|
|
||||||
// elements, focus is lost on the select button which is bad for
|
|
||||||
// accessibility. So we want to restore focus once the draw has
|
|
||||||
// completed
|
|
||||||
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
|
||||||
}
|
|
||||||
catch (e) {}
|
|
||||||
|
|
||||||
attach(
|
|
||||||
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
|
||||||
buttons
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( activeEl !== undefined ) {
|
|
||||||
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable;
|
|
||||||
}));
|
|
@ -1,8 +0,0 @@
|
|||||||
/*!
|
|
||||||
DataTables Bootstrap 3 integration
|
|
||||||
©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,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,m){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"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,s,j,n){var o=new f.Api(a),t=a.oClasses,k=a.oLanguage.oPaginate,u=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=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":t.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+"_"+c:null}).append(b("<a>",{href:"#",
|
|
||||||
"aria-controls":a.sTableId,"aria-label":u[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(v){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),s);i!==m&&b(h).find("[data-dt-idx="+i+"]").focus()};return f});
|
|
184
vendor/datatables/js/dataTables.bootstrap4.js
vendored
@ -1,184 +0,0 @@
|
|||||||
/*! DataTables Bootstrap 3 integration
|
|
||||||
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
|
||||||
* DataTables 1.10 or newer.
|
|
||||||
*
|
|
||||||
* This file sets the defaults and adds options to DataTables to style its
|
|
||||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||||
* for further information.
|
|
||||||
*/
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
// Require DataTables, which attaches to jQuery, including
|
|
||||||
// jQuery if needed and have a $ property so we can access the
|
|
||||||
// jQuery object that is used
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
/* Set the defaults for DataTables initialisation */
|
|
||||||
$.extend( true, DataTable.defaults, {
|
|
||||||
dom:
|
|
||||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" +
|
|
||||||
"<'row'<'col-sm-12'tr>>" +
|
|
||||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
|
|
||||||
renderer: 'bootstrap'
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Default class modification */
|
|
||||||
$.extend( DataTable.ext.classes, {
|
|
||||||
sWrapper: "dataTables_wrapper container-fluid dt-bootstrap4",
|
|
||||||
sFilterInput: "form-control form-control-sm",
|
|
||||||
sLengthSelect: "form-control form-control-sm",
|
|
||||||
sProcessing: "dataTables_processing card",
|
|
||||||
sPageButton: "paginate_button page-item"
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Bootstrap paging button renderer */
|
|
||||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
|
||||||
var api = new DataTable.Api( settings );
|
|
||||||
var classes = settings.oClasses;
|
|
||||||
var lang = settings.oLanguage.oPaginate;
|
|
||||||
var aria = settings.oLanguage.oAria.paginate || {};
|
|
||||||
var btnDisplay, btnClass, counter=0;
|
|
||||||
|
|
||||||
var attach = function( container, buttons ) {
|
|
||||||
var i, ien, node, button;
|
|
||||||
var clickHandler = function ( e ) {
|
|
||||||
e.preventDefault();
|
|
||||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
|
||||||
api.page( e.data.action ).draw( 'page' );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
|
||||||
button = buttons[i];
|
|
||||||
|
|
||||||
if ( $.isArray( button ) ) {
|
|
||||||
attach( container, button );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
btnDisplay = '';
|
|
||||||
btnClass = '';
|
|
||||||
|
|
||||||
switch ( button ) {
|
|
||||||
case 'ellipsis':
|
|
||||||
btnDisplay = '…';
|
|
||||||
btnClass = 'disabled';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'first':
|
|
||||||
btnDisplay = lang.sFirst;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'previous':
|
|
||||||
btnDisplay = lang.sPrevious;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'next':
|
|
||||||
btnDisplay = lang.sNext;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'last':
|
|
||||||
btnDisplay = lang.sLast;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
btnDisplay = button + 1;
|
|
||||||
btnClass = page === button ?
|
|
||||||
'active' : '';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( btnDisplay ) {
|
|
||||||
node = $('<li>', {
|
|
||||||
'class': classes.sPageButton+' '+btnClass,
|
|
||||||
'id': idx === 0 && typeof button === 'string' ?
|
|
||||||
settings.sTableId +'_'+ button :
|
|
||||||
null
|
|
||||||
} )
|
|
||||||
.append( $('<a>', {
|
|
||||||
'href': '#',
|
|
||||||
'aria-controls': settings.sTableId,
|
|
||||||
'aria-label': aria[ button ],
|
|
||||||
'data-dt-idx': counter,
|
|
||||||
'tabindex': settings.iTabIndex,
|
|
||||||
'class': 'page-link'
|
|
||||||
} )
|
|
||||||
.html( btnDisplay )
|
|
||||||
)
|
|
||||||
.appendTo( container );
|
|
||||||
|
|
||||||
settings.oApi._fnBindAction(
|
|
||||||
node, {action: button}, clickHandler
|
|
||||||
);
|
|
||||||
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||||
// inside an iframe or frame.
|
|
||||||
var activeEl;
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Because this approach is destroying and recreating the paging
|
|
||||||
// elements, focus is lost on the select button which is bad for
|
|
||||||
// accessibility. So we want to restore focus once the draw has
|
|
||||||
// completed
|
|
||||||
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
|
||||||
}
|
|
||||||
catch (e) {}
|
|
||||||
|
|
||||||
attach(
|
|
||||||
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
|
||||||
buttons
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( activeEl !== undefined ) {
|
|
||||||
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable;
|
|
||||||
}));
|
|
@ -1,8 +0,0 @@
|
|||||||
/*!
|
|
||||||
DataTables Bootstrap 3 integration
|
|
||||||
©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,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,m){var f=b.fn.dataTable;b.extend(!0,f.defaults,{dom:"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
|
|
||||||
renderer:"bootstrap"});b.extend(f.ext.classes,{sWrapper:"dataTables_wrapper container-fluid dt-bootstrap4",sFilterInput:"form-control form-control-sm",sLengthSelect:"form-control form-control-sm",sProcessing:"dataTables_processing card",sPageButton:"paginate_button page-item"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,s,j,n){var o=new f.Api(a),t=a.oClasses,k=a.oLanguage.oPaginate,u=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=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":t.sPageButton+" "+g,id:0===r&&
|
|
||||||
"string"===typeof c?a.sTableId+"_"+c:null}).append(b("<a>",{href:"#","aria-controls":a.sTableId,"aria-label":u[c],"data-dt-idx":p,tabindex:a.iTabIndex,"class":"page-link"}).html(e)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(d.activeElement).data("dt-idx")}catch(v){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),s);i!==m&&b(h).find("[data-dt-idx="+i+"]").focus()};return f});
|
|
174
vendor/datatables/js/dataTables.foundation.js
vendored
@ -1,174 +0,0 @@
|
|||||||
/*! DataTables Foundation integration
|
|
||||||
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DataTables integration for Foundation. This requires Foundation 5 and
|
|
||||||
* DataTables 1.10 or newer.
|
|
||||||
*
|
|
||||||
* This file sets the defaults and adds options to DataTables to style its
|
|
||||||
* controls using Foundation. See http://datatables.net/manual/styling/foundation
|
|
||||||
* for further information.
|
|
||||||
*/
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
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, {
|
|
||||||
sWrapper: "dataTables_wrapper dt-foundation",
|
|
||||||
sProcessing: "dataTables_processing panel callout"
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Set the defaults for DataTables initialisation */
|
|
||||||
$.extend( true, DataTable.defaults, {
|
|
||||||
dom:
|
|
||||||
"<'row'<'small-6 columns'l><'small-6 columns'f>r>"+
|
|
||||||
"t"+
|
|
||||||
"<'row'<'small-6 columns'i><'small-6 columns'p>>",
|
|
||||||
renderer: 'foundation'
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Page button renderer */
|
|
||||||
DataTable.ext.renderer.pageButton.foundation = function ( settings, host, idx, buttons, page, pages ) {
|
|
||||||
var api = new DataTable.Api( settings );
|
|
||||||
var classes = settings.oClasses;
|
|
||||||
var lang = settings.oLanguage.oPaginate;
|
|
||||||
var aria = settings.oLanguage.oAria.paginate || {};
|
|
||||||
var btnDisplay, btnClass;
|
|
||||||
var tag;
|
|
||||||
var v5 = DataTable.ext.foundationVersion === 5;
|
|
||||||
|
|
||||||
var attach = function( container, buttons ) {
|
|
||||||
var i, ien, node, button;
|
|
||||||
var clickHandler = function ( e ) {
|
|
||||||
e.preventDefault();
|
|
||||||
if ( !$(e.currentTarget).hasClass('unavailable') && api.page() != e.data.action ) {
|
|
||||||
api.page( e.data.action ).draw( 'page' );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
|
||||||
button = buttons[i];
|
|
||||||
|
|
||||||
if ( $.isArray( button ) ) {
|
|
||||||
attach( container, button );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
btnDisplay = '';
|
|
||||||
btnClass = '';
|
|
||||||
tag = null;
|
|
||||||
|
|
||||||
switch ( button ) {
|
|
||||||
case 'ellipsis':
|
|
||||||
btnDisplay = '…';
|
|
||||||
btnClass = 'unavailable disabled';
|
|
||||||
tag = null;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'first':
|
|
||||||
btnDisplay = lang.sFirst;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' unavailable disabled');
|
|
||||||
tag = page > 0 ? 'a' : null;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'previous':
|
|
||||||
btnDisplay = lang.sPrevious;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' unavailable disabled');
|
|
||||||
tag = page > 0 ? 'a' : null;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'next':
|
|
||||||
btnDisplay = lang.sNext;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' unavailable disabled');
|
|
||||||
tag = page < pages-1 ? 'a' : null;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'last':
|
|
||||||
btnDisplay = lang.sLast;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' unavailable disabled');
|
|
||||||
tag = page < pages-1 ? 'a' : null;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
btnDisplay = button + 1;
|
|
||||||
btnClass = page === button ?
|
|
||||||
'current' : '';
|
|
||||||
tag = page === button ?
|
|
||||||
null : 'a';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( v5 ) {
|
|
||||||
tag = 'a';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( btnDisplay ) {
|
|
||||||
node = $('<li>', {
|
|
||||||
'class': classes.sPageButton+' '+btnClass,
|
|
||||||
'aria-controls': settings.sTableId,
|
|
||||||
'aria-label': aria[ button ],
|
|
||||||
'tabindex': settings.iTabIndex,
|
|
||||||
'id': idx === 0 && typeof button === 'string' ?
|
|
||||||
settings.sTableId +'_'+ button :
|
|
||||||
null
|
|
||||||
} )
|
|
||||||
.append( tag ?
|
|
||||||
$('<'+tag+'/>', {'href': '#'} ).html( btnDisplay ) :
|
|
||||||
btnDisplay
|
|
||||||
)
|
|
||||||
.appendTo( container );
|
|
||||||
|
|
||||||
settings.oApi._fnBindAction(
|
|
||||||
node, {action: button}, clickHandler
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
attach(
|
|
||||||
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
|
||||||
buttons
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable;
|
|
||||||
}));
|
|
@ -1,8 +0,0 @@
|
|||||||
/*!
|
|
||||||
DataTables Foundation integration
|
|
||||||
©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,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,
|
|
||||||
{sWrapper:"dataTables_wrapper dt-foundation",sProcessing:"dataTables_processing panel callout"});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")&&
|
|
||||||
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?
|
|
||||||
"":" 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});
|
|
164
vendor/datatables/js/dataTables.jqueryui.js
vendored
@ -1,164 +0,0 @@
|
|||||||
/*! DataTables jQuery UI integration
|
|
||||||
* ©2011-2014 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DataTables integration for jQuery UI. This requires jQuery UI and
|
|
||||||
* DataTables 1.10 or newer.
|
|
||||||
*
|
|
||||||
* This file sets the defaults and adds options to DataTables to style its
|
|
||||||
* controls using jQuery UI. See http://datatables.net/manual/styling/jqueryui
|
|
||||||
* for further information.
|
|
||||||
*/
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
var sort_prefix = 'css_right ui-icon ui-icon-';
|
|
||||||
var toolbar_prefix = 'fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-';
|
|
||||||
|
|
||||||
/* Set the defaults for DataTables initialisation */
|
|
||||||
$.extend( true, DataTable.defaults, {
|
|
||||||
dom:
|
|
||||||
'<"'+toolbar_prefix+'tl ui-corner-tr"lfr>'+
|
|
||||||
't'+
|
|
||||||
'<"'+toolbar_prefix+'bl ui-corner-br"ip>',
|
|
||||||
renderer: 'jqueryui'
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
$.extend( DataTable.ext.classes, {
|
|
||||||
"sWrapper": "dataTables_wrapper dt-jqueryui",
|
|
||||||
|
|
||||||
/* Full numbers paging buttons */
|
|
||||||
"sPageButton": "fg-button ui-button ui-state-default",
|
|
||||||
"sPageButtonActive": "ui-state-disabled",
|
|
||||||
"sPageButtonDisabled": "ui-state-disabled",
|
|
||||||
|
|
||||||
/* Features */
|
|
||||||
"sPaging": "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi "+
|
|
||||||
"ui-buttonset-multi paging_", /* Note that the type is postfixed */
|
|
||||||
|
|
||||||
/* Sorting */
|
|
||||||
"sSortAsc": "ui-state-default sorting_asc",
|
|
||||||
"sSortDesc": "ui-state-default sorting_desc",
|
|
||||||
"sSortable": "ui-state-default sorting",
|
|
||||||
"sSortableAsc": "ui-state-default sorting_asc_disabled",
|
|
||||||
"sSortableDesc": "ui-state-default sorting_desc_disabled",
|
|
||||||
"sSortableNone": "ui-state-default sorting_disabled",
|
|
||||||
"sSortIcon": "DataTables_sort_icon",
|
|
||||||
|
|
||||||
/* Scrolling */
|
|
||||||
"sScrollHead": "dataTables_scrollHead "+"ui-state-default",
|
|
||||||
"sScrollFoot": "dataTables_scrollFoot "+"ui-state-default",
|
|
||||||
|
|
||||||
/* Misc */
|
|
||||||
"sHeaderTH": "ui-state-default",
|
|
||||||
"sFooterTH": "ui-state-default"
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
DataTable.ext.renderer.header.jqueryui = function ( settings, cell, column, classes ) {
|
|
||||||
// Calculate what the unsorted class should be
|
|
||||||
var noSortAppliedClass = sort_prefix+'caret-2-n-s';
|
|
||||||
var asc = $.inArray('asc', column.asSorting) !== -1;
|
|
||||||
var desc = $.inArray('desc', column.asSorting) !== -1;
|
|
||||||
|
|
||||||
if ( !column.bSortable || (!asc && !desc) ) {
|
|
||||||
noSortAppliedClass = '';
|
|
||||||
}
|
|
||||||
else if ( asc && !desc ) {
|
|
||||||
noSortAppliedClass = sort_prefix+'caret-1-n';
|
|
||||||
}
|
|
||||||
else if ( !asc && desc ) {
|
|
||||||
noSortAppliedClass = sort_prefix+'caret-1-s';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Setup the DOM structure
|
|
||||||
$('<div/>')
|
|
||||||
.addClass( 'DataTables_sort_wrapper' )
|
|
||||||
.append( cell.contents() )
|
|
||||||
.append( $('<span/>')
|
|
||||||
.addClass( classes.sSortIcon+' '+noSortAppliedClass )
|
|
||||||
)
|
|
||||||
.appendTo( cell );
|
|
||||||
|
|
||||||
// Attach a sort listener to update on sort
|
|
||||||
$(settings.nTable).on( 'order.dt', function ( e, ctx, sorting, columns ) {
|
|
||||||
if ( settings !== ctx ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var colIdx = column.idx;
|
|
||||||
|
|
||||||
cell
|
|
||||||
.removeClass( classes.sSortAsc +" "+classes.sSortDesc )
|
|
||||||
.addClass( columns[ colIdx ] == 'asc' ?
|
|
||||||
classes.sSortAsc : columns[ colIdx ] == 'desc' ?
|
|
||||||
classes.sSortDesc :
|
|
||||||
column.sSortingClass
|
|
||||||
);
|
|
||||||
|
|
||||||
cell
|
|
||||||
.find( 'span.'+classes.sSortIcon )
|
|
||||||
.removeClass(
|
|
||||||
sort_prefix+'triangle-1-n' +" "+
|
|
||||||
sort_prefix+'triangle-1-s' +" "+
|
|
||||||
sort_prefix+'caret-2-n-s' +" "+
|
|
||||||
sort_prefix+'caret-1-n' +" "+
|
|
||||||
sort_prefix+'caret-1-s'
|
|
||||||
)
|
|
||||||
.addClass( columns[ colIdx ] == 'asc' ?
|
|
||||||
sort_prefix+'triangle-1-n' : columns[ colIdx ] == 'desc' ?
|
|
||||||
sort_prefix+'triangle-1-s' :
|
|
||||||
noSortAppliedClass
|
|
||||||
);
|
|
||||||
} );
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TableTools jQuery UI compatibility
|
|
||||||
* Required TableTools 2.1+
|
|
||||||
*/
|
|
||||||
if ( DataTable.TableTools ) {
|
|
||||||
$.extend( true, DataTable.TableTools.classes, {
|
|
||||||
"container": "DTTT_container ui-buttonset ui-buttonset-multi",
|
|
||||||
"buttons": {
|
|
||||||
"normal": "DTTT_button ui-button ui-state-default"
|
|
||||||
},
|
|
||||||
"collection": {
|
|
||||||
"container": "DTTT_collection ui-buttonset ui-buttonset-multi"
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable;
|
|
||||||
}));
|
|
@ -1,9 +0,0 @@
|
|||||||
/*!
|
|
||||||
DataTables jQuery UI integration
|
|
||||||
©2011-2014 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,d){b||(b=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(b,d).$;return a(d,b,b.document)}:a(jQuery,window,document)})(function(a){var b=a.fn.dataTable;a.extend(!0,b.defaults,{dom:'<"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-tl ui-corner-tr"lfr>t<"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-bl ui-corner-br"ip>',
|
|
||||||
renderer:"jqueryui"});a.extend(b.ext.classes,{sWrapper:"dataTables_wrapper dt-jqueryui",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:"ui-state-default sorting_asc",sSortDesc:"ui-state-default sorting_desc",sSortable:"ui-state-default sorting",sSortableAsc:"ui-state-default sorting_asc_disabled",sSortableDesc:"ui-state-default sorting_desc_disabled",
|
|
||||||
sSortableNone:"ui-state-default sorting_disabled",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead ui-state-default",sScrollFoot:"dataTables_scrollFoot ui-state-default",sHeaderTH:"ui-state-default",sFooterTH:"ui-state-default"});b.ext.renderer.header.jqueryui=function(b,h,e,c){var f="css_right ui-icon ui-icon-caret-2-n-s",g=-1!==a.inArray("asc",e.asSorting),i=-1!==a.inArray("desc",e.asSorting);!e.bSortable||!g&&!i?f="":g&&!i?f="css_right ui-icon ui-icon-caret-1-n":!g&&i&&(f="css_right ui-icon ui-icon-caret-1-s");
|
|
||||||
a("<div/>").addClass("DataTables_sort_wrapper").append(h.contents()).append(a("<span/>").addClass(c.sSortIcon+" "+f)).appendTo(h);a(b.nTable).on("order.dt",function(a,g,i,j){b===g&&(a=e.idx,h.removeClass(c.sSortAsc+" "+c.sSortDesc).addClass("asc"==j[a]?c.sSortAsc:"desc"==j[a]?c.sSortDesc:e.sSortingClass),h.find("span."+c.sSortIcon).removeClass("css_right ui-icon ui-icon-triangle-1-n css_right ui-icon ui-icon-triangle-1-s css_right ui-icon ui-icon-caret-2-n-s css_right ui-icon ui-icon-caret-1-n css_right ui-icon ui-icon-caret-1-s").addClass("asc"==
|
|
||||||
j[a]?"css_right ui-icon ui-icon-triangle-1-n":"desc"==j[a]?"css_right ui-icon ui-icon-triangle-1-s":f))})};b.TableTools&&a.extend(!0,b.TableTools.classes,{container:"DTTT_container ui-buttonset ui-buttonset-multi",buttons:{normal:"DTTT_button ui-button ui-state-default"},collection:{container:"DTTT_collection ui-buttonset ui-buttonset-multi"}});return b});
|
|
191
vendor/datatables/js/dataTables.material.js
vendored
@ -1,191 +0,0 @@
|
|||||||
/*! DataTables Bootstrap 3 integration
|
|
||||||
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
|
||||||
* DataTables 1.10 or newer.
|
|
||||||
*
|
|
||||||
* This file sets the defaults and adds options to DataTables to style its
|
|
||||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||||
* for further information.
|
|
||||||
*/
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
// Require DataTables, which attaches to jQuery, including
|
|
||||||
// jQuery if needed and have a $ property so we can access the
|
|
||||||
// jQuery object that is used
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
/* Set the defaults for DataTables initialisation */
|
|
||||||
$.extend( true, DataTable.defaults, {
|
|
||||||
dom:
|
|
||||||
"<'mdl-grid'"+
|
|
||||||
"<'mdl-cell mdl-cell--6-col'l>"+
|
|
||||||
"<'mdl-cell mdl-cell--6-col'f>"+
|
|
||||||
">"+
|
|
||||||
"<'mdl-grid dt-table'"+
|
|
||||||
"<'mdl-cell mdl-cell--12-col'tr>"+
|
|
||||||
">"+
|
|
||||||
"<'mdl-grid'"+
|
|
||||||
"<'mdl-cell mdl-cell--4-col'i>"+
|
|
||||||
"<'mdl-cell mdl-cell--8-col'p>"+
|
|
||||||
">",
|
|
||||||
renderer: 'material'
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Default class modification */
|
|
||||||
$.extend( DataTable.ext.classes, {
|
|
||||||
sWrapper: "dataTables_wrapper form-inline dt-material",
|
|
||||||
sFilterInput: "form-control input-sm",
|
|
||||||
sLengthSelect: "form-control input-sm",
|
|
||||||
sProcessing: "dataTables_processing panel panel-default"
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Bootstrap paging button renderer */
|
|
||||||
DataTable.ext.renderer.pageButton.material = function ( settings, host, idx, buttons, page, pages ) {
|
|
||||||
var api = new DataTable.Api( settings );
|
|
||||||
var classes = settings.oClasses;
|
|
||||||
var lang = settings.oLanguage.oPaginate;
|
|
||||||
var aria = settings.oLanguage.oAria.paginate || {};
|
|
||||||
var btnDisplay, btnClass, counter=0;
|
|
||||||
|
|
||||||
var attach = function( container, buttons ) {
|
|
||||||
var i, ien, node, button, disabled, active;
|
|
||||||
var clickHandler = function ( e ) {
|
|
||||||
e.preventDefault();
|
|
||||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
|
||||||
api.page( e.data.action ).draw( 'page' );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
|
||||||
button = buttons[i];
|
|
||||||
|
|
||||||
if ( $.isArray( button ) ) {
|
|
||||||
attach( container, button );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
btnDisplay = '';
|
|
||||||
active = false;
|
|
||||||
|
|
||||||
switch ( button ) {
|
|
||||||
case 'ellipsis':
|
|
||||||
btnDisplay = '…';
|
|
||||||
btnClass = 'disabled';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'first':
|
|
||||||
btnDisplay = lang.sFirst;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'previous':
|
|
||||||
btnDisplay = lang.sPrevious;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'next':
|
|
||||||
btnDisplay = lang.sNext;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'last':
|
|
||||||
btnDisplay = lang.sLast;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
btnDisplay = button + 1;
|
|
||||||
btnClass = '';
|
|
||||||
active = page === button;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( active ) {
|
|
||||||
btnClass += ' mdl-button--raised mdl-button--colored';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( btnDisplay ) {
|
|
||||||
node = $('<button>', {
|
|
||||||
'class': 'mdl-button '+btnClass,
|
|
||||||
'id': idx === 0 && typeof button === 'string' ?
|
|
||||||
settings.sTableId +'_'+ button :
|
|
||||||
null,
|
|
||||||
'aria-controls': settings.sTableId,
|
|
||||||
'aria-label': aria[ button ],
|
|
||||||
'data-dt-idx': counter,
|
|
||||||
'tabindex': settings.iTabIndex,
|
|
||||||
'disabled': btnClass.indexOf('disabled') !== -1
|
|
||||||
} )
|
|
||||||
.html( btnDisplay )
|
|
||||||
.appendTo( container );
|
|
||||||
|
|
||||||
settings.oApi._fnBindAction(
|
|
||||||
node, {action: button}, clickHandler
|
|
||||||
);
|
|
||||||
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||||
// inside an iframe or frame.
|
|
||||||
var activeEl;
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Because this approach is destroying and recreating the paging
|
|
||||||
// elements, focus is lost on the select button which is bad for
|
|
||||||
// accessibility. So we want to restore focus once the draw has
|
|
||||||
// completed
|
|
||||||
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
|
||||||
}
|
|
||||||
catch (e) {}
|
|
||||||
|
|
||||||
attach(
|
|
||||||
$(host).empty().html('<div class="pagination"/>').children(),
|
|
||||||
buttons
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( activeEl !== undefined ) {
|
|
||||||
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable;
|
|
||||||
}));
|
|
@ -1,8 +0,0 @@
|
|||||||
/*!
|
|
||||||
DataTables Bootstrap 3 integration
|
|
||||||
©2011-2015 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return c(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 c(d,a,a.document)}:c(jQuery,window,document)})(function(c,a,d,r){var g=c.fn.dataTable;c.extend(!0,g.defaults,{dom:"<'mdl-grid'<'mdl-cell mdl-cell--6-col'l><'mdl-cell mdl-cell--6-col'f>><'mdl-grid dt-table'<'mdl-cell mdl-cell--12-col'tr>><'mdl-grid'<'mdl-cell mdl-cell--4-col'i><'mdl-cell mdl-cell--8-col'p>>",
|
|
||||||
renderer:"material"});c.extend(g.ext.classes,{sWrapper:"dataTables_wrapper form-inline dt-material",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm",sProcessing:"dataTables_processing panel panel-default"});g.ext.renderer.pageButton.material=function(a,h,s,t,i,n){var o=new g.Api(a),l=a.oLanguage.oPaginate,u=a.oLanguage.oAria.paginate||{},f,e,p=0,q=function(d,g){var m,h,j,b,k=function(a){a.preventDefault();!c(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&
|
|
||||||
o.page(a.data.action).draw("page")};m=0;for(h=g.length;m<h;m++)if(b=g[m],c.isArray(b))q(d,b);else{f="";j=!1;switch(b){case "ellipsis":f="…";e="disabled";break;case "first":f=l.sFirst;e=b+(0<i?"":" disabled");break;case "previous":f=l.sPrevious;e=b+(0<i?"":" disabled");break;case "next":f=l.sNext;e=b+(i<n-1?"":" disabled");break;case "last":f=l.sLast;e=b+(i<n-1?"":" disabled");break;default:f=b+1,e="",j=i===b}j&&(e+=" mdl-button--raised mdl-button--colored");f&&(j=c("<button>",{"class":"mdl-button "+
|
|
||||||
e,id:0===s&&"string"===typeof b?a.sTableId+"_"+b:null,"aria-controls":a.sTableId,"aria-label":u[b],"data-dt-idx":p,tabindex:a.iTabIndex,disabled:-1!==e.indexOf("disabled")}).html(f).appendTo(d),a.oApi._fnBindAction(j,{action:b},k),p++)}},k;try{k=c(h).find(d.activeElement).data("dt-idx")}catch(v){}q(c(h).empty().html('<div class="pagination"/>').children(),t);k!==r&&c(h).find("[data-dt-idx="+k+"]").focus()};return g});
|
|
208
vendor/datatables/js/dataTables.semanticui.js
vendored
@ -1,208 +0,0 @@
|
|||||||
/*! DataTables Bootstrap 3 integration
|
|
||||||
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
|
||||||
* DataTables 1.10 or newer.
|
|
||||||
*
|
|
||||||
* This file sets the defaults and adds options to DataTables to style its
|
|
||||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|
||||||
* for further information.
|
|
||||||
*/
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
// Require DataTables, which attaches to jQuery, including
|
|
||||||
// jQuery if needed and have a $ property so we can access the
|
|
||||||
// jQuery object that is used
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
/* Set the defaults for DataTables initialisation */
|
|
||||||
$.extend( true, DataTable.defaults, {
|
|
||||||
dom:
|
|
||||||
"<'ui stackable grid'"+
|
|
||||||
"<'row'"+
|
|
||||||
"<'eight wide column'l>"+
|
|
||||||
"<'right aligned eight wide column'f>"+
|
|
||||||
">"+
|
|
||||||
"<'row dt-table'"+
|
|
||||||
"<'sixteen wide column'tr>"+
|
|
||||||
">"+
|
|
||||||
"<'row'"+
|
|
||||||
"<'seven wide column'i>"+
|
|
||||||
"<'right aligned nine wide column'p>"+
|
|
||||||
">"+
|
|
||||||
">",
|
|
||||||
renderer: 'semanticUI'
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Default class modification */
|
|
||||||
$.extend( DataTable.ext.classes, {
|
|
||||||
sWrapper: "dataTables_wrapper dt-semanticUI",
|
|
||||||
sFilter: "dataTables_filter ui input",
|
|
||||||
sProcessing: "dataTables_processing ui segment",
|
|
||||||
sPageButton: "paginate_button item"
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Bootstrap paging button renderer */
|
|
||||||
DataTable.ext.renderer.pageButton.semanticUI = function ( settings, host, idx, buttons, page, pages ) {
|
|
||||||
var api = new DataTable.Api( settings );
|
|
||||||
var classes = settings.oClasses;
|
|
||||||
var lang = settings.oLanguage.oPaginate;
|
|
||||||
var aria = settings.oLanguage.oAria.paginate || {};
|
|
||||||
var btnDisplay, btnClass, counter=0;
|
|
||||||
|
|
||||||
var attach = function( container, buttons ) {
|
|
||||||
var i, ien, node, button;
|
|
||||||
var clickHandler = function ( e ) {
|
|
||||||
e.preventDefault();
|
|
||||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
|
||||||
api.page( e.data.action ).draw( 'page' );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
|
||||||
button = buttons[i];
|
|
||||||
|
|
||||||
if ( $.isArray( button ) ) {
|
|
||||||
attach( container, button );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
btnDisplay = '';
|
|
||||||
btnClass = '';
|
|
||||||
|
|
||||||
switch ( button ) {
|
|
||||||
case 'ellipsis':
|
|
||||||
btnDisplay = '…';
|
|
||||||
btnClass = 'disabled';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'first':
|
|
||||||
btnDisplay = lang.sFirst;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'previous':
|
|
||||||
btnDisplay = lang.sPrevious;
|
|
||||||
btnClass = button + (page > 0 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'next':
|
|
||||||
btnDisplay = lang.sNext;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'last':
|
|
||||||
btnDisplay = lang.sLast;
|
|
||||||
btnClass = button + (page < pages-1 ?
|
|
||||||
'' : ' disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
btnDisplay = button + 1;
|
|
||||||
btnClass = page === button ?
|
|
||||||
'active' : '';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
var tag = btnClass.indexOf( 'disabled' ) === -1 ?
|
|
||||||
'a' :
|
|
||||||
'div';
|
|
||||||
|
|
||||||
if ( btnDisplay ) {
|
|
||||||
node = $('<'+tag+'>', {
|
|
||||||
'class': classes.sPageButton+' '+btnClass,
|
|
||||||
'id': idx === 0 && typeof button === 'string' ?
|
|
||||||
settings.sTableId +'_'+ button :
|
|
||||||
null,
|
|
||||||
'href': '#',
|
|
||||||
'aria-controls': settings.sTableId,
|
|
||||||
'aria-label': aria[ button ],
|
|
||||||
'data-dt-idx': counter,
|
|
||||||
'tabindex': settings.iTabIndex
|
|
||||||
} )
|
|
||||||
.html( btnDisplay )
|
|
||||||
.appendTo( container );
|
|
||||||
|
|
||||||
settings.oApi._fnBindAction(
|
|
||||||
node, {action: button}, clickHandler
|
|
||||||
);
|
|
||||||
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||||
// inside an iframe or frame.
|
|
||||||
var activeEl;
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Because this approach is destroying and recreating the paging
|
|
||||||
// elements, focus is lost on the select button which is bad for
|
|
||||||
// accessibility. So we want to restore focus once the draw has
|
|
||||||
// completed
|
|
||||||
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
|
||||||
}
|
|
||||||
catch (e) {}
|
|
||||||
|
|
||||||
attach(
|
|
||||||
$(host).empty().html('<div class="ui stackable pagination menu"/>').children(),
|
|
||||||
buttons
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( activeEl !== undefined ) {
|
|
||||||
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// Javascript enhancements on table initialisation
|
|
||||||
$(document).on( 'init.dt', function (e, ctx) {
|
|
||||||
if ( e.namespace !== 'dt' ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Length menu drop down
|
|
||||||
if ( $.fn.dropdown ) {
|
|
||||||
var api = new $.fn.dataTable.Api( ctx );
|
|
||||||
|
|
||||||
$( 'div.dataTables_length select', api.table().container() ).dropdown();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable;
|
|
||||||
}));
|
|
@ -1,9 +0,0 @@
|
|||||||
/*!
|
|
||||||
DataTables Bootstrap 3 integration
|
|
||||||
©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,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,m){var e=b.fn.dataTable;b.extend(!0,e.defaults,{dom:"<'ui stackable grid'<'row'<'eight wide column'l><'right aligned eight wide column'f>><'row dt-table'<'sixteen wide column'tr>><'row'<'seven wide column'i><'right aligned nine wide column'p>>>",
|
|
||||||
renderer:"semanticUI"});b.extend(e.ext.classes,{sWrapper:"dataTables_wrapper dt-semanticUI",sFilter:"dataTables_filter ui input",sProcessing:"dataTables_processing ui segment",sPageButton:"paginate_button item"});e.ext.renderer.pageButton.semanticUI=function(h,a,r,s,j,n){var o=new e.Api(h),t=h.oClasses,k=h.oLanguage.oPaginate,u=h.oLanguage.oAria.paginate||{},f,g,p=0,q=function(a,d){var e,i,l,c,m=function(a){a.preventDefault();!b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&o.page(a.data.action).draw("page")};
|
|
||||||
e=0;for(i=d.length;e<i;e++)if(c=d[e],b.isArray(c))q(a,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":""}l=-1===g.indexOf("disabled")?"a":"div";f&&(l=b("<"+l+">",{"class":t.sPageButton+" "+g,id:0===r&&"string"===typeof c?
|
|
||||||
h.sTableId+"_"+c:null,href:"#","aria-controls":h.sTableId,"aria-label":u[c],"data-dt-idx":p,tabindex:h.iTabIndex}).html(f).appendTo(a),h.oApi._fnBindAction(l,{action:c},m),p++)}},i;try{i=b(a).find(d.activeElement).data("dt-idx")}catch(v){}q(b(a).empty().html('<div class="ui stackable pagination menu"/>').children(),s);i!==m&&b(a).find("[data-dt-idx="+i+"]").focus()};b(d).on("init.dt",function(a,d){if("dt"===a.namespace&&b.fn.dropdown){var e=new b.fn.dataTable.Api(d);b("div.dataTables_length select",
|
|
||||||
e.table().container()).dropdown()}});return e});
|
|
176
vendor/datatables/js/dataTables.uikit.js
vendored
@ -1,176 +0,0 @@
|
|||||||
/*! DataTables UIkit 3 integration
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This is a tech preview of UIKit integration with DataTables.
|
|
||||||
*/
|
|
||||||
(function( factory ){
|
|
||||||
if ( typeof define === 'function' && define.amd ) {
|
|
||||||
// AMD
|
|
||||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
|
||||||
return factory( $, window, document );
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
else if ( typeof exports === 'object' ) {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = function (root, $) {
|
|
||||||
if ( ! root ) {
|
|
||||||
root = window;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! $ || ! $.fn.dataTable ) {
|
|
||||||
// Require DataTables, which attaches to jQuery, including
|
|
||||||
// jQuery if needed and have a $ property so we can access the
|
|
||||||
// jQuery object that is used
|
|
||||||
$ = require('datatables.net')(root, $).$;
|
|
||||||
}
|
|
||||||
|
|
||||||
return factory( $, root, root.document );
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Browser
|
|
||||||
factory( jQuery, window, document );
|
|
||||||
}
|
|
||||||
}(function( $, window, document, undefined ) {
|
|
||||||
'use strict';
|
|
||||||
var DataTable = $.fn.dataTable;
|
|
||||||
|
|
||||||
|
|
||||||
/* Set the defaults for DataTables initialisation */
|
|
||||||
$.extend( true, DataTable.defaults, {
|
|
||||||
dom:
|
|
||||||
"<'row uk-grid'<'uk-width-1-2'l><'uk-width-1-2'f>>" +
|
|
||||||
"<'row uk-grid dt-merge-grid'<'uk-width-1-1'tr>>" +
|
|
||||||
"<'row uk-grid dt-merge-grid'<'uk-width-2-5'i><'uk-width-3-5'p>>",
|
|
||||||
renderer: 'uikit'
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* Default class modification */
|
|
||||||
$.extend( DataTable.ext.classes, {
|
|
||||||
sWrapper: "dataTables_wrapper uk-form dt-uikit",
|
|
||||||
sFilterInput: "uk-form-small",
|
|
||||||
sLengthSelect: "uk-form-small",
|
|
||||||
sProcessing: "dataTables_processing uk-panel"
|
|
||||||
} );
|
|
||||||
|
|
||||||
|
|
||||||
/* UIkit paging button renderer */
|
|
||||||
DataTable.ext.renderer.pageButton.uikit = function ( settings, host, idx, buttons, page, pages ) {
|
|
||||||
var api = new DataTable.Api( settings );
|
|
||||||
var classes = settings.oClasses;
|
|
||||||
var lang = settings.oLanguage.oPaginate;
|
|
||||||
var aria = settings.oLanguage.oAria.paginate || {};
|
|
||||||
var btnDisplay, btnClass, counter=0;
|
|
||||||
|
|
||||||
var attach = function( container, buttons ) {
|
|
||||||
var i, ien, node, button;
|
|
||||||
var clickHandler = function ( e ) {
|
|
||||||
e.preventDefault();
|
|
||||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
|
||||||
api.page( e.data.action ).draw( 'page' );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
|
||||||
button = buttons[i];
|
|
||||||
|
|
||||||
if ( $.isArray( button ) ) {
|
|
||||||
attach( container, button );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
btnDisplay = '';
|
|
||||||
btnClass = '';
|
|
||||||
|
|
||||||
switch ( button ) {
|
|
||||||
case 'ellipsis':
|
|
||||||
btnDisplay = '<i class="uk-icon-ellipsis-h"></i>';
|
|
||||||
btnClass = 'uk-disabled disabled';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'first':
|
|
||||||
btnDisplay = '<i class="uk-icon-angle-double-left"></i> ' + lang.sFirst;
|
|
||||||
btnClass = (page > 0 ?
|
|
||||||
'' : ' uk-disabled disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'previous':
|
|
||||||
btnDisplay = '<i class="uk-icon-angle-left"></i> ' + lang.sPrevious;
|
|
||||||
btnClass = (page > 0 ?
|
|
||||||
'' : 'uk-disabled disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'next':
|
|
||||||
btnDisplay = lang.sNext + ' <i class="uk-icon-angle-right"></i>';
|
|
||||||
btnClass = (page < pages-1 ?
|
|
||||||
'' : 'uk-disabled disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'last':
|
|
||||||
btnDisplay = lang.sLast + ' <i class="uk-icon-angle-double-right"></i>';
|
|
||||||
btnClass = (page < pages-1 ?
|
|
||||||
'' : ' uk-disabled disabled');
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
btnDisplay = button + 1;
|
|
||||||
btnClass = page === button ?
|
|
||||||
'uk-active' : '';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( btnDisplay ) {
|
|
||||||
node = $('<li>', {
|
|
||||||
'class': classes.sPageButton+' '+btnClass,
|
|
||||||
'id': idx === 0 && typeof button === 'string' ?
|
|
||||||
settings.sTableId +'_'+ button :
|
|
||||||
null
|
|
||||||
} )
|
|
||||||
.append( $(( -1 != btnClass.indexOf('disabled') || -1 != btnClass.indexOf('active') ) ? '<span>' : '<a>', {
|
|
||||||
'href': '#',
|
|
||||||
'aria-controls': settings.sTableId,
|
|
||||||
'aria-label': aria[ button ],
|
|
||||||
'data-dt-idx': counter,
|
|
||||||
'tabindex': settings.iTabIndex
|
|
||||||
} )
|
|
||||||
.html( btnDisplay )
|
|
||||||
)
|
|
||||||
.appendTo( container );
|
|
||||||
|
|
||||||
settings.oApi._fnBindAction(
|
|
||||||
node, {action: button}, clickHandler
|
|
||||||
);
|
|
||||||
|
|
||||||
counter++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|
||||||
// inside an iframe or frame.
|
|
||||||
var activeEl;
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Because this approach is destroying and recreating the paging
|
|
||||||
// elements, focus is lost on the select button which is bad for
|
|
||||||
// accessibility. So we want to restore focus once the draw has
|
|
||||||
// completed
|
|
||||||
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
|
||||||
}
|
|
||||||
catch (e) {}
|
|
||||||
|
|
||||||
attach(
|
|
||||||
$(host).empty().html('<ul class="uk-pagination uk-pagination-right"/>').children('ul'),
|
|
||||||
buttons
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( activeEl ) {
|
|
||||||
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
return DataTable;
|
|
||||||
}));
|
|
8
vendor/datatables/js/dataTables.uikit.min.js
vendored
@ -1,8 +0,0 @@
|
|||||||
/*!
|
|
||||||
DataTables UIkit 3 integration
|
|
||||||
*/
|
|
||||||
(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,c){a||(a=window);if(!c||!c.fn.dataTable)c=require("datatables.net")(a,c).$;return b(c,a,a.document)}:b(jQuery,window,document)})(function(b,a,c){var g=b.fn.dataTable;b.extend(!0,g.defaults,{dom:"<'row uk-grid'<'uk-width-1-2'l><'uk-width-1-2'f>><'row uk-grid dt-merge-grid'<'uk-width-1-1'tr>><'row uk-grid dt-merge-grid'<'uk-width-2-5'i><'uk-width-3-5'p>>",
|
|
||||||
renderer:"uikit"});b.extend(g.ext.classes,{sWrapper:"dataTables_wrapper uk-form dt-uikit",sFilterInput:"uk-form-small",sLengthSelect:"uk-form-small",sProcessing:"dataTables_processing uk-panel"});g.ext.renderer.pageButton.uikit=function(a,h,r,m,j,n){var o=new g.Api(a),s=a.oClasses,k=a.oLanguage.oPaginate,t=a.oLanguage.oAria.paginate||{},f,d,p=0,q=function(c,g){var l,h,i,e,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=g.length;l<h;l++)if(e=g[l],b.isArray(e))q(c,e);else{d=f="";switch(e){case "ellipsis":f='<i class="uk-icon-ellipsis-h"></i>';d="uk-disabled disabled";break;case "first":f='<i class="uk-icon-angle-double-left"></i> '+k.sFirst;d=0<j?"":" uk-disabled disabled";break;case "previous":f='<i class="uk-icon-angle-left"></i> '+k.sPrevious;d=0<j?"":"uk-disabled disabled";break;case "next":f=k.sNext+' <i class="uk-icon-angle-right"></i>';d=j<n-1?"":"uk-disabled disabled";break;case "last":f=k.sLast+
|
|
||||||
' <i class="uk-icon-angle-double-right"></i>';d=j<n-1?"":" uk-disabled disabled";break;default:f=e+1,d=j===e?"uk-active":""}f&&(i=b("<li>",{"class":s.sPageButton+" "+d,id:0===r&&"string"===typeof e?a.sTableId+"_"+e:null}).append(b(-1!=d.indexOf("disabled")||-1!=d.indexOf("active")?"<span>":"<a>",{href:"#","aria-controls":a.sTableId,"aria-label":t[e],"data-dt-idx":p,tabindex:a.iTabIndex}).html(f)).appendTo(c),a.oApi._fnBindAction(i,{action:e},m),p++)}},i;try{i=b(h).find(c.activeElement).data("dt-idx")}catch(u){}q(b(h).empty().html('<ul class="uk-pagination uk-pagination-right"/>').children("ul"),
|
|
||||||
m);i&&b(h).find("[data-dt-idx="+i+"]").focus()};return g});
|
|
15243
vendor/datatables/js/jquery.dataTables.js
vendored
164
vendor/datatables/js/jquery.dataTables.min.js
vendored
@ -1,164 +0,0 @@
|
|||||||
/*!
|
|
||||||
DataTables 1.10.16
|
|
||||||
©2008-2017 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,G){E||(E=window);G||(G="undefined"!==typeof window?require("jquery"):require("jquery")(E));return h(G,E,E.document)}:h(jQuery,window,document)})(function(h,E,G,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]&&X(a[e])});a._hungarianMap=d}function I(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]),I(a[d],b[d],c)):b[d]=b[e]})}function Ca(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");
|
|
||||||
a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&cb(a)}function db(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]&&I(m.models.oSearch,a[b])}function eb(a){A(a,"orderable","bSortable");A(a,"orderData","aDataSort");A(a,"orderSequence","asSorting");A(a,"orderDataType","sortDataType");var b=a.aDataSort;"number"===typeof b&&!h.isArray(b)&&(a.aDataSort=[b])}function fb(a){if(!m.__browser){var b={};m.__browser=b;var c=h("<div/>").css({position:"fixed",top:0,left:-1*h(E).scrollLeft(),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 gb(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 Da(a,b){var c=m.defaults.column,d=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:G.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&&(eb(c),I(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),c.sClass&&e.addClass(c.sClass),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)&&(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):!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;Ea(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);r(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}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 Fa(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&&g!==d.length-1)break;if("html"===q)break}if(q){l.sType=q;break}}l.sType||(l.sType="string")}}function hb(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];)Da(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]))&&d(j,n)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function M(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)&&Ga(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=Ha(a,e);return M(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});if(i===k)return a.iDrawError!=e&&null===j&&(J(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 ib(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,
|
|
||||||
d,{settings:a,row:b,col:c})}function Ia(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=Ia(f);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._);
|
|
||||||
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=Ia(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,
|
|
||||||
""),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 Ja(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 ca(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=Ha(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;Ka(a,e)}}function Ha(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("@");
|
|
||||||
-1!==c&&(c=a.substring(c+1),R(a)(d,b.getAttribute(c)))}},m=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)m(f),e.push(f);f=f.nextSibling}else{e=b.anCells;f=0;for(g=e.length;f<g;f++)m(e[f])}if(b=b.firstChild?b:b.nTr)(b=b.getAttribute("id"))&&R(a.rowId)(d,b);return{data:d,cells:e}}
|
|
||||||
function Ga(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],j,i,n,l,q;if(null===e.nTr){j=c||G.createElement("tr");e.nTr=j;e.anCells=g;j._DT_RowIndex=b;Ka(a,e);l=0;for(q=a.aoColumns.length;l<q;l++){n=a.aoColumns[l];i=c?d[l]:G.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);
|
|
||||||
n.fnCreatedCell&&n.fnCreatedCell.call(a.oInstance,i,B(a,b,l),f,b,l)}r(a,"aoRowCreatedCallback",null,[j,f,b])}e.nTr.setAttribute("role","row")}function Ka(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?qa(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 jb(a){var b,c,d,e,f,g=a.nTHead,j=a.nTFoot,i=0===
|
|
||||||
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),La(a,f.nTh,b))),f.sTitle!=d[0].innerHTML&&d.html(f.sTitle),Ma(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);
|
|
||||||
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);
|
|
||||||
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 N(a){var b=r(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,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!kb(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&&Ga(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)}r(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:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];r(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ja(a),g,n,i]);r(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ja(a),g,n,i]);d=h(a.nTBody);d.children().detach();d.append(h(b));r(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function S(a,b){var c=a.oFeatures,d=c.bFilter;
|
|
||||||
c.bSort&&lb(a);d?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;N(a);a._drawHold=!1}function mb(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,k=0;k<f.length;k++){g=null;j=f[k];if("<"==j){i=h("<div/>")[0];
|
|
||||||
n=f[k+1];if("'"==n||'"'==n){l="";for(q=2;f[k+q]!=n;)l+=f[k+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;k+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=nb(a);else if("f"==j&&d.bFilter)g=ob(a);else if("r"==j&&d.bProcessing)g=pb(a);else if("t"==j)g=qb(a);else if("i"==j&&d.bInfo)g=rb(a);else if("p"==
|
|
||||||
j&&d.bPaginate)g=sb(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,k;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++;n=g;k=1===l?!0:!1;for(j=0;j<l;j++)for(g=0;g<q;g++)a[f+g][n+j]={cell:e,unique:k},a[f+g].nTr=d}e=e.nextSibling}}}function ra(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 sa(a,b,c){r(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,j=a.oInstance,i=function(b){r(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&&J(a,0,c);a.json=b;i(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=r(a,null,"xhr",
|
|
||||||
[a,null,a.jqXHR]);-1===h.inArray(!0,d)&&("parsererror"==c?J(a,0,"Invalid JSON response",1):4===b.readyState&&J(a,0,"Ajax error",7));C(a,!1)}};a.oAjaxData=b;r(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 kb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,
|
|
||||||
!0),sa(a,tb(a),function(b){ub(a,b)}),!1):!0}function tb(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,j=[],i,n,l,k=V(a);g=a._iDisplayStart;i=!1!==d.bPaginate?a._iDisplayLength:-1;var t=function(a,b){j.push({name:a,value:b})};t("sEcho",a.iDraw);t("iColumns",c);t("sColumns",D(b,"sName").join(","));t("iDisplayStart",g);t("iDisplayLength",i);var pa={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],
|
|
||||||
l=f[g],i="function"==typeof n.mData?"function":n.mData,pa.columns.push({data:i,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:l.sSearch,regex:l.bRegex}}),t("mDataProp_"+g,i),d.bFilter&&(t("sSearch_"+g,l.sSearch),t("bRegex_"+g,l.bRegex),t("bSearchable_"+g,n.bSearchable)),d.bSort&&t("bSortable_"+g,n.bSortable);d.bFilter&&(t("sSearch",e.sSearch),t("bRegex",e.bRegex));d.bSort&&(h.each(k,function(a,b){pa.order.push({column:b.col,dir:b.dir});t("iSortCol_"+a,b.col);t("sSortDir_"+
|
|
||||||
a,b.dir)}),t("iSortingCols",k.length));b=m.ext.legacy.ajax;return null===b?a.sAjaxSource?j:pa:b?j:pa}function ub(a,b){var c=ta(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++)M(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;N(a);a._bInitComplete||
|
|
||||||
ua(a,b);a.bAjaxDataGet=!0;C(a,!1)}function ta(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 ob(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&&(fa(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,N(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===y(a)?400:0,i=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).on("keyup.DT search.DT input.DT paste.DT cut.DT",g?Na(f,g):f).on("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]!==G.activeElement&&i.val(e.sSearch)}catch(d){}});
|
|
||||||
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};Fa(a);if("ssp"!=y(a)){vb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)wb(a,e[b].sSearch,b,e[b].bEscapeRegex!==k?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);xb(a)}else f(b);a.bFiltered=!0;r(a,null,"search",[a])}function xb(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,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 wb(a,b,c,d,e,f){if(""!==b){for(var g=[],j=a.aiDisplay,d=Oa(b,d,e,f),e=0;e<j.length;e++)b=a.aoData[j[e]]._aFilterData[c],d.test(b)&&g.push(j[e]);a.aiDisplay=g}}function vb(a,b,c,d,e,f){var d=Oa(b,d,e,f),f=a.oPreviousSearch.sSearch,g=a.aiDisplayMaster,j,e=[];0!==m.ext.search.length&&(c=!0);j=yb(a);if(0>=b.length)a.aiDisplay=
|
|
||||||
g.slice();else{if(j||c||f.length>b.length||0!==b.indexOf(f)||a.bSorted)a.aiDisplay=g.slice();b=a.aiDisplay;for(c=0;c<b.length;c++)d.test(a.aoData[b[c]]._sFilterRow)&&e.push(b[c]);a.aiDisplay=e}}function Oa(a,b,c,d){a=b?a:Pa(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 yb(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<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("&")&&(va.innerHTML=i,i=Wb?va.textContent:va.innerText),i.replace&&(i=i.replace(/[\r\n]/g,"")),j.push(i);h._aFilterData=j;h._sFilterRow=j.join(" ");c=!0}return c}function zb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,
|
|
||||||
caseInsensitive:a.bCaseInsensitive}}function Ab(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function rb(a){var b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Bb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function Bb(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&&(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Cb(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Cb(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/e)))}function ga(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;var g=a.bDeferLoading;if(a.bInitialised){mb(a);jb(a);ea(a,a.aoHeader);ea(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Ea(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=v(f.sWidth));r(a,null,"preInit",[a]);S(a);e=y(a);if("ssp"!=e||g)"ajax"==e?sa(a,[],function(c){var f=ta(a,c);for(b=0;b<f.length;b++)M(a,f[b]);a.iInitDisplayStart=
|
|
||||||
d;S(a);C(a,!1);ua(a,c)},a):(C(a,!1),ua(a))}else setTimeout(function(){ga(a)},200)}function ua(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&Y(a);r(a,null,"plugin-init",[a,b]);r(a,"aoInitComplete","init",[a,b])}function Qa(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Ra(a);r(a,null,"length",[a,c])}function nb(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("number"===typeof d[g]?a.fnFormatNumber(d[g]):d[g],f[g]);var i=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).on("change.DT",function(){Qa(a,h(this).val());N(a)});h(a.nTable).on("length.dt.DT",function(b,c,d){a===c&&h("select",i).val(d)});return i[0]}function sb(a){var b=a.sPaginationType,c=m.ext.pager[b],d="function"===typeof c,e=function(a){N(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+"_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++)Ma(a,"pageButton")(a,f.p[l],l,h,b,i)}else c.fnUpdate(a,e)},sName:"pagination"}));return b}function Sa(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"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:J(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(r(a,null,"page",[a]),c&&N(a));return b}function pb(a){return h("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",
|
|
||||||
b?"block":"none");r(a,null,"processing",[a,b])}function qb(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:v(d):"100%"}).append(h("<div/>",
|
|
||||||
{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",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:v(d)}).append(b));l&&i.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:v(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")))));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=t.children("table"),o=h(a.nTHead),p=h(a.nTable),s=p[0],r=s.style,u=a.nTFoot?h(a.nTFoot):null,x=a.oBrowser,T=x.bScrollOversize,Xb=D(a.aoColumns,"nTh"),O,K,P,w,Ta=[],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};K=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==K&&a.scrollBarVis!==k)a.scrollBarVis=K,Y(a);else{a.scrollBarVis=K;p.children("thead, tfoot").remove();
|
|
||||||
u&&(P=u.clone().prependTo(p),O=u.find("tr"),P=P.find("tr"));w=o.clone().prependTo(p);o=o.find("tr");K=w.find("tr");w.find("th, td").removeAttr("tabindex");c||(q.width="100%",f[0].style.width="100%");h.each(ra(a,w),function(b,c){B=Z(a,b);c.style.width=a.aoColumns[B].sWidth});u&&H(function(a){a.style.width=""},P);f=p.outerWidth();if(""===c){r.width="100%";if(T&&(p.find("tbody").height()>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=v(p.outerWidth()-b);f=p.outerWidth()}else""!==d&&(r.width=
|
|
||||||
v(d),f=p.outerWidth());H(C,K);H(function(a){z.push(a.innerHTML);Ta.push(v(h(a).css("width")))},K);H(function(a,b){if(h.inArray(a,Xb)!==-1)a.style.width=Ta[b]},o);h(K).height(0);u&&(H(C,P),H(function(a){A.push(a.innerHTML);y.push(v(h(a).css("width")))},P),H(function(a,b){a.style.width=y[b]},O),h(P).height(0));H(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+z[b]+"</div>";a.style.width=Ta[b]},K);u&&H(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+
|
|
||||||
A[b]+"</div>";a.style.width=y[b]},P);if(p.outerWidth()<f){O=j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(T&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=v(O-b);(""===c||""!==d)&&J(a,1,"Possible column misalignment",6)}else O="100%";q.width=v(O);g.width=v(O);u&&(a.nScrollFoot.style.width=v(O));!e&&T&&(q.height=v(s.offsetHeight+b));c=p.outerWidth();n[0].style.width=v(c);i.width=v(c);d=p.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+
|
|
||||||
(x.bScrollbarLeft?"Left":"Right");i[e]=d?b+"px":"0px";u&&(m[0].style.width=v(c),t[0].style.width=v(c),t[0].style[e]=d?b+"px":"0px");p.children("colgroup").insertBefore(p.children("thead"));l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}}function H(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 Ea(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,
|
|
||||||
e=d.sY,f=d.sX,g=d.sXInner,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=Db(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=v(n.eq(m).width()));else{j=h(b).clone().css("visibility","hidden").removeAttr("id");j.find("tbody tr").remove();var s=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","");n=ra(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?v(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(Eb(a,t)).clone(!1).append(o.sContentPadding).appendTo(s);h("[name]",
|
|
||||||
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=v(k-g);b.style.width=v(e);o.remove()}l&&(b.style.width=
|
|
||||||
v(l));if((l||f)&&!a._reszEvt)b=function(){h(E).on("resize.DT-"+a.sInstance,Na(function(){Y(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0}function Db(a,b){if(!a)return 0;var c=h("<div/>").css("width",v(a)).appendTo(b||G.body),d=c[0].offsetWidth;c.remove();return d}function Eb(a,b){var c=Fb(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 Fb(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(Yb,
|
|
||||||
""),c=c.replace(/ /g," "),c.length>d&&(d=c.length,e=f);return e}function v(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||
|
|
||||||
"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 lb(a){var b,c,d=[],e=m.ext.type.order,f=a.aoData,g=0,j,i=a.aiDisplayMaster,h;Fa(a);h=V(a);b=0;for(c=h.length;b<c;b++)j=h[b],j.formatter&&g++,Gb(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];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,o=f[b]._aSortData;for(j=0;j<k;j++)if(i=h[j],c=m[i.col],g=o[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 Hb(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,
|
|
||||||
"");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 Ua(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=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);S(a);"function"==typeof d&&d(a)}function La(a,b,c,d){var e=a.aoColumns[c];Va(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Ua(a,c,b.shiftKey,d);"ssp"!==y(a)&&C(a,!1)},0)):Ua(a,c,b.shiftKey,d))})}
|
|
||||||
function wa(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(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 Gb(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],
|
|
||||||
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 xa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:zb(a.oPreviousSearch),columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:zb(a.aoPreSearchCols[d])}})};r(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,
|
|
||||||
b)}}function Ib(a,b,c){var d,e,f=a.aoColumns,b=function(b){if(b&&b.time){var g=r(a,"aoStateLoadParams","stateLoadParams",[a,b]);if(-1===h.inArray(!1,g)&&(g=a.iStateDuration,!(0<g&&b.time<+new Date-1E3*g)&&!(b.columns&&f.length!==b.columns.length))){a.oLoadedState=h.extend(!0,{},b);b.start!==k&&(a._iDisplayStart=b.start,a.iInitDisplayStart=b.start);b.length!==k&&(a._iDisplayLength=b.length);b.order!==k&&(a.aaSorting=[],h.each(b.order,function(b,c){a.aaSorting.push(c[0]>=f.length?[0,c[1]]:c)}));b.search!==
|
|
||||||
k&&h.extend(a.oPreviousSearch,Ab(b.search));if(b.columns){d=0;for(e=b.columns.length;d<e;d++)g=b.columns[d],g.visible!==k&&(f[d].bVisible=g.visible),g.search!==k&&h.extend(a.aoPreSearchCols[d],Ab(g.search))}r(a,"aoStateLoaded","stateLoaded",[a,b])}}c()};if(a.oFeatures.bStateSave){var g=a.fnStateLoadCallback.call(a.oInstance,a,b);g!==k&&b(g)}else c()}function ya(a){var b=m.settings,a=h.inArray(a,D(b,"nTable"));return-1!==a?b[a]:null}function J(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&&r(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 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 Jb(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 Va(a,b,c){h(a).on("click.DT",b,function(b){a.blur();c(b)}).on("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).on("selectstart.DT",function(){return!1})}function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function r(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 Ra(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 Ma(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 ha(a,b){var c=[],c=Kb.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"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function cb(a){h.each({num:function(b){return za(b,a)},"num-fmt":function(b){return za(b,a,Wa)},"html-num":function(b){return za(b,a,Aa)},"html-num-fmt":function(b){return za(b,a,Aa,Wa)}},function(b,c){x.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(x.type.search[b+a]=x.type.search.html)})}function Lb(a){return function(){var b=
|
|
||||||
[ya(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return m.ext.internal[a].apply(this,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 s(ya(this[x.iApiIndex])):new s(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):(""!==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,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(),[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 ya(this[x.iApiIndex])};
|
|
||||||
this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,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=x.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=x.internal;for(var e in m.ext.internal)e&&(this[e]=Lb(e));this.each(function(){var e={},g=1<d?Jb(e,a,!0):
|
|
||||||
a,j=0,i,e=this.getAttribute("id"),n=!1,l=m.defaults,q=h(this);if("table"!=this.nodeName.toLowerCase())J(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{db(l);eb(l.column);I(l,l,!0);I(l.column,l.column,!0);I(l,h.extend(g,q.data()));var t=m.settings,j=0;for(i=t.length;j<i;j++){var o=t[j];if(o.nTable==this||o.nTHead.parentNode==this||o.nTFoot&&o.nTFoot.parentNode==this){var s=g.bRetrieve!==k?g.bRetrieve:l.bRetrieve;if(c||s)return o.oInstance;if(g.bDestroy!==k?g.bDestroy:l.bDestroy){o.oInstance.fnDestroy();
|
|
||||||
break}else{J(o,0,"Cannot reinitialise DataTable",3);return}}if(o.sTableId==this.id){t.splice(j,1);break}}if(null===e||""===e)this.id=e="DataTables_Table_"+m.ext._unique++;var p=h.extend(!0,{},m.models.oSettings,{sDestroyWidth:q[0].style.width,sInstance:e,sTableId:e});p.nTable=this;p.oApi=b.internal;p.oInit=g;t.push(p);p.oInstance=1===b.length?b:q.dataTable();db(g);g.oLanguage&&Ca(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=h.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);
|
|
||||||
g=Jb(h.extend(!0,{},l),g);F(p.oFeatures,g,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));F(p,g,["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","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"]]);F(p.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);F(p.oLanguage,g,"fnInfoCallback");z(p,"aoDrawCallback",g.fnDrawCallback,"user");z(p,"aoServerParams",g.fnServerParams,"user");z(p,"aoStateSaveParams",g.fnStateSaveParams,"user");z(p,"aoStateLoadParams",g.fnStateLoadParams,"user");z(p,"aoStateLoaded",g.fnStateLoaded,"user");z(p,"aoRowCallback",
|
|
||||||
g.fnRowCallback,"user");z(p,"aoRowCreatedCallback",g.fnCreatedRow,"user");z(p,"aoHeaderCallback",g.fnHeaderCallback,"user");z(p,"aoFooterCallback",g.fnFooterCallback,"user");z(p,"aoInitComplete",g.fnInitComplete,"user");z(p,"aoPreDrawCallback",g.fnPreDrawCallback,"user");p.rowIdFn=Q(g.rowId);fb(p);var u=p.oClasses;h.extend(u,m.ext.classes,g.oClasses);q.addClass(u.sTable);p.iInitDisplayStart===k&&(p.iInitDisplayStart=g.iDisplayStart,p._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(p.bDeferLoading=
|
|
||||||
!0,e=h.isArray(g.iDeferLoading),p._iRecordsDisplay=e?g.iDeferLoading[0]:g.iDeferLoading,p._iRecordsTotal=e?g.iDeferLoading[1]:g.iDeferLoading);var v=p.oLanguage;h.extend(!0,v,g.oLanguage);v.sUrl&&(h.ajax({dataType:"json",url:v.sUrl,success:function(a){Ca(a);I(l.oLanguage,a);h.extend(true,v,a);ga(p)},error:function(){ga(p)}}),n=!0);null===g.asStripeClasses&&(p.asStripeClasses=[u.sStripeOdd,u.sStripeEven]);var e=p.asStripeClasses,x=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(e,function(a){return x.hasClass(a)}))&&
|
|
||||||
(h("tbody tr",this).removeClass(e.join(" ")),p.asDestroyStripes=e.slice());e=[];t=this.getElementsByTagName("thead");0!==t.length&&(da(p.aoHeader,t[0]),e=ra(p));if(null===g.aoColumns){t=[];j=0;for(i=e.length;j<i;j++)t.push(null)}else t=g.aoColumns;j=0;for(i=t.length;j<i;j++)Da(p,e?e[j]:null);hb(p,g.aoColumnDefs,t,function(a,b){ja(p,a,b)});if(x.length){var w=function(a,b){return a.getAttribute("data-"+b)!==null?b:null};h(x[0]).children("th, td").each(function(a,b){var c=p.aoColumns[a];if(c.mData===
|
|
||||||
a){var d=w(b,"sort")||w(b,"order"),e=w(b,"filter")||w(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(p,a)}}})}var T=p.oFeatures,e=function(){if(g.aaSorting===k){var a=p.aaSorting;j=0;for(i=a.length;j<i;j++)a[j][1]=p.aoColumns[j].asSorting[0]}wa(p);T.bSort&&z(p,"aoDrawCallback",function(){if(p.bSorted){var a=V(p),b={};h.each(a,function(a,c){b[c.src]=c.dir});r(p,null,"order",[p,a,b]);Hb(p)}});
|
|
||||||
z(p,"aoDrawCallback",function(){(p.bSorted||y(p)==="ssp"||T.bDeferRender)&&wa(p)},"sc");var a=q.children("caption").each(function(){this._captionSide=h(this).css("caption-side")}),b=q.children("thead");b.length===0&&(b=h("<thead/>").appendTo(q));p.nTHead=b[0];b=q.children("tbody");b.length===0&&(b=h("<tbody/>").appendTo(q));p.nTBody=b[0];b=q.children("tfoot");if(b.length===0&&a.length>0&&(p.oScroll.sX!==""||p.oScroll.sY!==""))b=h("<tfoot/>").appendTo(q);if(b.length===0||b.children().length===0)q.addClass(u.sNoFooter);
|
|
||||||
else if(b.length>0){p.nTFoot=b[0];da(p.aoFooter,p.nTFoot)}if(g.aaData)for(j=0;j<g.aaData.length;j++)M(p,g.aaData[j]);else(p.bDeferLoading||y(p)=="dom")&&ma(p,h(p.nTBody).children("tr"));p.aiDisplay=p.aiDisplayMaster.slice();p.bInitialised=true;n===false&&ga(p)};g.bStateSave?(T.bStateSave=!0,z(p,"aoDrawCallback",xa,"state_save"),Ib(p,g,e)):e()}});b=null;return this},x,s,o,u,Xa={},Mb=/[\r\n]/g,Aa=/<.*?>/g,Zb=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,$b=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)",
|
|
||||||
"g"),Wa=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,L=function(a){return!a||!0===a||"-"===a?!0:!1},Nb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Ob=function(a,b){Xa[b]||(Xa[b]=RegExp(Pa(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Xa[b],"."):a},Ya=function(a,b,c){var d="string"===typeof a;if(L(a))return!0;b&&d&&(a=Ob(a,b));c&&d&&(a=a.replace(Wa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Pb=function(a,b,c){return L(a)?!0:!(L(a)||"string"===
|
|
||||||
typeof a)?null:Ya(a.replace(Aa,""),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},ia=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},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},Qb=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);
|
|
||||||
return b},qa=function(a){var b;a:{if(!(2>a.length)){b=a.slice().sort();for(var c=b[0],d=1,e=b.length;d<e;d++){if(b[d]===c){b=!1;break a}c=b[d]}}b=!0}if(b)return a.slice();b=[];var 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,j=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=k;a.apply(b,j)},c)):(d=g,a.apply(b,j))}},escapeRegex:function(a){return a.replace($b,
|
|
||||||
"\\$1")}};var A=function(a,b,c){a[b]!==k&&(a[c]=a[b])},ba=/\[.*?\]$/,U=/\(\)$/,Pa=m.util.escapeRegex,va=h("<div>")[0],Wb=va.textContent!==k,Yb=/<.*?>/g,Na=m.util.throttle,Rb=[],w=Array.prototype,ac=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]]: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()};s=function(a,b){if(!(this instanceof s))return new s(a,b);var c=[],d=function(a){(a=ac(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=qa(c);b&&h.merge(this,b);this.selector={rows:null,cols:null,opts:null};s.extend(this,this,Rb)};m.Api=s;h.extend(s.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 s(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 s(this.context,b)},flatten:function(){var a=[];return new s(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,j,h,n,l=this.context,m,o,u=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);g=0;for(j=l.length;g<j;g++){var r=new s(l[g]);if("table"===b)f=c.call(r,l[g],g),f!==k&&e.push(f);else if("columns"===b||"rows"===b)f=c.call(r,l[g],this[g],g),f!==k&&e.push(f);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){o=this[g];"column-rows"===b&&(m=Ba(l[g],u.opts));h=0;for(n=o.length;h<n;h++)f=o[h],f=
|
|
||||||
"cell"===b?c.call(r,l[g],f.row,f.column,g,h):c.call(r,l[g],f,g,h,m),f!==k&&e.push(f)}}return e.length||d?(a=new s(l,a?e.concat.apply([],e):e),b=a.selector,b.rows=u.rows,b.cols=u.cols,b.opts=u.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=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new s(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 gb(this,a,b,0,this.length,1)},reduceRight:w.reduceRight||function(a,b){return gb(this,a,b,this.length-1,-1,-1)},reverse:w.reverse,selector:null,shift:w.shift,slice:function(){return new s(this.context,this)},sort:w.sort,splice:w.splice,toArray:function(){return w.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},unique:function(){return new s(this.context,qa(this))},unshift:w.unshift});s.extend=function(a,
|
|
||||||
b,c){if(c.length&&b&&(b instanceof s||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=b.apply(a,arguments);s.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,s.extend(a,b[f.name],f.propExt)}};s.register=o=function(a,b){if(h.isArray(a))for(var c=0,d=a.length;c<d;c++)s.register(a[c],b);else for(var e=a.split("."),f=Rb,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}};s.registerPlural=u=function(a,b,c){s.register(a,c);s.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof s?a.length?h.isArray(a[0])?new s(a.context,a[0]):a[0]:k:a})};o("tables()",function(a){var b;if(a){b=s;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});o("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new s(b[0]):a});u("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});u("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody},1)});u("tables().header()",
|
|
||||||
"table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});u("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});u("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});o("draw()",function(a){return this.iterator("table",function(b){"page"===a?N(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),S(b,!1===a))})});o("page()",function(a){return a===
|
|
||||||
k?this.page.info().page:this.iterator("table",function(b){Sa(b,a)})});o("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,serverSide:"ssp"===y(a)}});o("page.len()",function(a){return a===k?0!==this.context.length?this.context[0]._iDisplayLength:
|
|
||||||
k:this.iterator("table",function(b){Qa(b,a)})});var Sb=function(a,b,c){if(c){var d=new s(a);d.one("draw",function(){c(d.ajax.json())})}if("ssp"==y(a))S(a,b);else{C(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();sa(a,[],function(c){na(a);for(var c=ta(a,c),d=0,e=c.length;d<e;d++)M(a,c[d]);S(a,b);C(a,!1)})}};o("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});o("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});o("ajax.reload()",function(a,
|
|
||||||
b){return this.iterator("table",function(c){Sb(c,!1===b,a)})});o("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})});o("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Sb(c,!1===b,a)})});var Za=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].match(/[\[\(:]/)?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=x.selector[a];if(a.length){i=0;for(n=a.length;i<n;i++)f=a[i](d,e,f)}return qa(f)},$a=function(a){a||(a={});a.filter&&a.search===k&&(a.search=a.filter);return h.extend({search:"none",order:"current",page:"all"},a)},ab=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===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};o("rows()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=$a(b),c=this.iterator("table",function(c){var e=b,f;return Za("row",a,function(a){var b=Nb(a);if(b!==null&&!e)return[b];f||(f=Ba(c,e));if(b!==null&&h.inArray(b,f)!==-1)return[b];if(a===null||a===k||a==="")return f;if(typeof a==="function")return h.map(f,function(b){var e=c.aoData[b];return a(b,e._aData,e.nTr)?b:null});
|
|
||||||
b=Qb(ia(c.aoData,f,"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)==="#"){var i=c.aIds[a.replace(/^#/,"")];if(i!==k)return[i.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});o("rows().nodes()",function(){return this.iterator("row",function(a,
|
|
||||||
b){return a.aoData[b].nTr||k},1)});o("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return ia(a.aoData,b,"_aData")},1)});u("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData},1)});u("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){ca(b,c,a)})});u("rows().indexes()","row().index()",function(){return this.iterator("row",function(a,
|
|
||||||
b){return b},1)});u("rows().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 s(c,b)});u("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=l.length;i<
|
|
||||||
n;i++)l[i]._DT_CellIndex.row=g}oa(b.aiDisplayMaster,c);oa(b.aiDisplay,c);oa(a[d],c,!1);0<b._iRecordsDisplay&&b._iRecordsDisplay--;Ra(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});o("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(M(b,c));return h},1),c=this.rows(-1);
|
|
||||||
c.pop();h.merge(c,b);return c});o("row()",function(a,b){return ab(this.rows(a,b))});o("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});o("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});o("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]:M(b,a)});return this.row(b[0])});var bb=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},Tb=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 s(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];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&&bb(f,c)}))}}};o("row().child()",function(a,b){var c=this.context;
|
|
||||||
if(a===k)return c.length&&this.length?c[0].aoData[this[0]]._details:k;if(!0===a)this.child.show();else if(!1===a)bb(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.detach();c._details=h(e);c._detailsShow&&
|
|
||||||
c._details.insertAfter(c.nTr)}return this});o(["row().child.show()","row().child().show()"],function(){Tb(this,!0);return this});o(["row().child.hide()","row().child().hide()"],function(){Tb(this,!1);return this});o(["row().child.remove()","row().child().remove()"],function(){bb(this);return this});o("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var bc=/^([^:]+):(name|visIdx|visible)$/,Ub=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};o("columns()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=$a(b),c=this.iterator("table",function(c){var e=a,f=b,g=c.aoColumns,j=D(g,"sName"),i=D(g,"nTh");return Za("column",e,function(a){var b=Nb(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,Ub(c,f,0,0,e),i[f])?f:null})}var k=typeof a==="string"?a.match(bc):"";if(k)switch(k[2]){case "visIdx":case "visible":b=
|
|
||||||
parseInt(k[1],10);if(b<0){var m=h.map(g,function(a,b){return a.bVisible?b:null});return[m[m.length+b]]}return[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});u("columns().header()",
|
|
||||||
"column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});u("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});u("columns().data()","column().data()",function(){return this.iterator("column-rows",Ub,1)});u("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});u("columns().cache()","column().cache()",
|
|
||||||
function(a){return this.iterator("column-rows",function(b,c,d,e,f){return ia(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});u("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ia(a.aoData,e,"anCells",b)},1)});u("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=
|
|
||||||
h.inArray(!0,D(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(D(b.aoData,"anCells",c)).detach();g.bVisible=a;ea(b,b.aoHeader);ea(b,b.aoFooter);xa(b)}});a!==k&&(this.iterator("column",function(c,e){r(c,null,"column-visibility",[c,e,a,b])}),(b===k||b)&&this.columns.adjust());return c});u("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?$(b,c):c},1)});o("columns.adjust()",
|
|
||||||
function(){return this.iterator("table",function(a){Y(a)},1)});o("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)}});o("column()",function(a,b){return ab(this.columns(a,b))});o("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=$a(c),f=
|
|
||||||
b.aoData,g=Ba(b,e),j=Qb(ia(f,g,"anCells")),i=h([].concat.apply([],j)),l,n=b.aoColumns.length,m,o,u,s,r,v;return Za("cell",d,function(a){var c=typeof a==="function";if(a===null||a===k||c){m=[];o=0;for(u=g.length;o<u;o++){l=g[o];for(s=0;s<n;s++){r={row:l,column:s};if(c){v=f[l];a(r,B(b,l,s),v.anCells?v.anCells[s]:null)&&m.push(r)}else m.push(r)}}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||
|
|
||||||
!a.nodeName)return c;v=h(a).closest("*[data-dt-row]");return v.length?[{row:v.data("dt-row"),column:v.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});u("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&
|
|
||||||
a.anCells?a.anCells[c]:k},1)});o("cells().data()",function(){return this.iterator("cell",function(a,b,c){return B(a,b,c)},1)});u("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)});u("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,d){return B(b,c,d,a)},1)});u("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,
|
|
||||||
b,c){return{row:b,column:c,columnVisible:$(a,c)}},1)});u("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,d){ca(b,c,a,d)})});o("cell()",function(a,b,c){return ab(this.cells(a,b,c))});o("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;ib(b[0],c[0].row,c[0].column,a);ca(b[0],c[0].row,"data",c[0].column);return this});o("order()",function(a,b){var c=this.context;if(a===k)return 0!==
|
|
||||||
c.length?c[0].aaSorting:k;"number"===typeof a?a=[[a,b]]:a.length&&!h.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=a.slice()})});o("order.listener()",function(a,b,c){return this.iterator("table",function(d){La(d,a,b,c)})});o("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)})});o(["columns().order()",
|
|
||||||
"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})});o("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)})});u("columns().search()","column().search()",function(a,
|
|
||||||
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))})});o("state()",function(){return this.context.length?this.context[0].oSavedState:null});o("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});o("state.loaded()",function(){return this.context.length?
|
|
||||||
this.context[0].oLoadedState:null});o("state.save()",function(){return this.iterator("table",function(a){xa(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;if(a instanceof m.Api)return!0;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]: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 s(c):c};m.camelToHungarian=I;o("$()",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){o(b+"()",function(){var a=Array.prototype.slice.call(arguments);
|
|
||||||
a[0]=h.map(a[0].split(/\s/),function(a){return!a.match(/\.dt\b/)?a+".dt":a}).join(" ");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});o("clear()",function(){return this.iterator("table",function(a){na(a)})});o("settings()",function(){return new s(this.context,this.context)});o("init()",function(){var a=this.context;return a.length?a[0].oInit:null});o("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});o("destroy()",function(a){a=a||
|
|
||||||
!1;return this.iterator("table",function(b){var c=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}),o;b.bDestroying=!0;r(b,"aoDestroyCallback","destroy",[b]);a||(new s(b)).columns().visible(!0);k.off(".DT").find(":not(tbody *)").off(".DT");h(E).off(".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=[];wa(b);h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);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),(o=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%o])}));c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,
|
|
||||||
1)})});h.each(["column","row","cell"],function(a,b){o(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)})})});o("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.16";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,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,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,
|
|
||||||
this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+
|
|
||||||
"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",
|
|
||||||
sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},m.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,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,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:[],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,fnServerData:null,
|
|
||||||
aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,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=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=x={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(x,{afnFiltering:x.search,aTypes:x.type.detect,ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager});h.extend(m.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",
|
|
||||||
sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",
|
|
||||||
sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Kb=m.ext.pager;h.extend(Kb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[ha(a,
|
|
||||||
b)]},simple_numbers:function(a,b){return["previous",ha(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ha(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",ha(a,b),"last"]},_numbers:ha,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||{},n,l,m=0,o=function(b,d){var k,s,u,r,v=function(b){Sa(a,b.data.action,true)};k=0;for(s=d.length;k<s;k++){r=d[k];if(h.isArray(r)){u=
|
|
||||||
h("<"+(r.DT_el||"div")+"/>").appendTo(b);o(u,r)}else{n=null;l="";switch(r){case "ellipsis":b.append('<span class="ellipsis">…</span>');break;case "first":n=j.sFirst;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":n=j.sPrevious;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":n=j.sNext;l=r+(e<f-1?"":" "+g.sPageButtonDisabled);break;case "last":n=j.sLast;l=r+(e<f-1?"":" "+g.sPageButtonDisabled);break;default:n=r+1;l=e===r?g.sPageButtonActive:""}if(n!==null){u=h("<a>",{"class":g.sPageButton+
|
|
||||||
" "+l,"aria-controls":a.sTableId,"aria-label":i[r],"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof r==="string"?a.sTableId+"_"+r:null}).html(n).appendTo(b);Va(u,{action:r},v);m++}}}},s;try{s=h(b).find(G.activeElement).data("dt-idx")}catch(u){}o(h(b).empty(),d);s!==k&&h(b).find("[data-dt-idx="+s+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return Ya(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&!Zb.test(a))return null;var b=Date.parse(a);
|
|
||||||
return null!==b&&!isNaN(b)||L(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return Ya(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Pb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Pb(a,c,!0)?"html-num-fmt"+c:null},function(a){return L(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(m.ext.type.search,{html:function(a){return L(a)?a:"string"===typeof a?a.replace(Mb," ").replace(Aa,""):""},string:function(a){return L(a)?
|
|
||||||
a:"string"===typeof a?a.replace(Mb," "):a}});var za=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Ob(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(x.type.order,{"date-pre":function(a){return Date.parse(a)||-Infinity},"html-pre":function(a){return L(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return L(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}});cb("");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,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 Vb=function(a){return"string"===typeof a?a.replace(/</g,"<").replace(/>/g,">").replace(/"/g,
|
|
||||||
"""):a};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 Vb(f);h=h.toFixed(c);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:Vb}}};h.extend(m.ext.internal,{_fnExternApiFunc:Lb,_fnBuildAjax:sa,_fnAjaxUpdate:kb,_fnAjaxParameters:tb,_fnAjaxUpdateDraw:ub,
|
|
||||||
_fnAjaxDataSrc:ta,_fnAddColumn:Da,_fnColumnOptions:ja,_fnAdjustColumnSizing:Y,_fnVisibleToColumnIndex:Z,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:la,_fnColumnTypes:Fa,_fnApplyColumnDefs:hb,_fnHungarianMap:X,_fnCamelToHungarian:I,_fnLanguageCompat:Ca,_fnBrowserDetect:fb,_fnAddData:M,_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:ib,
|
|
||||||
_fnSplitObjNotation:Ia,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:R,_fnGetDataMaster:Ja,_fnClearTable:na,_fnDeleteIndex:oa,_fnInvalidate:ca,_fnGetRowElements:Ha,_fnCreateTr:Ga,_fnBuildHead:jb,_fnDrawHead:ea,_fnDraw:N,_fnReDraw:S,_fnAddOptionsHtml:mb,_fnDetectHeader:da,_fnGetUniqueThs:ra,_fnFeatureHtmlFilter:ob,_fnFilterComplete:fa,_fnFilterCustom:xb,_fnFilterColumn:wb,_fnFilter:vb,_fnFilterCreateSearch:Oa,_fnEscapeRegex:Pa,_fnFilterData:yb,_fnFeatureHtmlInfo:rb,_fnUpdateInfo:Bb,_fnInfoMacros:Cb,_fnInitialise:ga,
|
|
||||||
_fnInitComplete:ua,_fnLengthChange:Qa,_fnFeatureHtmlLength:nb,_fnFeatureHtmlPaginate:sb,_fnPageChange:Sa,_fnFeatureHtmlProcessing:pb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:qb,_fnScrollDraw:ka,_fnApplyToChildren:H,_fnCalculateColumnWidths:Ea,_fnThrottle:Na,_fnConvertToWidth:Db,_fnGetWidestNode:Eb,_fnGetMaxLenString:Fb,_fnStringToCss:v,_fnSortFlatten:V,_fnSort:lb,_fnSortAria:Hb,_fnSortListener:Ua,_fnSortAttachListener:La,_fnSortingClasses:wa,_fnSortData:Gb,_fnSaveState:xa,_fnLoadState:Ib,_fnSettingsFromNode:ya,
|
|
||||||
_fnLog:J,_fnMap:F,_fnBindAction:Va,_fnCallbackReg:z,_fnCallbackFire:r,_fnLengthOverflow:Ra,_fnRenderer:Ma,_fnDataSource:y,_fnRowAttributes:Ka,_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});
|
|
5
vendor/datatables/js/jquery.js
vendored
604
vendor/flot-tooltip/jquery.flot.tooltip.js
vendored
@ -1,604 +0,0 @@
|
|||||||
/*
|
|
||||||
* jquery.flot.tooltip
|
|
||||||
*
|
|
||||||
* description: easy-to-use tooltips for Flot charts
|
|
||||||
* version: 0.8.7
|
|
||||||
* authors: Krzysztof Urbas @krzysu [myviews.pl],Evan Steinkerchner @Roundaround
|
|
||||||
* website: https://github.com/krzysu/flot.tooltip
|
|
||||||
*
|
|
||||||
* build on 2016-03-15
|
|
||||||
* released under MIT License, 2012
|
|
||||||
*/
|
|
||||||
(function ($) {
|
|
||||||
// plugin options, default values
|
|
||||||
var defaultOptions = {
|
|
||||||
tooltip: {
|
|
||||||
show: false,
|
|
||||||
cssClass: "flotTip",
|
|
||||||
content: "%s | X: %x | Y: %y",
|
|
||||||
// allowed templates are:
|
|
||||||
// %s -> series label,
|
|
||||||
// %c -> series color,
|
|
||||||
// %lx -> x axis label (requires flot-axislabels plugin https://github.com/markrcote/flot-axislabels),
|
|
||||||
// %ly -> y axis label (requires flot-axislabels plugin https://github.com/markrcote/flot-axislabels),
|
|
||||||
// %x -> X value,
|
|
||||||
// %y -> Y value,
|
|
||||||
// %x.2 -> precision of X value,
|
|
||||||
// %p -> percent
|
|
||||||
// %n -> value (not percent) of pie chart
|
|
||||||
xDateFormat: null,
|
|
||||||
yDateFormat: null,
|
|
||||||
monthNames: null,
|
|
||||||
dayNames: null,
|
|
||||||
shifts: {
|
|
||||||
x: 10,
|
|
||||||
y: 20
|
|
||||||
},
|
|
||||||
defaultTheme: true,
|
|
||||||
snap: true,
|
|
||||||
lines: false,
|
|
||||||
clickTips: false,
|
|
||||||
|
|
||||||
// callbacks
|
|
||||||
onHover: function (flotItem, $tooltipEl) {},
|
|
||||||
|
|
||||||
$compat: false
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// dummy default options object for legacy code (<0.8.5) - is deleted later
|
|
||||||
defaultOptions.tooltipOpts = defaultOptions.tooltip;
|
|
||||||
|
|
||||||
// object
|
|
||||||
var FlotTooltip = function (plot) {
|
|
||||||
// variables
|
|
||||||
this.tipPosition = {x: 0, y: 0};
|
|
||||||
|
|
||||||
this.init(plot);
|
|
||||||
};
|
|
||||||
|
|
||||||
// main plugin function
|
|
||||||
FlotTooltip.prototype.init = function (plot) {
|
|
||||||
var that = this;
|
|
||||||
|
|
||||||
// detect other flot plugins
|
|
||||||
var plotPluginsLength = $.plot.plugins.length;
|
|
||||||
this.plotPlugins = [];
|
|
||||||
|
|
||||||
if (plotPluginsLength) {
|
|
||||||
for (var p = 0; p < plotPluginsLength; p++) {
|
|
||||||
this.plotPlugins.push($.plot.plugins[p].name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.hooks.bindEvents.push(function (plot, eventHolder) {
|
|
||||||
|
|
||||||
// get plot options
|
|
||||||
that.plotOptions = plot.getOptions();
|
|
||||||
|
|
||||||
// for legacy (<0.8.5) implementations
|
|
||||||
if (typeof(that.plotOptions.tooltip) === 'boolean') {
|
|
||||||
that.plotOptions.tooltipOpts.show = that.plotOptions.tooltip;
|
|
||||||
that.plotOptions.tooltip = that.plotOptions.tooltipOpts;
|
|
||||||
delete that.plotOptions.tooltipOpts;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if not enabled return
|
|
||||||
if (that.plotOptions.tooltip.show === false || typeof that.plotOptions.tooltip.show === 'undefined') return;
|
|
||||||
|
|
||||||
// shortcut to access tooltip options
|
|
||||||
that.tooltipOptions = that.plotOptions.tooltip;
|
|
||||||
|
|
||||||
if (that.tooltipOptions.$compat) {
|
|
||||||
that.wfunc = 'width';
|
|
||||||
that.hfunc = 'height';
|
|
||||||
} else {
|
|
||||||
that.wfunc = 'innerWidth';
|
|
||||||
that.hfunc = 'innerHeight';
|
|
||||||
}
|
|
||||||
|
|
||||||
// create tooltip DOM element
|
|
||||||
var $tip = that.getDomElement();
|
|
||||||
|
|
||||||
// bind event
|
|
||||||
$( plot.getPlaceholder() ).bind("plothover", plothover);
|
|
||||||
if (that.tooltipOptions.clickTips) {
|
|
||||||
$( plot.getPlaceholder() ).bind("plotclick", plotclick);
|
|
||||||
}
|
|
||||||
that.clickmode = false;
|
|
||||||
|
|
||||||
$(eventHolder).bind('mousemove', mouseMove);
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.hooks.shutdown.push(function (plot, eventHolder){
|
|
||||||
$(plot.getPlaceholder()).unbind("plothover", plothover);
|
|
||||||
$(plot.getPlaceholder()).unbind("plotclick", plotclick);
|
|
||||||
plot.removeTooltip();
|
|
||||||
$(eventHolder).unbind("mousemove", mouseMove);
|
|
||||||
});
|
|
||||||
|
|
||||||
function mouseMove(e){
|
|
||||||
var pos = {};
|
|
||||||
pos.x = e.pageX;
|
|
||||||
pos.y = e.pageY;
|
|
||||||
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) {
|
|
||||||
// Simple distance formula.
|
|
||||||
var lineDistance = function (p1x, p1y, p2x, p2y) {
|
|
||||||
return Math.sqrt((p2x - p1x) * (p2x - p1x) + (p2y - p1y) * (p2y - p1y));
|
|
||||||
};
|
|
||||||
|
|
||||||
// Here is some voodoo magic for determining the distance to a line form a given point {x, y}.
|
|
||||||
var dotLineLength = function (x, y, x0, y0, x1, y1, o) {
|
|
||||||
if (o && !(o =
|
|
||||||
function (x, y, x0, y0, x1, y1) {
|
|
||||||
if (typeof x0 !== 'undefined') return { x: x0, y: y };
|
|
||||||
else if (typeof y0 !== 'undefined') return { x: x, y: y0 };
|
|
||||||
|
|
||||||
var left,
|
|
||||||
tg = -1 / ((y1 - y0) / (x1 - x0));
|
|
||||||
|
|
||||||
return {
|
|
||||||
x: left = (x1 * (x * tg - y + y0) + x0 * (x * -tg + y - y1)) / (tg * (x1 - x0) + y0 - y1),
|
|
||||||
y: tg * left - tg * x + y
|
|
||||||
};
|
|
||||||
} (x, y, x0, y0, x1, y1),
|
|
||||||
o.x >= Math.min(x0, x1) && o.x <= Math.max(x0, x1) && o.y >= Math.min(y0, y1) && o.y <= Math.max(y0, y1))
|
|
||||||
) {
|
|
||||||
var l1 = lineDistance(x, y, x0, y0), l2 = lineDistance(x, y, x1, y1);
|
|
||||||
return l1 > l2 ? l2 : l1;
|
|
||||||
} else {
|
|
||||||
var a = y0 - y1, b = x1 - x0, c = x0 * y1 - y0 * x1;
|
|
||||||
return Math.abs(a * x + b * y + c) / Math.sqrt(a * a + b * b);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if (item) {
|
|
||||||
plot.showTooltip(item, that.tooltipOptions.snap ? item : pos);
|
|
||||||
} else if (that.plotOptions.series.lines.show && that.tooltipOptions.lines === true) {
|
|
||||||
var maxDistance = that.plotOptions.grid.mouseActiveRadius;
|
|
||||||
|
|
||||||
var closestTrace = {
|
|
||||||
distance: maxDistance + 1
|
|
||||||
};
|
|
||||||
|
|
||||||
var ttPos = pos;
|
|
||||||
|
|
||||||
$.each(plot.getData(), function (i, series) {
|
|
||||||
var xBeforeIndex = 0,
|
|
||||||
xAfterIndex = -1;
|
|
||||||
|
|
||||||
// Our search here assumes our data is sorted via the x-axis.
|
|
||||||
// TODO: Improve efficiency somehow - search smaller sets of data.
|
|
||||||
for (var j = 1; j < series.data.length; j++) {
|
|
||||||
if (series.data[j - 1][0] <= pos.x && series.data[j][0] >= pos.x) {
|
|
||||||
xBeforeIndex = j - 1;
|
|
||||||
xAfterIndex = j;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (xAfterIndex === -1) {
|
|
||||||
plot.hideTooltip();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var pointPrev = { x: series.data[xBeforeIndex][0], y: series.data[xBeforeIndex][1] },
|
|
||||||
pointNext = { x: series.data[xAfterIndex][0], y: series.data[xAfterIndex][1] };
|
|
||||||
|
|
||||||
var distToLine = dotLineLength(series.xaxis.p2c(pos.x), series.yaxis.p2c(pos.y), series.xaxis.p2c(pointPrev.x),
|
|
||||||
series.yaxis.p2c(pointPrev.y), series.xaxis.p2c(pointNext.x), series.yaxis.p2c(pointNext.y), false);
|
|
||||||
|
|
||||||
if (distToLine < closestTrace.distance) {
|
|
||||||
|
|
||||||
var closestIndex = lineDistance(pointPrev.x, pointPrev.y, pos.x, pos.y) <
|
|
||||||
lineDistance(pos.x, pos.y, pointNext.x, pointNext.y) ? xBeforeIndex : xAfterIndex;
|
|
||||||
|
|
||||||
var pointSize = series.datapoints.pointsize;
|
|
||||||
|
|
||||||
// Calculate the point on the line vertically closest to our cursor.
|
|
||||||
var pointOnLine = [
|
|
||||||
pos.x,
|
|
||||||
pointPrev.y + ((pointNext.y - pointPrev.y) * ((pos.x - pointPrev.x) / (pointNext.x - pointPrev.x)))
|
|
||||||
];
|
|
||||||
|
|
||||||
var item = {
|
|
||||||
datapoint: pointOnLine,
|
|
||||||
dataIndex: closestIndex,
|
|
||||||
series: series,
|
|
||||||
seriesIndex: i
|
|
||||||
};
|
|
||||||
|
|
||||||
closestTrace = {
|
|
||||||
distance: distToLine,
|
|
||||||
item: item
|
|
||||||
};
|
|
||||||
|
|
||||||
if (that.tooltipOptions.snap) {
|
|
||||||
ttPos = {
|
|
||||||
pageX: series.xaxis.p2c(pointOnLine[0]),
|
|
||||||
pageY: series.yaxis.p2c(pointOnLine[1])
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (closestTrace.distance < maxDistance + 1)
|
|
||||||
plot.showTooltip(closestTrace.item, ttPos);
|
|
||||||
else
|
|
||||||
plot.hideTooltip();
|
|
||||||
} else {
|
|
||||||
plot.hideTooltip();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Quick little function for setting the tooltip position.
|
|
||||||
plot.setTooltipPosition = function (pos) {
|
|
||||||
var $tip = that.getDomElement();
|
|
||||||
|
|
||||||
var totalTipWidth = $tip.outerWidth() + that.tooltipOptions.shifts.x;
|
|
||||||
var totalTipHeight = $tip.outerHeight() + that.tooltipOptions.shifts.y;
|
|
||||||
if ((pos.x - $(window).scrollLeft()) > ($(window)[that.wfunc]() - totalTipWidth)) {
|
|
||||||
pos.x -= totalTipWidth;
|
|
||||||
}
|
|
||||||
if ((pos.y - $(window).scrollTop()) > ($(window)[that.hfunc]() - totalTipHeight)) {
|
|
||||||
pos.y -= totalTipHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
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.
|
|
||||||
plot.showTooltip = function (target, position, targetPosition) {
|
|
||||||
var $tip = that.getDomElement();
|
|
||||||
|
|
||||||
// convert tooltip content template to real tipText
|
|
||||||
var tipText = that.stringFormat(that.tooltipOptions.content, target);
|
|
||||||
if (tipText === '')
|
|
||||||
return;
|
|
||||||
|
|
||||||
$tip.html(tipText);
|
|
||||||
plot.setTooltipPosition({ x: position.pageX, y: position.pageY });
|
|
||||||
$tip.css({
|
|
||||||
left: that.tipPosition.x + that.tooltipOptions.shifts.x,
|
|
||||||
top: that.tipPosition.y + that.tooltipOptions.shifts.y
|
|
||||||
}).show();
|
|
||||||
|
|
||||||
// run callback
|
|
||||||
if (typeof that.tooltipOptions.onHover === 'function') {
|
|
||||||
that.tooltipOptions.onHover(target, $tip);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Quick little function for hiding the tooltip.
|
|
||||||
plot.hideTooltip = function () {
|
|
||||||
that.getDomElement().hide().html('');
|
|
||||||
};
|
|
||||||
|
|
||||||
plot.removeTooltip = function() {
|
|
||||||
that.getDomElement().remove();
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get or create tooltip DOM element
|
|
||||||
* @return jQuery object
|
|
||||||
*/
|
|
||||||
FlotTooltip.prototype.getDomElement = function () {
|
|
||||||
var $tip = $('<div>');
|
|
||||||
if (this.tooltipOptions && this.tooltipOptions.cssClass) {
|
|
||||||
$tip = $('.' + this.tooltipOptions.cssClass);
|
|
||||||
|
|
||||||
if( $tip.length === 0 ){
|
|
||||||
$tip = $('<div />').addClass(this.tooltipOptions.cssClass);
|
|
||||||
$tip.appendTo('body').hide().css({position: 'absolute'});
|
|
||||||
|
|
||||||
if(this.tooltipOptions.defaultTheme) {
|
|
||||||
$tip.css({
|
|
||||||
'background': '#fff',
|
|
||||||
'z-index': '1040',
|
|
||||||
'padding': '0.4em 0.6em',
|
|
||||||
'border-radius': '0.5em',
|
|
||||||
'font-size': '0.8em',
|
|
||||||
'border': '1px solid #111',
|
|
||||||
'display': 'none',
|
|
||||||
'white-space': 'nowrap'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $tip;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* core function, create tooltip content
|
|
||||||
* @param {string} content - template with tooltip content
|
|
||||||
* @param {object} item - Flot item
|
|
||||||
* @return {string} real tooltip content for current item
|
|
||||||
*/
|
|
||||||
FlotTooltip.prototype.stringFormat = function (content, item) {
|
|
||||||
var percentPattern = /%p\.{0,1}(\d{0,})/;
|
|
||||||
var seriesPattern = /%s/;
|
|
||||||
var colorPattern = /%c/;
|
|
||||||
var xLabelPattern = /%lx/; // requires flot-axislabels plugin https://github.com/markrcote/flot-axislabels, will be ignored if plugin isn't loaded
|
|
||||||
var yLabelPattern = /%ly/; // requires flot-axislabels plugin https://github.com/markrcote/flot-axislabels, will be ignored if plugin isn't loaded
|
|
||||||
var xPattern = /%x\.{0,1}(\d{0,})/;
|
|
||||||
var yPattern = /%y\.{0,1}(\d{0,})/;
|
|
||||||
var xPatternWithoutPrecision = "%x";
|
|
||||||
var yPatternWithoutPrecision = "%y";
|
|
||||||
var customTextPattern = "%ct";
|
|
||||||
var nPiePattern = "%n";
|
|
||||||
|
|
||||||
var x, y, customText, p, n;
|
|
||||||
|
|
||||||
// for threshold plugin we need to read data from different place
|
|
||||||
if (typeof item.series.threshold !== "undefined") {
|
|
||||||
x = item.datapoint[0];
|
|
||||||
y = item.datapoint[1];
|
|
||||||
customText = item.datapoint[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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];
|
|
||||||
y = item.series.datapoints.points[item.dataIndex * 2 + 1];
|
|
||||||
// TODO: where to find custom text in this variant?
|
|
||||||
customText = "";
|
|
||||||
} else {
|
|
||||||
x = item.series.data[item.dataIndex][0];
|
|
||||||
y = item.series.data[item.dataIndex][1];
|
|
||||||
customText = item.series.data[item.dataIndex][2];
|
|
||||||
}
|
|
||||||
|
|
||||||
// I think this is only in case of threshold plugin
|
|
||||||
if (item.series.label === null && item.series.originSeries) {
|
|
||||||
item.series.label = item.series.originSeries.label;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if it is a function callback get the content string
|
|
||||||
if (typeof(content) === 'function') {
|
|
||||||
content = content(item.series.label, x, y, item);
|
|
||||||
}
|
|
||||||
|
|
||||||
// the case where the passed content is equal to false
|
|
||||||
if (typeof(content) === 'boolean' && !content) {
|
|
||||||
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
|
|
||||||
if (typeof (item.series.percent) !== 'undefined') {
|
|
||||||
p = item.series.percent;
|
|
||||||
} else if (typeof (item.series.percents) !== 'undefined') {
|
|
||||||
p = item.series.percents[item.dataIndex];
|
|
||||||
}
|
|
||||||
if (typeof p === 'number') {
|
|
||||||
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
|
|
||||||
if (typeof(item.series.label) !== 'undefined') {
|
|
||||||
content = content.replace(seriesPattern, item.series.label);
|
|
||||||
} else {
|
|
||||||
//remove %s if label is undefined
|
|
||||||
content = content.replace(seriesPattern, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// color match
|
|
||||||
if (typeof(item.series.color) !== 'undefined') {
|
|
||||||
content = content.replace(colorPattern, item.series.color);
|
|
||||||
} else {
|
|
||||||
//remove %s if color is undefined
|
|
||||||
content = content.replace(colorPattern, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// x axis label match
|
|
||||||
if (this.hasAxisLabel('xaxis', item)) {
|
|
||||||
content = content.replace(xLabelPattern, item.series.xaxis.options.axisLabel);
|
|
||||||
} else {
|
|
||||||
//remove %lx if axis label is undefined or axislabels plugin not present
|
|
||||||
content = content.replace(xLabelPattern, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// y axis label match
|
|
||||||
if (this.hasAxisLabel('yaxis', item)) {
|
|
||||||
content = content.replace(yLabelPattern, item.series.yaxis.options.axisLabel);
|
|
||||||
} else {
|
|
||||||
//remove %ly if axis label is undefined or axislabels plugin not present
|
|
||||||
content = content.replace(yLabelPattern, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// time mode axes with custom dateFormat
|
|
||||||
if (this.isTimeMode('xaxis', item) && this.isXDateFormat(item)) {
|
|
||||||
content = content.replace(xPattern, this.timestampToDate(x, this.tooltipOptions.xDateFormat, item.series.xaxis.options));
|
|
||||||
}
|
|
||||||
if (this.isTimeMode('yaxis', item) && this.isYDateFormat(item)) {
|
|
||||||
content = content.replace(yPattern, this.timestampToDate(y, this.tooltipOptions.yDateFormat, item.series.yaxis.options));
|
|
||||||
}
|
|
||||||
|
|
||||||
// set precision if defined
|
|
||||||
if (typeof x === 'number') {
|
|
||||||
content = this.adjustValPrecision(xPattern, content, x);
|
|
||||||
}
|
|
||||||
if (typeof y === 'number') {
|
|
||||||
content = this.adjustValPrecision(yPattern, content, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
// change x from number to given label, if given
|
|
||||||
if (typeof item.series.xaxis.ticks !== 'undefined') {
|
|
||||||
|
|
||||||
var ticks;
|
|
||||||
if (this.hasRotatedXAxisTicks(item)) {
|
|
||||||
// xaxis.ticks will be an empty array if tickRotor is being used, but the values are available in rotatedTicks
|
|
||||||
ticks = 'rotatedTicks';
|
|
||||||
} else {
|
|
||||||
ticks = 'ticks';
|
|
||||||
}
|
|
||||||
|
|
||||||
// see https://github.com/krzysu/flot.tooltip/issues/65
|
|
||||||
var tickIndex = item.dataIndex + item.seriesIndex;
|
|
||||||
|
|
||||||
for (var xIndex in item.series.xaxis[ticks]) {
|
|
||||||
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;
|
|
||||||
if (valueX === x) {
|
|
||||||
content = content.replace(xPattern, item.series.xaxis[ticks][tickIndex].label.replace(/\$/g, '$$$$'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// change y from number to given label, if given
|
|
||||||
if (typeof item.series.yaxis.ticks !== 'undefined') {
|
|
||||||
for (var yIndex in item.series.yaxis.ticks) {
|
|
||||||
if (item.series.yaxis.ticks.hasOwnProperty(yIndex)) {
|
|
||||||
var valueY = (this.isCategoriesMode('yaxis', item)) ? item.series.yaxis.ticks[yIndex].label : item.series.yaxis.ticks[yIndex].v;
|
|
||||||
if (valueY === y) {
|
|
||||||
content = content.replace(yPattern, item.series.yaxis.ticks[yIndex].label.replace(/\$/g, '$$$$'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// if no value customization, use tickFormatter by default
|
|
||||||
if (typeof item.series.xaxis.tickFormatter !== 'undefined') {
|
|
||||||
//escape dollar
|
|
||||||
content = content.replace(xPatternWithoutPrecision, item.series.xaxis.tickFormatter(x, item.series.xaxis).replace(/\$/g, '$$'));
|
|
||||||
}
|
|
||||||
if (typeof item.series.yaxis.tickFormatter !== 'undefined') {
|
|
||||||
//escape dollar
|
|
||||||
content = content.replace(yPatternWithoutPrecision, item.series.yaxis.tickFormatter(y, item.series.yaxis).replace(/\$/g, '$$'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return content;
|
|
||||||
};
|
|
||||||
|
|
||||||
// helpers just for readability
|
|
||||||
FlotTooltip.prototype.isTimeMode = function (axisName, item) {
|
|
||||||
return (typeof item.series[axisName].options.mode !== 'undefined' && item.series[axisName].options.mode === 'time');
|
|
||||||
};
|
|
||||||
|
|
||||||
FlotTooltip.prototype.isXDateFormat = function (item) {
|
|
||||||
return (typeof this.tooltipOptions.xDateFormat !== 'undefined' && this.tooltipOptions.xDateFormat !== null);
|
|
||||||
};
|
|
||||||
|
|
||||||
FlotTooltip.prototype.isYDateFormat = function (item) {
|
|
||||||
return (typeof this.tooltipOptions.yDateFormat !== 'undefined' && this.tooltipOptions.yDateFormat !== null);
|
|
||||||
};
|
|
||||||
|
|
||||||
FlotTooltip.prototype.isCategoriesMode = function (axisName, item) {
|
|
||||||
return (typeof item.series[axisName].options.mode !== 'undefined' && item.series[axisName].options.mode === 'categories');
|
|
||||||
};
|
|
||||||
|
|
||||||
//
|
|
||||||
FlotTooltip.prototype.timestampToDate = function (tmst, dateFormat, options) {
|
|
||||||
var theDate = $.plot.dateGenerator(tmst, options);
|
|
||||||
return $.plot.formatDate(theDate, dateFormat, this.tooltipOptions.monthNames, this.tooltipOptions.dayNames);
|
|
||||||
};
|
|
||||||
|
|
||||||
//
|
|
||||||
FlotTooltip.prototype.adjustValPrecision = function (pattern, content, value) {
|
|
||||||
|
|
||||||
var precision;
|
|
||||||
var matchResult = content.match(pattern);
|
|
||||||
if( matchResult !== null ) {
|
|
||||||
if(RegExp.$1 !== '') {
|
|
||||||
precision = RegExp.$1;
|
|
||||||
value = value.toFixed(precision);
|
|
||||||
|
|
||||||
// only replace content if precision exists, in other case use thickformater
|
|
||||||
content = content.replace(pattern, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return content;
|
|
||||||
};
|
|
||||||
|
|
||||||
// other plugins detection below
|
|
||||||
|
|
||||||
// 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) {
|
|
||||||
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
|
|
||||||
FlotTooltip.prototype.hasRotatedXAxisTicks = function (item) {
|
|
||||||
return ($.inArray('tickRotor',this.plotPlugins) !== -1 && typeof item.series.xaxis.rotatedTicks !== 'undefined');
|
|
||||||
};
|
|
||||||
|
|
||||||
//
|
|
||||||
var init = function (plot) {
|
|
||||||
new FlotTooltip(plot);
|
|
||||||
};
|
|
||||||
|
|
||||||
// define Flot plugin
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: defaultOptions,
|
|
||||||
name: 'tooltip',
|
|
||||||
version: '0.8.5'
|
|
||||||
});
|
|
||||||
|
|
||||||
})(jQuery);
|
|
12
vendor/flot-tooltip/jquery.flot.tooltip.min.js
vendored
593
vendor/flot-tooltip/jquery.flot.tooltip.source.js
vendored
@ -1,593 +0,0 @@
|
|||||||
(function ($) {
|
|
||||||
// plugin options, default values
|
|
||||||
var defaultOptions = {
|
|
||||||
tooltip: {
|
|
||||||
show: false,
|
|
||||||
cssClass: "flotTip",
|
|
||||||
content: "%s | X: %x | Y: %y",
|
|
||||||
// allowed templates are:
|
|
||||||
// %s -> series label,
|
|
||||||
// %c -> series color,
|
|
||||||
// %lx -> x axis label (requires flot-axislabels plugin https://github.com/markrcote/flot-axislabels),
|
|
||||||
// %ly -> y axis label (requires flot-axislabels plugin https://github.com/markrcote/flot-axislabels),
|
|
||||||
// %x -> X value,
|
|
||||||
// %y -> Y value,
|
|
||||||
// %x.2 -> precision of X value,
|
|
||||||
// %p -> percent
|
|
||||||
// %n -> value (not percent) of pie chart
|
|
||||||
xDateFormat: null,
|
|
||||||
yDateFormat: null,
|
|
||||||
monthNames: null,
|
|
||||||
dayNames: null,
|
|
||||||
shifts: {
|
|
||||||
x: 10,
|
|
||||||
y: 20
|
|
||||||
},
|
|
||||||
defaultTheme: true,
|
|
||||||
snap: true,
|
|
||||||
lines: false,
|
|
||||||
clickTips: false,
|
|
||||||
|
|
||||||
// callbacks
|
|
||||||
onHover: function (flotItem, $tooltipEl) {},
|
|
||||||
|
|
||||||
$compat: false
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// dummy default options object for legacy code (<0.8.5) - is deleted later
|
|
||||||
defaultOptions.tooltipOpts = defaultOptions.tooltip;
|
|
||||||
|
|
||||||
// object
|
|
||||||
var FlotTooltip = function (plot) {
|
|
||||||
// variables
|
|
||||||
this.tipPosition = {x: 0, y: 0};
|
|
||||||
|
|
||||||
this.init(plot);
|
|
||||||
};
|
|
||||||
|
|
||||||
// main plugin function
|
|
||||||
FlotTooltip.prototype.init = function (plot) {
|
|
||||||
var that = this;
|
|
||||||
|
|
||||||
// detect other flot plugins
|
|
||||||
var plotPluginsLength = $.plot.plugins.length;
|
|
||||||
this.plotPlugins = [];
|
|
||||||
|
|
||||||
if (plotPluginsLength) {
|
|
||||||
for (var p = 0; p < plotPluginsLength; p++) {
|
|
||||||
this.plotPlugins.push($.plot.plugins[p].name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.hooks.bindEvents.push(function (plot, eventHolder) {
|
|
||||||
|
|
||||||
// get plot options
|
|
||||||
that.plotOptions = plot.getOptions();
|
|
||||||
|
|
||||||
// for legacy (<0.8.5) implementations
|
|
||||||
if (typeof(that.plotOptions.tooltip) === 'boolean') {
|
|
||||||
that.plotOptions.tooltipOpts.show = that.plotOptions.tooltip;
|
|
||||||
that.plotOptions.tooltip = that.plotOptions.tooltipOpts;
|
|
||||||
delete that.plotOptions.tooltipOpts;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if not enabled return
|
|
||||||
if (that.plotOptions.tooltip.show === false || typeof that.plotOptions.tooltip.show === 'undefined') return;
|
|
||||||
|
|
||||||
// shortcut to access tooltip options
|
|
||||||
that.tooltipOptions = that.plotOptions.tooltip;
|
|
||||||
|
|
||||||
if (that.tooltipOptions.$compat) {
|
|
||||||
that.wfunc = 'width';
|
|
||||||
that.hfunc = 'height';
|
|
||||||
} else {
|
|
||||||
that.wfunc = 'innerWidth';
|
|
||||||
that.hfunc = 'innerHeight';
|
|
||||||
}
|
|
||||||
|
|
||||||
// create tooltip DOM element
|
|
||||||
var $tip = that.getDomElement();
|
|
||||||
|
|
||||||
// bind event
|
|
||||||
$( plot.getPlaceholder() ).bind("plothover", plothover);
|
|
||||||
if (that.tooltipOptions.clickTips) {
|
|
||||||
$( plot.getPlaceholder() ).bind("plotclick", plotclick);
|
|
||||||
}
|
|
||||||
that.clickmode = false;
|
|
||||||
|
|
||||||
$(eventHolder).bind('mousemove', mouseMove);
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.hooks.shutdown.push(function (plot, eventHolder){
|
|
||||||
$(plot.getPlaceholder()).unbind("plothover", plothover);
|
|
||||||
$(plot.getPlaceholder()).unbind("plotclick", plotclick);
|
|
||||||
plot.removeTooltip();
|
|
||||||
$(eventHolder).unbind("mousemove", mouseMove);
|
|
||||||
});
|
|
||||||
|
|
||||||
function mouseMove(e){
|
|
||||||
var pos = {};
|
|
||||||
pos.x = e.pageX;
|
|
||||||
pos.y = e.pageY;
|
|
||||||
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) {
|
|
||||||
// Simple distance formula.
|
|
||||||
var lineDistance = function (p1x, p1y, p2x, p2y) {
|
|
||||||
return Math.sqrt((p2x - p1x) * (p2x - p1x) + (p2y - p1y) * (p2y - p1y));
|
|
||||||
};
|
|
||||||
|
|
||||||
// Here is some voodoo magic for determining the distance to a line form a given point {x, y}.
|
|
||||||
var dotLineLength = function (x, y, x0, y0, x1, y1, o) {
|
|
||||||
if (o && !(o =
|
|
||||||
function (x, y, x0, y0, x1, y1) {
|
|
||||||
if (typeof x0 !== 'undefined') return { x: x0, y: y };
|
|
||||||
else if (typeof y0 !== 'undefined') return { x: x, y: y0 };
|
|
||||||
|
|
||||||
var left,
|
|
||||||
tg = -1 / ((y1 - y0) / (x1 - x0));
|
|
||||||
|
|
||||||
return {
|
|
||||||
x: left = (x1 * (x * tg - y + y0) + x0 * (x * -tg + y - y1)) / (tg * (x1 - x0) + y0 - y1),
|
|
||||||
y: tg * left - tg * x + y
|
|
||||||
};
|
|
||||||
} (x, y, x0, y0, x1, y1),
|
|
||||||
o.x >= Math.min(x0, x1) && o.x <= Math.max(x0, x1) && o.y >= Math.min(y0, y1) && o.y <= Math.max(y0, y1))
|
|
||||||
) {
|
|
||||||
var l1 = lineDistance(x, y, x0, y0), l2 = lineDistance(x, y, x1, y1);
|
|
||||||
return l1 > l2 ? l2 : l1;
|
|
||||||
} else {
|
|
||||||
var a = y0 - y1, b = x1 - x0, c = x0 * y1 - y0 * x1;
|
|
||||||
return Math.abs(a * x + b * y + c) / Math.sqrt(a * a + b * b);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if (item) {
|
|
||||||
plot.showTooltip(item, that.tooltipOptions.snap ? item : pos);
|
|
||||||
} else if (that.plotOptions.series.lines.show && that.tooltipOptions.lines === true) {
|
|
||||||
var maxDistance = that.plotOptions.grid.mouseActiveRadius;
|
|
||||||
|
|
||||||
var closestTrace = {
|
|
||||||
distance: maxDistance + 1
|
|
||||||
};
|
|
||||||
|
|
||||||
var ttPos = pos;
|
|
||||||
|
|
||||||
$.each(plot.getData(), function (i, series) {
|
|
||||||
var xBeforeIndex = 0,
|
|
||||||
xAfterIndex = -1;
|
|
||||||
|
|
||||||
// Our search here assumes our data is sorted via the x-axis.
|
|
||||||
// TODO: Improve efficiency somehow - search smaller sets of data.
|
|
||||||
for (var j = 1; j < series.data.length; j++) {
|
|
||||||
if (series.data[j - 1][0] <= pos.x && series.data[j][0] >= pos.x) {
|
|
||||||
xBeforeIndex = j - 1;
|
|
||||||
xAfterIndex = j;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (xAfterIndex === -1) {
|
|
||||||
plot.hideTooltip();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var pointPrev = { x: series.data[xBeforeIndex][0], y: series.data[xBeforeIndex][1] },
|
|
||||||
pointNext = { x: series.data[xAfterIndex][0], y: series.data[xAfterIndex][1] };
|
|
||||||
|
|
||||||
var distToLine = dotLineLength(series.xaxis.p2c(pos.x), series.yaxis.p2c(pos.y), series.xaxis.p2c(pointPrev.x),
|
|
||||||
series.yaxis.p2c(pointPrev.y), series.xaxis.p2c(pointNext.x), series.yaxis.p2c(pointNext.y), false);
|
|
||||||
|
|
||||||
if (distToLine < closestTrace.distance) {
|
|
||||||
|
|
||||||
var closestIndex = lineDistance(pointPrev.x, pointPrev.y, pos.x, pos.y) <
|
|
||||||
lineDistance(pos.x, pos.y, pointNext.x, pointNext.y) ? xBeforeIndex : xAfterIndex;
|
|
||||||
|
|
||||||
var pointSize = series.datapoints.pointsize;
|
|
||||||
|
|
||||||
// Calculate the point on the line vertically closest to our cursor.
|
|
||||||
var pointOnLine = [
|
|
||||||
pos.x,
|
|
||||||
pointPrev.y + ((pointNext.y - pointPrev.y) * ((pos.x - pointPrev.x) / (pointNext.x - pointPrev.x)))
|
|
||||||
];
|
|
||||||
|
|
||||||
var item = {
|
|
||||||
datapoint: pointOnLine,
|
|
||||||
dataIndex: closestIndex,
|
|
||||||
series: series,
|
|
||||||
seriesIndex: i
|
|
||||||
};
|
|
||||||
|
|
||||||
closestTrace = {
|
|
||||||
distance: distToLine,
|
|
||||||
item: item
|
|
||||||
};
|
|
||||||
|
|
||||||
if (that.tooltipOptions.snap) {
|
|
||||||
ttPos = {
|
|
||||||
pageX: series.xaxis.p2c(pointOnLine[0]),
|
|
||||||
pageY: series.yaxis.p2c(pointOnLine[1])
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (closestTrace.distance < maxDistance + 1)
|
|
||||||
plot.showTooltip(closestTrace.item, ttPos);
|
|
||||||
else
|
|
||||||
plot.hideTooltip();
|
|
||||||
} else {
|
|
||||||
plot.hideTooltip();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Quick little function for setting the tooltip position.
|
|
||||||
plot.setTooltipPosition = function (pos) {
|
|
||||||
var $tip = that.getDomElement();
|
|
||||||
|
|
||||||
var totalTipWidth = $tip.outerWidth() + that.tooltipOptions.shifts.x;
|
|
||||||
var totalTipHeight = $tip.outerHeight() + that.tooltipOptions.shifts.y;
|
|
||||||
if ((pos.x - $(window).scrollLeft()) > ($(window)[that.wfunc]() - totalTipWidth)) {
|
|
||||||
pos.x -= totalTipWidth;
|
|
||||||
}
|
|
||||||
if ((pos.y - $(window).scrollTop()) > ($(window)[that.hfunc]() - totalTipHeight)) {
|
|
||||||
pos.y -= totalTipHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
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.
|
|
||||||
plot.showTooltip = function (target, position, targetPosition) {
|
|
||||||
var $tip = that.getDomElement();
|
|
||||||
|
|
||||||
// convert tooltip content template to real tipText
|
|
||||||
var tipText = that.stringFormat(that.tooltipOptions.content, target);
|
|
||||||
if (tipText === '')
|
|
||||||
return;
|
|
||||||
|
|
||||||
$tip.html(tipText);
|
|
||||||
plot.setTooltipPosition({ x: position.pageX, y: position.pageY });
|
|
||||||
$tip.css({
|
|
||||||
left: that.tipPosition.x + that.tooltipOptions.shifts.x,
|
|
||||||
top: that.tipPosition.y + that.tooltipOptions.shifts.y
|
|
||||||
}).show();
|
|
||||||
|
|
||||||
// run callback
|
|
||||||
if (typeof that.tooltipOptions.onHover === 'function') {
|
|
||||||
that.tooltipOptions.onHover(target, $tip);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Quick little function for hiding the tooltip.
|
|
||||||
plot.hideTooltip = function () {
|
|
||||||
that.getDomElement().hide().html('');
|
|
||||||
};
|
|
||||||
|
|
||||||
plot.removeTooltip = function() {
|
|
||||||
that.getDomElement().remove();
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get or create tooltip DOM element
|
|
||||||
* @return jQuery object
|
|
||||||
*/
|
|
||||||
FlotTooltip.prototype.getDomElement = function () {
|
|
||||||
var $tip = $('<div>');
|
|
||||||
if (this.tooltipOptions && this.tooltipOptions.cssClass) {
|
|
||||||
$tip = $('.' + this.tooltipOptions.cssClass);
|
|
||||||
|
|
||||||
if( $tip.length === 0 ){
|
|
||||||
$tip = $('<div />').addClass(this.tooltipOptions.cssClass);
|
|
||||||
$tip.appendTo('body').hide().css({position: 'absolute'});
|
|
||||||
|
|
||||||
if(this.tooltipOptions.defaultTheme) {
|
|
||||||
$tip.css({
|
|
||||||
'background': '#fff',
|
|
||||||
'z-index': '1040',
|
|
||||||
'padding': '0.4em 0.6em',
|
|
||||||
'border-radius': '0.5em',
|
|
||||||
'font-size': '0.8em',
|
|
||||||
'border': '1px solid #111',
|
|
||||||
'display': 'none',
|
|
||||||
'white-space': 'nowrap'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $tip;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* core function, create tooltip content
|
|
||||||
* @param {string} content - template with tooltip content
|
|
||||||
* @param {object} item - Flot item
|
|
||||||
* @return {string} real tooltip content for current item
|
|
||||||
*/
|
|
||||||
FlotTooltip.prototype.stringFormat = function (content, item) {
|
|
||||||
var percentPattern = /%p\.{0,1}(\d{0,})/;
|
|
||||||
var seriesPattern = /%s/;
|
|
||||||
var colorPattern = /%c/;
|
|
||||||
var xLabelPattern = /%lx/; // requires flot-axislabels plugin https://github.com/markrcote/flot-axislabels, will be ignored if plugin isn't loaded
|
|
||||||
var yLabelPattern = /%ly/; // requires flot-axislabels plugin https://github.com/markrcote/flot-axislabels, will be ignored if plugin isn't loaded
|
|
||||||
var xPattern = /%x\.{0,1}(\d{0,})/;
|
|
||||||
var yPattern = /%y\.{0,1}(\d{0,})/;
|
|
||||||
var xPatternWithoutPrecision = "%x";
|
|
||||||
var yPatternWithoutPrecision = "%y";
|
|
||||||
var customTextPattern = "%ct";
|
|
||||||
var nPiePattern = "%n";
|
|
||||||
|
|
||||||
var x, y, customText, p, n;
|
|
||||||
|
|
||||||
// for threshold plugin we need to read data from different place
|
|
||||||
if (typeof item.series.threshold !== "undefined") {
|
|
||||||
x = item.datapoint[0];
|
|
||||||
y = item.datapoint[1];
|
|
||||||
customText = item.datapoint[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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];
|
|
||||||
y = item.series.datapoints.points[item.dataIndex * 2 + 1];
|
|
||||||
// TODO: where to find custom text in this variant?
|
|
||||||
customText = "";
|
|
||||||
} else {
|
|
||||||
x = item.series.data[item.dataIndex][0];
|
|
||||||
y = item.series.data[item.dataIndex][1];
|
|
||||||
customText = item.series.data[item.dataIndex][2];
|
|
||||||
}
|
|
||||||
|
|
||||||
// I think this is only in case of threshold plugin
|
|
||||||
if (item.series.label === null && item.series.originSeries) {
|
|
||||||
item.series.label = item.series.originSeries.label;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if it is a function callback get the content string
|
|
||||||
if (typeof(content) === 'function') {
|
|
||||||
content = content(item.series.label, x, y, item);
|
|
||||||
}
|
|
||||||
|
|
||||||
// the case where the passed content is equal to false
|
|
||||||
if (typeof(content) === 'boolean' && !content) {
|
|
||||||
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
|
|
||||||
if (typeof (item.series.percent) !== 'undefined') {
|
|
||||||
p = item.series.percent;
|
|
||||||
} else if (typeof (item.series.percents) !== 'undefined') {
|
|
||||||
p = item.series.percents[item.dataIndex];
|
|
||||||
}
|
|
||||||
if (typeof p === 'number') {
|
|
||||||
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
|
|
||||||
if (typeof(item.series.label) !== 'undefined') {
|
|
||||||
content = content.replace(seriesPattern, item.series.label);
|
|
||||||
} else {
|
|
||||||
//remove %s if label is undefined
|
|
||||||
content = content.replace(seriesPattern, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// color match
|
|
||||||
if (typeof(item.series.color) !== 'undefined') {
|
|
||||||
content = content.replace(colorPattern, item.series.color);
|
|
||||||
} else {
|
|
||||||
//remove %s if color is undefined
|
|
||||||
content = content.replace(colorPattern, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// x axis label match
|
|
||||||
if (this.hasAxisLabel('xaxis', item)) {
|
|
||||||
content = content.replace(xLabelPattern, item.series.xaxis.options.axisLabel);
|
|
||||||
} else {
|
|
||||||
//remove %lx if axis label is undefined or axislabels plugin not present
|
|
||||||
content = content.replace(xLabelPattern, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// y axis label match
|
|
||||||
if (this.hasAxisLabel('yaxis', item)) {
|
|
||||||
content = content.replace(yLabelPattern, item.series.yaxis.options.axisLabel);
|
|
||||||
} else {
|
|
||||||
//remove %ly if axis label is undefined or axislabels plugin not present
|
|
||||||
content = content.replace(yLabelPattern, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// time mode axes with custom dateFormat
|
|
||||||
if (this.isTimeMode('xaxis', item) && this.isXDateFormat(item)) {
|
|
||||||
content = content.replace(xPattern, this.timestampToDate(x, this.tooltipOptions.xDateFormat, item.series.xaxis.options));
|
|
||||||
}
|
|
||||||
if (this.isTimeMode('yaxis', item) && this.isYDateFormat(item)) {
|
|
||||||
content = content.replace(yPattern, this.timestampToDate(y, this.tooltipOptions.yDateFormat, item.series.yaxis.options));
|
|
||||||
}
|
|
||||||
|
|
||||||
// set precision if defined
|
|
||||||
if (typeof x === 'number') {
|
|
||||||
content = this.adjustValPrecision(xPattern, content, x);
|
|
||||||
}
|
|
||||||
if (typeof y === 'number') {
|
|
||||||
content = this.adjustValPrecision(yPattern, content, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
// change x from number to given label, if given
|
|
||||||
if (typeof item.series.xaxis.ticks !== 'undefined') {
|
|
||||||
|
|
||||||
var ticks;
|
|
||||||
if (this.hasRotatedXAxisTicks(item)) {
|
|
||||||
// xaxis.ticks will be an empty array if tickRotor is being used, but the values are available in rotatedTicks
|
|
||||||
ticks = 'rotatedTicks';
|
|
||||||
} else {
|
|
||||||
ticks = 'ticks';
|
|
||||||
}
|
|
||||||
|
|
||||||
// see https://github.com/krzysu/flot.tooltip/issues/65
|
|
||||||
var tickIndex = item.dataIndex + item.seriesIndex;
|
|
||||||
|
|
||||||
for (var xIndex in item.series.xaxis[ticks]) {
|
|
||||||
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;
|
|
||||||
if (valueX === x) {
|
|
||||||
content = content.replace(xPattern, item.series.xaxis[ticks][tickIndex].label.replace(/\$/g, '$$$$'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// change y from number to given label, if given
|
|
||||||
if (typeof item.series.yaxis.ticks !== 'undefined') {
|
|
||||||
for (var yIndex in item.series.yaxis.ticks) {
|
|
||||||
if (item.series.yaxis.ticks.hasOwnProperty(yIndex)) {
|
|
||||||
var valueY = (this.isCategoriesMode('yaxis', item)) ? item.series.yaxis.ticks[yIndex].label : item.series.yaxis.ticks[yIndex].v;
|
|
||||||
if (valueY === y) {
|
|
||||||
content = content.replace(yPattern, item.series.yaxis.ticks[yIndex].label.replace(/\$/g, '$$$$'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// if no value customization, use tickFormatter by default
|
|
||||||
if (typeof item.series.xaxis.tickFormatter !== 'undefined') {
|
|
||||||
//escape dollar
|
|
||||||
content = content.replace(xPatternWithoutPrecision, item.series.xaxis.tickFormatter(x, item.series.xaxis).replace(/\$/g, '$$'));
|
|
||||||
}
|
|
||||||
if (typeof item.series.yaxis.tickFormatter !== 'undefined') {
|
|
||||||
//escape dollar
|
|
||||||
content = content.replace(yPatternWithoutPrecision, item.series.yaxis.tickFormatter(y, item.series.yaxis).replace(/\$/g, '$$'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return content;
|
|
||||||
};
|
|
||||||
|
|
||||||
// helpers just for readability
|
|
||||||
FlotTooltip.prototype.isTimeMode = function (axisName, item) {
|
|
||||||
return (typeof item.series[axisName].options.mode !== 'undefined' && item.series[axisName].options.mode === 'time');
|
|
||||||
};
|
|
||||||
|
|
||||||
FlotTooltip.prototype.isXDateFormat = function (item) {
|
|
||||||
return (typeof this.tooltipOptions.xDateFormat !== 'undefined' && this.tooltipOptions.xDateFormat !== null);
|
|
||||||
};
|
|
||||||
|
|
||||||
FlotTooltip.prototype.isYDateFormat = function (item) {
|
|
||||||
return (typeof this.tooltipOptions.yDateFormat !== 'undefined' && this.tooltipOptions.yDateFormat !== null);
|
|
||||||
};
|
|
||||||
|
|
||||||
FlotTooltip.prototype.isCategoriesMode = function (axisName, item) {
|
|
||||||
return (typeof item.series[axisName].options.mode !== 'undefined' && item.series[axisName].options.mode === 'categories');
|
|
||||||
};
|
|
||||||
|
|
||||||
//
|
|
||||||
FlotTooltip.prototype.timestampToDate = function (tmst, dateFormat, options) {
|
|
||||||
var theDate = $.plot.dateGenerator(tmst, options);
|
|
||||||
return $.plot.formatDate(theDate, dateFormat, this.tooltipOptions.monthNames, this.tooltipOptions.dayNames);
|
|
||||||
};
|
|
||||||
|
|
||||||
//
|
|
||||||
FlotTooltip.prototype.adjustValPrecision = function (pattern, content, value) {
|
|
||||||
|
|
||||||
var precision;
|
|
||||||
var matchResult = content.match(pattern);
|
|
||||||
if( matchResult !== null ) {
|
|
||||||
if(RegExp.$1 !== '') {
|
|
||||||
precision = RegExp.$1;
|
|
||||||
value = value.toFixed(precision);
|
|
||||||
|
|
||||||
// only replace content if precision exists, in other case use thickformater
|
|
||||||
content = content.replace(pattern, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return content;
|
|
||||||
};
|
|
||||||
|
|
||||||
// other plugins detection below
|
|
||||||
|
|
||||||
// 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) {
|
|
||||||
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
|
|
||||||
FlotTooltip.prototype.hasRotatedXAxisTicks = function (item) {
|
|
||||||
return ($.inArray('tickRotor',this.plotPlugins) !== -1 && typeof item.series.xaxis.rotatedTicks !== 'undefined');
|
|
||||||
};
|
|
||||||
|
|
||||||
//
|
|
||||||
var init = function (plot) {
|
|
||||||
new FlotTooltip(plot);
|
|
||||||
};
|
|
||||||
|
|
||||||
// define Flot plugin
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: defaultOptions,
|
|
||||||
name: 'tooltip',
|
|
||||||
version: '0.8.5'
|
|
||||||
});
|
|
||||||
|
|
||||||
})(jQuery);
|
|
1428
vendor/flot/excanvas.js
vendored
1
vendor/flot/excanvas.min.js
vendored
180
vendor/flot/jquery.colorhelpers.js
vendored
@ -1,180 +0,0 @@
|
|||||||
/* Plugin for jQuery for working with colors.
|
|
||||||
*
|
|
||||||
* Version 1.1.
|
|
||||||
*
|
|
||||||
* Inspiration from jQuery color animation plugin by John Resig.
|
|
||||||
*
|
|
||||||
* Released under the MIT license by Ole Laursen, October 2009.
|
|
||||||
*
|
|
||||||
* Examples:
|
|
||||||
*
|
|
||||||
* $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString()
|
|
||||||
* var c = $.color.extract($("#mydiv"), 'background-color');
|
|
||||||
* console.log(c.r, c.g, c.b, c.a);
|
|
||||||
* $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)"
|
|
||||||
*
|
|
||||||
* Note that .scale() and .add() return the same modified object
|
|
||||||
* instead of making a new one.
|
|
||||||
*
|
|
||||||
* V. 1.1: Fix error handling so e.g. parsing an empty string does
|
|
||||||
* produce a color rather than just crashing.
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function($) {
|
|
||||||
$.color = {};
|
|
||||||
|
|
||||||
// construct color object with some convenient chainable helpers
|
|
||||||
$.color.make = function (r, g, b, a) {
|
|
||||||
var o = {};
|
|
||||||
o.r = r || 0;
|
|
||||||
o.g = g || 0;
|
|
||||||
o.b = b || 0;
|
|
||||||
o.a = a != null ? a : 1;
|
|
||||||
|
|
||||||
o.add = function (c, d) {
|
|
||||||
for (var i = 0; i < c.length; ++i)
|
|
||||||
o[c.charAt(i)] += d;
|
|
||||||
return o.normalize();
|
|
||||||
};
|
|
||||||
|
|
||||||
o.scale = function (c, f) {
|
|
||||||
for (var i = 0; i < c.length; ++i)
|
|
||||||
o[c.charAt(i)] *= f;
|
|
||||||
return o.normalize();
|
|
||||||
};
|
|
||||||
|
|
||||||
o.toString = function () {
|
|
||||||
if (o.a >= 1.0) {
|
|
||||||
return "rgb("+[o.r, o.g, o.b].join(",")+")";
|
|
||||||
} else {
|
|
||||||
return "rgba("+[o.r, o.g, o.b, o.a].join(",")+")";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
o.normalize = function () {
|
|
||||||
function clamp(min, value, max) {
|
|
||||||
return value < min ? min: (value > max ? max: value);
|
|
||||||
}
|
|
||||||
|
|
||||||
o.r = clamp(0, parseInt(o.r), 255);
|
|
||||||
o.g = clamp(0, parseInt(o.g), 255);
|
|
||||||
o.b = clamp(0, parseInt(o.b), 255);
|
|
||||||
o.a = clamp(0, o.a, 1);
|
|
||||||
return o;
|
|
||||||
};
|
|
||||||
|
|
||||||
o.clone = function () {
|
|
||||||
return $.color.make(o.r, o.b, o.g, o.a);
|
|
||||||
};
|
|
||||||
|
|
||||||
return o.normalize();
|
|
||||||
}
|
|
||||||
|
|
||||||
// extract CSS color property from element, going up in the DOM
|
|
||||||
// if it's "transparent"
|
|
||||||
$.color.extract = function (elem, css) {
|
|
||||||
var c;
|
|
||||||
|
|
||||||
do {
|
|
||||||
c = elem.css(css).toLowerCase();
|
|
||||||
// keep going until we find an element that has color, or
|
|
||||||
// we hit the body or root (have no parent)
|
|
||||||
if (c != '' && c != 'transparent')
|
|
||||||
break;
|
|
||||||
elem = elem.parent();
|
|
||||||
} while (elem.length && !$.nodeName(elem.get(0), "body"));
|
|
||||||
|
|
||||||
// catch Safari's way of signalling transparent
|
|
||||||
if (c == "rgba(0, 0, 0, 0)")
|
|
||||||
c = "transparent";
|
|
||||||
|
|
||||||
return $.color.parse(c);
|
|
||||||
}
|
|
||||||
|
|
||||||
// parse CSS color string (like "rgb(10, 32, 43)" or "#fff"),
|
|
||||||
// returns color object, if parsing failed, you get black (0, 0,
|
|
||||||
// 0) out
|
|
||||||
$.color.parse = function (str) {
|
|
||||||
var res, m = $.color.make;
|
|
||||||
|
|
||||||
// Look for rgb(num,num,num)
|
|
||||||
if (res = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(str))
|
|
||||||
return m(parseInt(res[1], 10), parseInt(res[2], 10), parseInt(res[3], 10));
|
|
||||||
|
|
||||||
// Look for rgba(num,num,num,num)
|
|
||||||
if (res = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str))
|
|
||||||
return m(parseInt(res[1], 10), parseInt(res[2], 10), parseInt(res[3], 10), parseFloat(res[4]));
|
|
||||||
|
|
||||||
// Look for rgb(num%,num%,num%)
|
|
||||||
if (res = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(str))
|
|
||||||
return m(parseFloat(res[1])*2.55, parseFloat(res[2])*2.55, parseFloat(res[3])*2.55);
|
|
||||||
|
|
||||||
// Look for rgba(num%,num%,num%,num)
|
|
||||||
if (res = /rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str))
|
|
||||||
return m(parseFloat(res[1])*2.55, parseFloat(res[2])*2.55, parseFloat(res[3])*2.55, parseFloat(res[4]));
|
|
||||||
|
|
||||||
// Look for #a0b1c2
|
|
||||||
if (res = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(str))
|
|
||||||
return m(parseInt(res[1], 16), parseInt(res[2], 16), parseInt(res[3], 16));
|
|
||||||
|
|
||||||
// Look for #fff
|
|
||||||
if (res = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(str))
|
|
||||||
return m(parseInt(res[1]+res[1], 16), parseInt(res[2]+res[2], 16), parseInt(res[3]+res[3], 16));
|
|
||||||
|
|
||||||
// Otherwise, we're most likely dealing with a named color
|
|
||||||
var name = $.trim(str).toLowerCase();
|
|
||||||
if (name == "transparent")
|
|
||||||
return m(255, 255, 255, 0);
|
|
||||||
else {
|
|
||||||
// default to black
|
|
||||||
res = lookupColors[name] || [0, 0, 0];
|
|
||||||
return m(res[0], res[1], res[2]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var lookupColors = {
|
|
||||||
aqua:[0,255,255],
|
|
||||||
azure:[240,255,255],
|
|
||||||
beige:[245,245,220],
|
|
||||||
black:[0,0,0],
|
|
||||||
blue:[0,0,255],
|
|
||||||
brown:[165,42,42],
|
|
||||||
cyan:[0,255,255],
|
|
||||||
darkblue:[0,0,139],
|
|
||||||
darkcyan:[0,139,139],
|
|
||||||
darkgrey:[169,169,169],
|
|
||||||
darkgreen:[0,100,0],
|
|
||||||
darkkhaki:[189,183,107],
|
|
||||||
darkmagenta:[139,0,139],
|
|
||||||
darkolivegreen:[85,107,47],
|
|
||||||
darkorange:[255,140,0],
|
|
||||||
darkorchid:[153,50,204],
|
|
||||||
darkred:[139,0,0],
|
|
||||||
darksalmon:[233,150,122],
|
|
||||||
darkviolet:[148,0,211],
|
|
||||||
fuchsia:[255,0,255],
|
|
||||||
gold:[255,215,0],
|
|
||||||
green:[0,128,0],
|
|
||||||
indigo:[75,0,130],
|
|
||||||
khaki:[240,230,140],
|
|
||||||
lightblue:[173,216,230],
|
|
||||||
lightcyan:[224,255,255],
|
|
||||||
lightgreen:[144,238,144],
|
|
||||||
lightgrey:[211,211,211],
|
|
||||||
lightpink:[255,182,193],
|
|
||||||
lightyellow:[255,255,224],
|
|
||||||
lime:[0,255,0],
|
|
||||||
magenta:[255,0,255],
|
|
||||||
maroon:[128,0,0],
|
|
||||||
navy:[0,0,128],
|
|
||||||
olive:[128,128,0],
|
|
||||||
orange:[255,165,0],
|
|
||||||
pink:[255,192,203],
|
|
||||||
purple:[128,0,128],
|
|
||||||
violet:[128,0,128],
|
|
||||||
red:[255,0,0],
|
|
||||||
silver:[192,192,192],
|
|
||||||
white:[255,255,255],
|
|
||||||
yellow:[255,255,0]
|
|
||||||
};
|
|
||||||
})(jQuery);
|
|
345
vendor/flot/jquery.flot.canvas.js
vendored
@ -1,345 +0,0 @@
|
|||||||
/* Flot plugin for drawing all elements of a plot on the canvas.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
Flot normally produces certain elements, like axis labels and the legend, using
|
|
||||||
HTML elements. This permits greater interactivity and customization, and often
|
|
||||||
looks better, due to cross-browser canvas text inconsistencies and limitations.
|
|
||||||
|
|
||||||
It can also be desirable to render the plot entirely in canvas, particularly
|
|
||||||
if the goal is to save it as an image, or if Flot is being used in a context
|
|
||||||
where the HTML DOM does not exist, as is the case within Node.js. This plugin
|
|
||||||
switches out Flot's standard drawing operations for canvas-only replacements.
|
|
||||||
|
|
||||||
Currently the plugin supports only axis labels, but it will eventually allow
|
|
||||||
every element of the plot to be rendered directly to canvas.
|
|
||||||
|
|
||||||
The plugin supports these options:
|
|
||||||
|
|
||||||
{
|
|
||||||
canvas: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
The "canvas" option controls whether full canvas drawing is enabled, making it
|
|
||||||
possible to toggle on and off. This is useful when a plot uses HTML text in the
|
|
||||||
browser, but needs to redraw with canvas text when exporting as an image.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function($) {
|
|
||||||
|
|
||||||
var options = {
|
|
||||||
canvas: true
|
|
||||||
};
|
|
||||||
|
|
||||||
var render, getTextInfo, addText;
|
|
||||||
|
|
||||||
// Cache the prototype hasOwnProperty for faster access
|
|
||||||
|
|
||||||
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
||||||
|
|
||||||
function init(plot, classes) {
|
|
||||||
|
|
||||||
var Canvas = classes.Canvas;
|
|
||||||
|
|
||||||
// We only want to replace the functions once; the second time around
|
|
||||||
// we would just get our new function back. This whole replacing of
|
|
||||||
// prototype functions is a disaster, and needs to be changed ASAP.
|
|
||||||
|
|
||||||
if (render == null) {
|
|
||||||
getTextInfo = Canvas.prototype.getTextInfo,
|
|
||||||
addText = Canvas.prototype.addText,
|
|
||||||
render = Canvas.prototype.render;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Finishes rendering the canvas, including overlaid text
|
|
||||||
|
|
||||||
Canvas.prototype.render = function() {
|
|
||||||
|
|
||||||
if (!plot.getOptions().canvas) {
|
|
||||||
return render.call(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
var context = this.context,
|
|
||||||
cache = this._textCache;
|
|
||||||
|
|
||||||
// For each text layer, render elements marked as active
|
|
||||||
|
|
||||||
context.save();
|
|
||||||
context.textBaseline = "middle";
|
|
||||||
|
|
||||||
for (var layerKey in cache) {
|
|
||||||
if (hasOwnProperty.call(cache, layerKey)) {
|
|
||||||
var layerCache = cache[layerKey];
|
|
||||||
for (var styleKey in layerCache) {
|
|
||||||
if (hasOwnProperty.call(layerCache, styleKey)) {
|
|
||||||
var styleCache = layerCache[styleKey],
|
|
||||||
updateStyles = true;
|
|
||||||
for (var key in styleCache) {
|
|
||||||
if (hasOwnProperty.call(styleCache, key)) {
|
|
||||||
|
|
||||||
var info = styleCache[key],
|
|
||||||
positions = info.positions,
|
|
||||||
lines = info.lines;
|
|
||||||
|
|
||||||
// Since every element at this level of the cache have the
|
|
||||||
// same font and fill styles, we can just change them once
|
|
||||||
// using the values from the first element.
|
|
||||||
|
|
||||||
if (updateStyles) {
|
|
||||||
context.fillStyle = info.font.color;
|
|
||||||
context.font = info.font.definition;
|
|
||||||
updateStyles = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 0, position; position = positions[i]; i++) {
|
|
||||||
if (position.active) {
|
|
||||||
for (var j = 0, line; line = position.lines[j]; j++) {
|
|
||||||
context.fillText(lines[j].text, line[0], line[1]);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
positions.splice(i--, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (positions.length == 0) {
|
|
||||||
delete styleCache[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
context.restore();
|
|
||||||
};
|
|
||||||
|
|
||||||
// Creates (if necessary) and returns a text info object.
|
|
||||||
//
|
|
||||||
// When the canvas option is set, the object looks like this:
|
|
||||||
//
|
|
||||||
// {
|
|
||||||
// width: Width of the text's bounding box.
|
|
||||||
// height: Height of the text's bounding box.
|
|
||||||
// positions: Array of positions at which this text is drawn.
|
|
||||||
// lines: [{
|
|
||||||
// height: Height of this line.
|
|
||||||
// widths: Width of this line.
|
|
||||||
// text: Text on this line.
|
|
||||||
// }],
|
|
||||||
// font: {
|
|
||||||
// definition: Canvas font property string.
|
|
||||||
// color: Color of the text.
|
|
||||||
// },
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// The positions array contains objects that look like this:
|
|
||||||
//
|
|
||||||
// {
|
|
||||||
// active: Flag indicating whether the text should be visible.
|
|
||||||
// lines: Array of [x, y] coordinates at which to draw the line.
|
|
||||||
// x: X coordinate at which to draw the text.
|
|
||||||
// y: Y coordinate at which to draw the text.
|
|
||||||
// }
|
|
||||||
|
|
||||||
Canvas.prototype.getTextInfo = function(layer, text, font, angle, width) {
|
|
||||||
|
|
||||||
if (!plot.getOptions().canvas) {
|
|
||||||
return getTextInfo.call(this, layer, text, font, angle, width);
|
|
||||||
}
|
|
||||||
|
|
||||||
var textStyle, layerCache, styleCache, info;
|
|
||||||
|
|
||||||
// Cast the value to a string, in case we were given a number
|
|
||||||
|
|
||||||
text = "" + text;
|
|
||||||
|
|
||||||
// If the font is a font-spec object, generate a CSS definition
|
|
||||||
|
|
||||||
if (typeof font === "object") {
|
|
||||||
textStyle = font.style + " " + font.variant + " " + font.weight + " " + font.size + "px " + font.family;
|
|
||||||
} else {
|
|
||||||
textStyle = font;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Retrieve (or create) the cache for the text's layer and styles
|
|
||||||
|
|
||||||
layerCache = this._textCache[layer];
|
|
||||||
|
|
||||||
if (layerCache == null) {
|
|
||||||
layerCache = this._textCache[layer] = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
styleCache = layerCache[textStyle];
|
|
||||||
|
|
||||||
if (styleCache == null) {
|
|
||||||
styleCache = layerCache[textStyle] = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
info = styleCache[text];
|
|
||||||
|
|
||||||
if (info == null) {
|
|
||||||
|
|
||||||
var context = this.context;
|
|
||||||
|
|
||||||
// If the font was provided as CSS, create a div with those
|
|
||||||
// classes and examine it to generate a canvas font spec.
|
|
||||||
|
|
||||||
if (typeof font !== "object") {
|
|
||||||
|
|
||||||
var element = $("<div> </div>")
|
|
||||||
.css("position", "absolute")
|
|
||||||
.addClass(typeof font === "string" ? font : null)
|
|
||||||
.appendTo(this.getTextLayer(layer));
|
|
||||||
|
|
||||||
font = {
|
|
||||||
lineHeight: element.height(),
|
|
||||||
style: element.css("font-style"),
|
|
||||||
variant: element.css("font-variant"),
|
|
||||||
weight: element.css("font-weight"),
|
|
||||||
family: element.css("font-family"),
|
|
||||||
color: element.css("color")
|
|
||||||
};
|
|
||||||
|
|
||||||
// Setting line-height to 1, without units, sets it equal
|
|
||||||
// to the font-size, even if the font-size is abstract,
|
|
||||||
// like 'smaller'. This enables us to read the real size
|
|
||||||
// via the element's height, working around browsers that
|
|
||||||
// return the literal 'smaller' value.
|
|
||||||
|
|
||||||
font.size = element.css("line-height", 1).height();
|
|
||||||
|
|
||||||
element.remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
textStyle = font.style + " " + font.variant + " " + font.weight + " " + font.size + "px " + font.family;
|
|
||||||
|
|
||||||
// Create a new info object, initializing the dimensions to
|
|
||||||
// zero so we can count them up line-by-line.
|
|
||||||
|
|
||||||
info = styleCache[text] = {
|
|
||||||
width: 0,
|
|
||||||
height: 0,
|
|
||||||
positions: [],
|
|
||||||
lines: [],
|
|
||||||
font: {
|
|
||||||
definition: textStyle,
|
|
||||||
color: font.color
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
context.save();
|
|
||||||
context.font = textStyle;
|
|
||||||
|
|
||||||
// Canvas can't handle multi-line strings; break on various
|
|
||||||
// newlines, including HTML brs, to build a list of lines.
|
|
||||||
// Note that we could split directly on regexps, but IE < 9 is
|
|
||||||
// broken; revisit when we drop IE 7/8 support.
|
|
||||||
|
|
||||||
var lines = (text + "").replace(/<br ?\/?>|\r\n|\r/g, "\n").split("\n");
|
|
||||||
|
|
||||||
for (var i = 0; i < lines.length; ++i) {
|
|
||||||
|
|
||||||
var lineText = lines[i],
|
|
||||||
measured = context.measureText(lineText);
|
|
||||||
|
|
||||||
info.width = Math.max(measured.width, info.width);
|
|
||||||
info.height += font.lineHeight;
|
|
||||||
|
|
||||||
info.lines.push({
|
|
||||||
text: lineText,
|
|
||||||
width: measured.width,
|
|
||||||
height: font.lineHeight
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
context.restore();
|
|
||||||
}
|
|
||||||
|
|
||||||
return info;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Adds a text string to the canvas text overlay.
|
|
||||||
|
|
||||||
Canvas.prototype.addText = function(layer, x, y, text, font, angle, width, halign, valign) {
|
|
||||||
|
|
||||||
if (!plot.getOptions().canvas) {
|
|
||||||
return addText.call(this, layer, x, y, text, font, angle, width, halign, valign);
|
|
||||||
}
|
|
||||||
|
|
||||||
var info = this.getTextInfo(layer, text, font, angle, width),
|
|
||||||
positions = info.positions,
|
|
||||||
lines = info.lines;
|
|
||||||
|
|
||||||
// Text is drawn with baseline 'middle', which we need to account
|
|
||||||
// for by adding half a line's height to the y position.
|
|
||||||
|
|
||||||
y += info.height / lines.length / 2;
|
|
||||||
|
|
||||||
// Tweak the initial y-position to match vertical alignment
|
|
||||||
|
|
||||||
if (valign == "middle") {
|
|
||||||
y = Math.round(y - info.height / 2);
|
|
||||||
} else if (valign == "bottom") {
|
|
||||||
y = Math.round(y - info.height);
|
|
||||||
} else {
|
|
||||||
y = Math.round(y);
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME: LEGACY BROWSER FIX
|
|
||||||
// AFFECTS: Opera < 12.00
|
|
||||||
|
|
||||||
// Offset the y coordinate, since Opera is off pretty
|
|
||||||
// consistently compared to the other browsers.
|
|
||||||
|
|
||||||
if (!!(window.opera && window.opera.version().split(".")[0] < 12)) {
|
|
||||||
y -= 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Determine whether this text already exists at this position.
|
|
||||||
// If so, mark it for inclusion in the next render pass.
|
|
||||||
|
|
||||||
for (var i = 0, position; position = positions[i]; i++) {
|
|
||||||
if (position.x == x && position.y == y) {
|
|
||||||
position.active = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the text doesn't exist at this position, create a new entry
|
|
||||||
|
|
||||||
position = {
|
|
||||||
active: true,
|
|
||||||
lines: [],
|
|
||||||
x: x,
|
|
||||||
y: y
|
|
||||||
};
|
|
||||||
|
|
||||||
positions.push(position);
|
|
||||||
|
|
||||||
// Fill in the x & y positions of each line, adjusting them
|
|
||||||
// individually for horizontal alignment.
|
|
||||||
|
|
||||||
for (var i = 0, line; line = lines[i]; i++) {
|
|
||||||
if (halign == "center") {
|
|
||||||
position.lines.push([Math.round(x - line.width / 2), y]);
|
|
||||||
} else if (halign == "right") {
|
|
||||||
position.lines.push([Math.round(x - line.width), y]);
|
|
||||||
} else {
|
|
||||||
position.lines.push([Math.round(x), y]);
|
|
||||||
}
|
|
||||||
y += line.height;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: "canvas",
|
|
||||||
version: "1.0"
|
|
||||||
});
|
|
||||||
|
|
||||||
})(jQuery);
|
|
190
vendor/flot/jquery.flot.categories.js
vendored
@ -1,190 +0,0 @@
|
|||||||
/* Flot plugin for plotting textual data or categories.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
Consider a dataset like [["February", 34], ["March", 20], ...]. This plugin
|
|
||||||
allows you to plot such a dataset directly.
|
|
||||||
|
|
||||||
To enable it, you must specify mode: "categories" on the axis with the textual
|
|
||||||
labels, e.g.
|
|
||||||
|
|
||||||
$.plot("#placeholder", data, { xaxis: { mode: "categories" } });
|
|
||||||
|
|
||||||
By default, the labels are ordered as they are met in the data series. If you
|
|
||||||
need a different ordering, you can specify "categories" on the axis options
|
|
||||||
and list the categories there:
|
|
||||||
|
|
||||||
xaxis: {
|
|
||||||
mode: "categories",
|
|
||||||
categories: ["February", "March", "April"]
|
|
||||||
}
|
|
||||||
|
|
||||||
If you need to customize the distances between the categories, you can specify
|
|
||||||
"categories" as an object mapping labels to values
|
|
||||||
|
|
||||||
xaxis: {
|
|
||||||
mode: "categories",
|
|
||||||
categories: { "February": 1, "March": 3, "April": 4 }
|
|
||||||
}
|
|
||||||
|
|
||||||
If you don't specify all categories, the remaining categories will be numbered
|
|
||||||
from the max value plus 1 (with a spacing of 1 between each).
|
|
||||||
|
|
||||||
Internally, the plugin works by transforming the input data through an auto-
|
|
||||||
generated mapping where the first category becomes 0, the second 1, etc.
|
|
||||||
Hence, a point like ["February", 34] becomes [0, 34] internally in Flot (this
|
|
||||||
is visible in hover and click events that return numbers rather than the
|
|
||||||
category labels). The plugin also overrides the tick generator to spit out the
|
|
||||||
categories as ticks instead of the values.
|
|
||||||
|
|
||||||
If you need to map a value back to its label, the mapping is always accessible
|
|
||||||
as "categories" on the axis object, e.g. plot.getAxes().xaxis.categories.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
var options = {
|
|
||||||
xaxis: {
|
|
||||||
categories: null
|
|
||||||
},
|
|
||||||
yaxis: {
|
|
||||||
categories: null
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function processRawData(plot, series, data, datapoints) {
|
|
||||||
// if categories are enabled, we need to disable
|
|
||||||
// auto-transformation to numbers so the strings are intact
|
|
||||||
// for later processing
|
|
||||||
|
|
||||||
var xCategories = series.xaxis.options.mode == "categories",
|
|
||||||
yCategories = series.yaxis.options.mode == "categories";
|
|
||||||
|
|
||||||
if (!(xCategories || yCategories))
|
|
||||||
return;
|
|
||||||
|
|
||||||
var format = datapoints.format;
|
|
||||||
|
|
||||||
if (!format) {
|
|
||||||
// FIXME: auto-detection should really not be defined here
|
|
||||||
var s = series;
|
|
||||||
format = [];
|
|
||||||
format.push({ x: true, number: true, required: true });
|
|
||||||
format.push({ y: true, number: true, required: true });
|
|
||||||
|
|
||||||
if (s.bars.show || (s.lines.show && s.lines.fill)) {
|
|
||||||
var autoscale = !!((s.bars.show && s.bars.zero) || (s.lines.show && s.lines.zero));
|
|
||||||
format.push({ y: true, number: true, required: false, defaultValue: 0, autoscale: autoscale });
|
|
||||||
if (s.bars.horizontal) {
|
|
||||||
delete format[format.length - 1].y;
|
|
||||||
format[format.length - 1].x = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
datapoints.format = format;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var m = 0; m < format.length; ++m) {
|
|
||||||
if (format[m].x && xCategories)
|
|
||||||
format[m].number = false;
|
|
||||||
|
|
||||||
if (format[m].y && yCategories)
|
|
||||||
format[m].number = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getNextIndex(categories) {
|
|
||||||
var index = -1;
|
|
||||||
|
|
||||||
for (var v in categories)
|
|
||||||
if (categories[v] > index)
|
|
||||||
index = categories[v];
|
|
||||||
|
|
||||||
return index + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
function categoriesTickGenerator(axis) {
|
|
||||||
var res = [];
|
|
||||||
for (var label in axis.categories) {
|
|
||||||
var v = axis.categories[label];
|
|
||||||
if (v >= axis.min && v <= axis.max)
|
|
||||||
res.push([v, label]);
|
|
||||||
}
|
|
||||||
|
|
||||||
res.sort(function (a, b) { return a[0] - b[0]; });
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setupCategoriesForAxis(series, axis, datapoints) {
|
|
||||||
if (series[axis].options.mode != "categories")
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!series[axis].categories) {
|
|
||||||
// parse options
|
|
||||||
var c = {}, o = series[axis].options.categories || {};
|
|
||||||
if ($.isArray(o)) {
|
|
||||||
for (var i = 0; i < o.length; ++i)
|
|
||||||
c[o[i]] = i;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
for (var v in o)
|
|
||||||
c[v] = o[v];
|
|
||||||
}
|
|
||||||
|
|
||||||
series[axis].categories = c;
|
|
||||||
}
|
|
||||||
|
|
||||||
// fix ticks
|
|
||||||
if (!series[axis].options.ticks)
|
|
||||||
series[axis].options.ticks = categoriesTickGenerator;
|
|
||||||
|
|
||||||
transformPointsOnAxis(datapoints, axis, series[axis].categories);
|
|
||||||
}
|
|
||||||
|
|
||||||
function transformPointsOnAxis(datapoints, axis, categories) {
|
|
||||||
// go through the points, transforming them
|
|
||||||
var points = datapoints.points,
|
|
||||||
ps = datapoints.pointsize,
|
|
||||||
format = datapoints.format,
|
|
||||||
formatColumn = axis.charAt(0),
|
|
||||||
index = getNextIndex(categories);
|
|
||||||
|
|
||||||
for (var i = 0; i < points.length; i += ps) {
|
|
||||||
if (points[i] == null)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
for (var m = 0; m < ps; ++m) {
|
|
||||||
var val = points[i + m];
|
|
||||||
|
|
||||||
if (val == null || !format[m][formatColumn])
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (!(val in categories)) {
|
|
||||||
categories[val] = index;
|
|
||||||
++index;
|
|
||||||
}
|
|
||||||
|
|
||||||
points[i + m] = categories[val];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function processDatapoints(plot, series, datapoints) {
|
|
||||||
setupCategoriesForAxis(series, "xaxis", datapoints);
|
|
||||||
setupCategoriesForAxis(series, "yaxis", datapoints);
|
|
||||||
}
|
|
||||||
|
|
||||||
function init(plot) {
|
|
||||||
plot.hooks.processRawData.push(processRawData);
|
|
||||||
plot.hooks.processDatapoints.push(processDatapoints);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: 'categories',
|
|
||||||
version: '1.0'
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
176
vendor/flot/jquery.flot.crosshair.js
vendored
@ -1,176 +0,0 @@
|
|||||||
/* Flot plugin for showing crosshairs when the mouse hovers over the plot.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
The plugin supports these options:
|
|
||||||
|
|
||||||
crosshair: {
|
|
||||||
mode: null or "x" or "y" or "xy"
|
|
||||||
color: color
|
|
||||||
lineWidth: number
|
|
||||||
}
|
|
||||||
|
|
||||||
Set the mode to one of "x", "y" or "xy". The "x" mode enables a vertical
|
|
||||||
crosshair that lets you trace the values on the x axis, "y" enables a
|
|
||||||
horizontal crosshair and "xy" enables them both. "color" is the color of the
|
|
||||||
crosshair (default is "rgba(170, 0, 0, 0.80)"), "lineWidth" is the width of
|
|
||||||
the drawn lines (default is 1).
|
|
||||||
|
|
||||||
The plugin also adds four public methods:
|
|
||||||
|
|
||||||
- setCrosshair( pos )
|
|
||||||
|
|
||||||
Set the position of the crosshair. Note that this is cleared if the user
|
|
||||||
moves the mouse. "pos" is in coordinates of the plot and should be on the
|
|
||||||
form { x: xpos, y: ypos } (you can use x2/x3/... if you're using multiple
|
|
||||||
axes), which is coincidentally the same format as what you get from a
|
|
||||||
"plothover" event. If "pos" is null, the crosshair is cleared.
|
|
||||||
|
|
||||||
- clearCrosshair()
|
|
||||||
|
|
||||||
Clear the crosshair.
|
|
||||||
|
|
||||||
- lockCrosshair(pos)
|
|
||||||
|
|
||||||
Cause the crosshair to lock to the current location, no longer updating if
|
|
||||||
the user moves the mouse. Optionally supply a position (passed on to
|
|
||||||
setCrosshair()) to move it to.
|
|
||||||
|
|
||||||
Example usage:
|
|
||||||
|
|
||||||
var myFlot = $.plot( $("#graph"), ..., { crosshair: { mode: "x" } } };
|
|
||||||
$("#graph").bind( "plothover", function ( evt, position, item ) {
|
|
||||||
if ( item ) {
|
|
||||||
// Lock the crosshair to the data point being hovered
|
|
||||||
myFlot.lockCrosshair({
|
|
||||||
x: item.datapoint[ 0 ],
|
|
||||||
y: item.datapoint[ 1 ]
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
// Return normal crosshair operation
|
|
||||||
myFlot.unlockCrosshair();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
- unlockCrosshair()
|
|
||||||
|
|
||||||
Free the crosshair to move again after locking it.
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
var options = {
|
|
||||||
crosshair: {
|
|
||||||
mode: null, // one of null, "x", "y" or "xy",
|
|
||||||
color: "rgba(170, 0, 0, 0.80)",
|
|
||||||
lineWidth: 1
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function init(plot) {
|
|
||||||
// position of crosshair in pixels
|
|
||||||
var crosshair = { x: -1, y: -1, locked: false };
|
|
||||||
|
|
||||||
plot.setCrosshair = function setCrosshair(pos) {
|
|
||||||
if (!pos)
|
|
||||||
crosshair.x = -1;
|
|
||||||
else {
|
|
||||||
var o = plot.p2c(pos);
|
|
||||||
crosshair.x = Math.max(0, Math.min(o.left, plot.width()));
|
|
||||||
crosshair.y = Math.max(0, Math.min(o.top, plot.height()));
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.triggerRedrawOverlay();
|
|
||||||
};
|
|
||||||
|
|
||||||
plot.clearCrosshair = plot.setCrosshair; // passes null for pos
|
|
||||||
|
|
||||||
plot.lockCrosshair = function lockCrosshair(pos) {
|
|
||||||
if (pos)
|
|
||||||
plot.setCrosshair(pos);
|
|
||||||
crosshair.locked = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
plot.unlockCrosshair = function unlockCrosshair() {
|
|
||||||
crosshair.locked = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
function onMouseOut(e) {
|
|
||||||
if (crosshair.locked)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (crosshair.x != -1) {
|
|
||||||
crosshair.x = -1;
|
|
||||||
plot.triggerRedrawOverlay();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function onMouseMove(e) {
|
|
||||||
if (crosshair.locked)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (plot.getSelection && plot.getSelection()) {
|
|
||||||
crosshair.x = -1; // hide the crosshair while selecting
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var offset = plot.offset();
|
|
||||||
crosshair.x = Math.max(0, Math.min(e.pageX - offset.left, plot.width()));
|
|
||||||
crosshair.y = Math.max(0, Math.min(e.pageY - offset.top, plot.height()));
|
|
||||||
plot.triggerRedrawOverlay();
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.hooks.bindEvents.push(function (plot, eventHolder) {
|
|
||||||
if (!plot.getOptions().crosshair.mode)
|
|
||||||
return;
|
|
||||||
|
|
||||||
eventHolder.mouseout(onMouseOut);
|
|
||||||
eventHolder.mousemove(onMouseMove);
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.hooks.drawOverlay.push(function (plot, ctx) {
|
|
||||||
var c = plot.getOptions().crosshair;
|
|
||||||
if (!c.mode)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var plotOffset = plot.getPlotOffset();
|
|
||||||
|
|
||||||
ctx.save();
|
|
||||||
ctx.translate(plotOffset.left, plotOffset.top);
|
|
||||||
|
|
||||||
if (crosshair.x != -1) {
|
|
||||||
var adj = plot.getOptions().crosshair.lineWidth % 2 ? 0.5 : 0;
|
|
||||||
|
|
||||||
ctx.strokeStyle = c.color;
|
|
||||||
ctx.lineWidth = c.lineWidth;
|
|
||||||
ctx.lineJoin = "round";
|
|
||||||
|
|
||||||
ctx.beginPath();
|
|
||||||
if (c.mode.indexOf("x") != -1) {
|
|
||||||
var drawX = Math.floor(crosshair.x) + adj;
|
|
||||||
ctx.moveTo(drawX, 0);
|
|
||||||
ctx.lineTo(drawX, plot.height());
|
|
||||||
}
|
|
||||||
if (c.mode.indexOf("y") != -1) {
|
|
||||||
var drawY = Math.floor(crosshair.y) + adj;
|
|
||||||
ctx.moveTo(0, drawY);
|
|
||||||
ctx.lineTo(plot.width(), drawY);
|
|
||||||
}
|
|
||||||
ctx.stroke();
|
|
||||||
}
|
|
||||||
ctx.restore();
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.hooks.shutdown.push(function (plot, eventHolder) {
|
|
||||||
eventHolder.unbind("mouseout", onMouseOut);
|
|
||||||
eventHolder.unbind("mousemove", onMouseMove);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: 'crosshair',
|
|
||||||
version: '1.0'
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
353
vendor/flot/jquery.flot.errorbars.js
vendored
@ -1,353 +0,0 @@
|
|||||||
/* Flot plugin for plotting error bars.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
Error bars are used to show standard deviation and other statistical
|
|
||||||
properties in a plot.
|
|
||||||
|
|
||||||
* Created by Rui Pereira - rui (dot) pereira (at) gmail (dot) com
|
|
||||||
|
|
||||||
This plugin allows you to plot error-bars over points. Set "errorbars" inside
|
|
||||||
the points series to the axis name over which there will be error values in
|
|
||||||
your data array (*even* if you do not intend to plot them later, by setting
|
|
||||||
"show: null" on xerr/yerr).
|
|
||||||
|
|
||||||
The plugin supports these options:
|
|
||||||
|
|
||||||
series: {
|
|
||||||
points: {
|
|
||||||
errorbars: "x" or "y" or "xy",
|
|
||||||
xerr: {
|
|
||||||
show: null/false or true,
|
|
||||||
asymmetric: null/false or true,
|
|
||||||
upperCap: null or "-" or function,
|
|
||||||
lowerCap: null or "-" or function,
|
|
||||||
color: null or color,
|
|
||||||
radius: null or number
|
|
||||||
},
|
|
||||||
yerr: { same options as xerr }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Each data point array is expected to be of the type:
|
|
||||||
|
|
||||||
"x" [ x, y, xerr ]
|
|
||||||
"y" [ x, y, yerr ]
|
|
||||||
"xy" [ x, y, xerr, yerr ]
|
|
||||||
|
|
||||||
Where xerr becomes xerr_lower,xerr_upper for the asymmetric error case, and
|
|
||||||
equivalently for yerr. Eg., a datapoint for the "xy" case with symmetric
|
|
||||||
error-bars on X and asymmetric on Y would be:
|
|
||||||
|
|
||||||
[ x, y, xerr, yerr_lower, yerr_upper ]
|
|
||||||
|
|
||||||
By default no end caps are drawn. Setting upperCap and/or lowerCap to "-" will
|
|
||||||
draw a small cap perpendicular to the error bar. They can also be set to a
|
|
||||||
user-defined drawing function, with (ctx, x, y, radius) as parameters, as eg.
|
|
||||||
|
|
||||||
function drawSemiCircle( ctx, x, y, radius ) {
|
|
||||||
ctx.beginPath();
|
|
||||||
ctx.arc( x, y, radius, 0, Math.PI, false );
|
|
||||||
ctx.moveTo( x - radius, y );
|
|
||||||
ctx.lineTo( x + radius, y );
|
|
||||||
ctx.stroke();
|
|
||||||
}
|
|
||||||
|
|
||||||
Color and radius both default to the same ones of the points series if not
|
|
||||||
set. The independent radius parameter on xerr/yerr is useful for the case when
|
|
||||||
we may want to add error-bars to a line, without showing the interconnecting
|
|
||||||
points (with radius: 0), and still showing end caps on the error-bars.
|
|
||||||
shadowSize and lineWidth are derived as well from the points series.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
var options = {
|
|
||||||
series: {
|
|
||||||
points: {
|
|
||||||
errorbars: null, //should be 'x', 'y' or 'xy'
|
|
||||||
xerr: { err: 'x', show: null, asymmetric: null, upperCap: null, lowerCap: null, color: null, radius: null},
|
|
||||||
yerr: { err: 'y', show: null, asymmetric: null, upperCap: null, lowerCap: null, color: null, radius: null}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function processRawData(plot, series, data, datapoints){
|
|
||||||
if (!series.points.errorbars)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// x,y values
|
|
||||||
var format = [
|
|
||||||
{ x: true, number: true, required: true },
|
|
||||||
{ y: true, number: true, required: true }
|
|
||||||
];
|
|
||||||
|
|
||||||
var errors = series.points.errorbars;
|
|
||||||
// error bars - first X then Y
|
|
||||||
if (errors == 'x' || errors == 'xy') {
|
|
||||||
// lower / upper error
|
|
||||||
if (series.points.xerr.asymmetric) {
|
|
||||||
format.push({ x: true, number: true, required: true });
|
|
||||||
format.push({ x: true, number: true, required: true });
|
|
||||||
} else
|
|
||||||
format.push({ x: true, number: true, required: true });
|
|
||||||
}
|
|
||||||
if (errors == 'y' || errors == 'xy') {
|
|
||||||
// lower / upper error
|
|
||||||
if (series.points.yerr.asymmetric) {
|
|
||||||
format.push({ y: true, number: true, required: true });
|
|
||||||
format.push({ y: true, number: true, required: true });
|
|
||||||
} else
|
|
||||||
format.push({ y: true, number: true, required: true });
|
|
||||||
}
|
|
||||||
datapoints.format = format;
|
|
||||||
}
|
|
||||||
|
|
||||||
function parseErrors(series, i){
|
|
||||||
|
|
||||||
var points = series.datapoints.points;
|
|
||||||
|
|
||||||
// read errors from points array
|
|
||||||
var exl = null,
|
|
||||||
exu = null,
|
|
||||||
eyl = null,
|
|
||||||
eyu = null;
|
|
||||||
var xerr = series.points.xerr,
|
|
||||||
yerr = series.points.yerr;
|
|
||||||
|
|
||||||
var eb = series.points.errorbars;
|
|
||||||
// error bars - first X
|
|
||||||
if (eb == 'x' || eb == 'xy') {
|
|
||||||
if (xerr.asymmetric) {
|
|
||||||
exl = points[i + 2];
|
|
||||||
exu = points[i + 3];
|
|
||||||
if (eb == 'xy')
|
|
||||||
if (yerr.asymmetric){
|
|
||||||
eyl = points[i + 4];
|
|
||||||
eyu = points[i + 5];
|
|
||||||
} else eyl = points[i + 4];
|
|
||||||
} else {
|
|
||||||
exl = points[i + 2];
|
|
||||||
if (eb == 'xy')
|
|
||||||
if (yerr.asymmetric) {
|
|
||||||
eyl = points[i + 3];
|
|
||||||
eyu = points[i + 4];
|
|
||||||
} else eyl = points[i + 3];
|
|
||||||
}
|
|
||||||
// only Y
|
|
||||||
} else if (eb == 'y')
|
|
||||||
if (yerr.asymmetric) {
|
|
||||||
eyl = points[i + 2];
|
|
||||||
eyu = points[i + 3];
|
|
||||||
} else eyl = points[i + 2];
|
|
||||||
|
|
||||||
// symmetric errors?
|
|
||||||
if (exu == null) exu = exl;
|
|
||||||
if (eyu == null) eyu = eyl;
|
|
||||||
|
|
||||||
var errRanges = [exl, exu, eyl, eyu];
|
|
||||||
// nullify if not showing
|
|
||||||
if (!xerr.show){
|
|
||||||
errRanges[0] = null;
|
|
||||||
errRanges[1] = null;
|
|
||||||
}
|
|
||||||
if (!yerr.show){
|
|
||||||
errRanges[2] = null;
|
|
||||||
errRanges[3] = null;
|
|
||||||
}
|
|
||||||
return errRanges;
|
|
||||||
}
|
|
||||||
|
|
||||||
function drawSeriesErrors(plot, ctx, s){
|
|
||||||
|
|
||||||
var points = s.datapoints.points,
|
|
||||||
ps = s.datapoints.pointsize,
|
|
||||||
ax = [s.xaxis, s.yaxis],
|
|
||||||
radius = s.points.radius,
|
|
||||||
err = [s.points.xerr, s.points.yerr];
|
|
||||||
|
|
||||||
//sanity check, in case some inverted axis hack is applied to flot
|
|
||||||
var invertX = false;
|
|
||||||
if (ax[0].p2c(ax[0].max) < ax[0].p2c(ax[0].min)) {
|
|
||||||
invertX = true;
|
|
||||||
var tmp = err[0].lowerCap;
|
|
||||||
err[0].lowerCap = err[0].upperCap;
|
|
||||||
err[0].upperCap = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
var invertY = false;
|
|
||||||
if (ax[1].p2c(ax[1].min) < ax[1].p2c(ax[1].max)) {
|
|
||||||
invertY = true;
|
|
||||||
var tmp = err[1].lowerCap;
|
|
||||||
err[1].lowerCap = err[1].upperCap;
|
|
||||||
err[1].upperCap = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 0; i < s.datapoints.points.length; i += ps) {
|
|
||||||
|
|
||||||
//parse
|
|
||||||
var errRanges = parseErrors(s, i);
|
|
||||||
|
|
||||||
//cycle xerr & yerr
|
|
||||||
for (var e = 0; e < err.length; e++){
|
|
||||||
|
|
||||||
var minmax = [ax[e].min, ax[e].max];
|
|
||||||
|
|
||||||
//draw this error?
|
|
||||||
if (errRanges[e * err.length]){
|
|
||||||
|
|
||||||
//data coordinates
|
|
||||||
var x = points[i],
|
|
||||||
y = points[i + 1];
|
|
||||||
|
|
||||||
//errorbar ranges
|
|
||||||
var upper = [x, y][e] + errRanges[e * err.length + 1],
|
|
||||||
lower = [x, y][e] - errRanges[e * err.length];
|
|
||||||
|
|
||||||
//points outside of the canvas
|
|
||||||
if (err[e].err == 'x')
|
|
||||||
if (y > ax[1].max || y < ax[1].min || upper < ax[0].min || lower > ax[0].max)
|
|
||||||
continue;
|
|
||||||
if (err[e].err == 'y')
|
|
||||||
if (x > ax[0].max || x < ax[0].min || upper < ax[1].min || lower > ax[1].max)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// prevent errorbars getting out of the canvas
|
|
||||||
var drawUpper = true,
|
|
||||||
drawLower = true;
|
|
||||||
|
|
||||||
if (upper > minmax[1]) {
|
|
||||||
drawUpper = false;
|
|
||||||
upper = minmax[1];
|
|
||||||
}
|
|
||||||
if (lower < minmax[0]) {
|
|
||||||
drawLower = false;
|
|
||||||
lower = minmax[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
//sanity check, in case some inverted axis hack is applied to flot
|
|
||||||
if ((err[e].err == 'x' && invertX) || (err[e].err == 'y' && invertY)) {
|
|
||||||
//swap coordinates
|
|
||||||
var tmp = lower;
|
|
||||||
lower = upper;
|
|
||||||
upper = tmp;
|
|
||||||
tmp = drawLower;
|
|
||||||
drawLower = drawUpper;
|
|
||||||
drawUpper = tmp;
|
|
||||||
tmp = minmax[0];
|
|
||||||
minmax[0] = minmax[1];
|
|
||||||
minmax[1] = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
// convert to pixels
|
|
||||||
x = ax[0].p2c(x),
|
|
||||||
y = ax[1].p2c(y),
|
|
||||||
upper = ax[e].p2c(upper);
|
|
||||||
lower = ax[e].p2c(lower);
|
|
||||||
minmax[0] = ax[e].p2c(minmax[0]);
|
|
||||||
minmax[1] = ax[e].p2c(minmax[1]);
|
|
||||||
|
|
||||||
//same style as points by default
|
|
||||||
var lw = err[e].lineWidth ? err[e].lineWidth : s.points.lineWidth,
|
|
||||||
sw = s.points.shadowSize != null ? s.points.shadowSize : s.shadowSize;
|
|
||||||
|
|
||||||
//shadow as for points
|
|
||||||
if (lw > 0 && sw > 0) {
|
|
||||||
var w = sw / 2;
|
|
||||||
ctx.lineWidth = w;
|
|
||||||
ctx.strokeStyle = "rgba(0,0,0,0.1)";
|
|
||||||
drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, w + w/2, minmax);
|
|
||||||
|
|
||||||
ctx.strokeStyle = "rgba(0,0,0,0.2)";
|
|
||||||
drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, w/2, minmax);
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.strokeStyle = err[e].color? err[e].color: s.color;
|
|
||||||
ctx.lineWidth = lw;
|
|
||||||
//draw it
|
|
||||||
drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, 0, minmax);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function drawError(ctx,err,x,y,upper,lower,drawUpper,drawLower,radius,offset,minmax){
|
|
||||||
|
|
||||||
//shadow offset
|
|
||||||
y += offset;
|
|
||||||
upper += offset;
|
|
||||||
lower += offset;
|
|
||||||
|
|
||||||
// error bar - avoid plotting over circles
|
|
||||||
if (err.err == 'x'){
|
|
||||||
if (upper > x + radius) drawPath(ctx, [[upper,y],[Math.max(x + radius,minmax[0]),y]]);
|
|
||||||
else drawUpper = false;
|
|
||||||
if (lower < x - radius) drawPath(ctx, [[Math.min(x - radius,minmax[1]),y],[lower,y]] );
|
|
||||||
else drawLower = false;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (upper < y - radius) drawPath(ctx, [[x,upper],[x,Math.min(y - radius,minmax[0])]] );
|
|
||||||
else drawUpper = false;
|
|
||||||
if (lower > y + radius) drawPath(ctx, [[x,Math.max(y + radius,minmax[1])],[x,lower]] );
|
|
||||||
else drawLower = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//internal radius value in errorbar, allows to plot radius 0 points and still keep proper sized caps
|
|
||||||
//this is a way to get errorbars on lines without visible connecting dots
|
|
||||||
radius = err.radius != null? err.radius: radius;
|
|
||||||
|
|
||||||
// upper cap
|
|
||||||
if (drawUpper) {
|
|
||||||
if (err.upperCap == '-'){
|
|
||||||
if (err.err=='x') drawPath(ctx, [[upper,y - radius],[upper,y + radius]] );
|
|
||||||
else drawPath(ctx, [[x - radius,upper],[x + radius,upper]] );
|
|
||||||
} else if ($.isFunction(err.upperCap)){
|
|
||||||
if (err.err=='x') err.upperCap(ctx, upper, y, radius);
|
|
||||||
else err.upperCap(ctx, x, upper, radius);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// lower cap
|
|
||||||
if (drawLower) {
|
|
||||||
if (err.lowerCap == '-'){
|
|
||||||
if (err.err=='x') drawPath(ctx, [[lower,y - radius],[lower,y + radius]] );
|
|
||||||
else drawPath(ctx, [[x - radius,lower],[x + radius,lower]] );
|
|
||||||
} else if ($.isFunction(err.lowerCap)){
|
|
||||||
if (err.err=='x') err.lowerCap(ctx, lower, y, radius);
|
|
||||||
else err.lowerCap(ctx, x, lower, radius);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function drawPath(ctx, pts){
|
|
||||||
ctx.beginPath();
|
|
||||||
ctx.moveTo(pts[0][0], pts[0][1]);
|
|
||||||
for (var p=1; p < pts.length; p++)
|
|
||||||
ctx.lineTo(pts[p][0], pts[p][1]);
|
|
||||||
ctx.stroke();
|
|
||||||
}
|
|
||||||
|
|
||||||
function draw(plot, ctx){
|
|
||||||
var plotOffset = plot.getPlotOffset();
|
|
||||||
|
|
||||||
ctx.save();
|
|
||||||
ctx.translate(plotOffset.left, plotOffset.top);
|
|
||||||
$.each(plot.getData(), function (i, s) {
|
|
||||||
if (s.points.errorbars && (s.points.xerr.show || s.points.yerr.show))
|
|
||||||
drawSeriesErrors(plot, ctx, s);
|
|
||||||
});
|
|
||||||
ctx.restore();
|
|
||||||
}
|
|
||||||
|
|
||||||
function init(plot) {
|
|
||||||
plot.hooks.processRawData.push(processRawData);
|
|
||||||
plot.hooks.draw.push(draw);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: 'errorbars',
|
|
||||||
version: '1.0'
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
226
vendor/flot/jquery.flot.fillbetween.js
vendored
@ -1,226 +0,0 @@
|
|||||||
/* Flot plugin for computing bottoms for filled line and bar charts.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
The case: you've got two series that you want to fill the area between. In Flot
|
|
||||||
terms, you need to use one as the fill bottom of the other. You can specify the
|
|
||||||
bottom of each data point as the third coordinate manually, or you can use this
|
|
||||||
plugin to compute it for you.
|
|
||||||
|
|
||||||
In order to name the other series, you need to give it an id, like this:
|
|
||||||
|
|
||||||
var dataset = [
|
|
||||||
{ data: [ ... ], id: "foo" } , // use default bottom
|
|
||||||
{ data: [ ... ], fillBetween: "foo" }, // use first dataset as bottom
|
|
||||||
];
|
|
||||||
|
|
||||||
$.plot($("#placeholder"), dataset, { lines: { show: true, fill: true }});
|
|
||||||
|
|
||||||
As a convenience, if the id given is a number that doesn't appear as an id in
|
|
||||||
the series, it is interpreted as the index in the array instead (so fillBetween:
|
|
||||||
0 can also mean the first series).
|
|
||||||
|
|
||||||
Internally, the plugin modifies the datapoints in each series. For line series,
|
|
||||||
extra data points might be inserted through interpolation. Note that at points
|
|
||||||
where the bottom line is not defined (due to a null point or start/end of line),
|
|
||||||
the current line will show a gap too. The algorithm comes from the
|
|
||||||
jquery.flot.stack.js plugin, possibly some code could be shared.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function ( $ ) {
|
|
||||||
|
|
||||||
var options = {
|
|
||||||
series: {
|
|
||||||
fillBetween: null // or number
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function init( plot ) {
|
|
||||||
|
|
||||||
function findBottomSeries( s, allseries ) {
|
|
||||||
|
|
||||||
var i;
|
|
||||||
|
|
||||||
for ( i = 0; i < allseries.length; ++i ) {
|
|
||||||
if ( allseries[ i ].id === s.fillBetween ) {
|
|
||||||
return allseries[ i ];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( typeof s.fillBetween === "number" ) {
|
|
||||||
if ( s.fillBetween < 0 || s.fillBetween >= allseries.length ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return allseries[ s.fillBetween ];
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
function computeFillBottoms( plot, s, datapoints ) {
|
|
||||||
|
|
||||||
if ( s.fillBetween == null ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var other = findBottomSeries( s, plot.getData() );
|
|
||||||
|
|
||||||
if ( !other ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var ps = datapoints.pointsize,
|
|
||||||
points = datapoints.points,
|
|
||||||
otherps = other.datapoints.pointsize,
|
|
||||||
otherpoints = other.datapoints.points,
|
|
||||||
newpoints = [],
|
|
||||||
px, py, intery, qx, qy, bottom,
|
|
||||||
withlines = s.lines.show,
|
|
||||||
withbottom = ps > 2 && datapoints.format[2].y,
|
|
||||||
withsteps = withlines && s.lines.steps,
|
|
||||||
fromgap = true,
|
|
||||||
i = 0,
|
|
||||||
j = 0,
|
|
||||||
l, m;
|
|
||||||
|
|
||||||
while ( true ) {
|
|
||||||
|
|
||||||
if ( i >= points.length ) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
l = newpoints.length;
|
|
||||||
|
|
||||||
if ( points[ i ] == null ) {
|
|
||||||
|
|
||||||
// copy gaps
|
|
||||||
|
|
||||||
for ( m = 0; m < ps; ++m ) {
|
|
||||||
newpoints.push( points[ i + m ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
i += ps;
|
|
||||||
|
|
||||||
} else if ( j >= otherpoints.length ) {
|
|
||||||
|
|
||||||
// for lines, we can't use the rest of the points
|
|
||||||
|
|
||||||
if ( !withlines ) {
|
|
||||||
for ( m = 0; m < ps; ++m ) {
|
|
||||||
newpoints.push( points[ i + m ] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
i += ps;
|
|
||||||
|
|
||||||
} else if ( otherpoints[ j ] == null ) {
|
|
||||||
|
|
||||||
// oops, got a gap
|
|
||||||
|
|
||||||
for ( m = 0; m < ps; ++m ) {
|
|
||||||
newpoints.push( null );
|
|
||||||
}
|
|
||||||
|
|
||||||
fromgap = true;
|
|
||||||
j += otherps;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
// cases where we actually got two points
|
|
||||||
|
|
||||||
px = points[ i ];
|
|
||||||
py = points[ i + 1 ];
|
|
||||||
qx = otherpoints[ j ];
|
|
||||||
qy = otherpoints[ j + 1 ];
|
|
||||||
bottom = 0;
|
|
||||||
|
|
||||||
if ( px === qx ) {
|
|
||||||
|
|
||||||
for ( m = 0; m < ps; ++m ) {
|
|
||||||
newpoints.push( points[ i + m ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
//newpoints[ l + 1 ] += qy;
|
|
||||||
bottom = qy;
|
|
||||||
|
|
||||||
i += ps;
|
|
||||||
j += otherps;
|
|
||||||
|
|
||||||
} else if ( px > qx ) {
|
|
||||||
|
|
||||||
// we got past point below, might need to
|
|
||||||
// insert interpolated extra point
|
|
||||||
|
|
||||||
if ( withlines && i > 0 && points[ i - ps ] != null ) {
|
|
||||||
intery = py + ( points[ i - ps + 1 ] - py ) * ( qx - px ) / ( points[ i - ps ] - px );
|
|
||||||
newpoints.push( qx );
|
|
||||||
newpoints.push( intery );
|
|
||||||
for ( m = 2; m < ps; ++m ) {
|
|
||||||
newpoints.push( points[ i + m ] );
|
|
||||||
}
|
|
||||||
bottom = qy;
|
|
||||||
}
|
|
||||||
|
|
||||||
j += otherps;
|
|
||||||
|
|
||||||
} else { // px < qx
|
|
||||||
|
|
||||||
// if we come from a gap, we just skip this point
|
|
||||||
|
|
||||||
if ( fromgap && withlines ) {
|
|
||||||
i += ps;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
for ( m = 0; m < ps; ++m ) {
|
|
||||||
newpoints.push( points[ i + m ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
// we might be able to interpolate a point below,
|
|
||||||
// this can give us a better y
|
|
||||||
|
|
||||||
if ( withlines && j > 0 && otherpoints[ j - otherps ] != null ) {
|
|
||||||
bottom = qy + ( otherpoints[ j - otherps + 1 ] - qy ) * ( px - qx ) / ( otherpoints[ j - otherps ] - qx );
|
|
||||||
}
|
|
||||||
|
|
||||||
//newpoints[l + 1] += bottom;
|
|
||||||
|
|
||||||
i += ps;
|
|
||||||
}
|
|
||||||
|
|
||||||
fromgap = false;
|
|
||||||
|
|
||||||
if ( l !== newpoints.length && withbottom ) {
|
|
||||||
newpoints[ l + 2 ] = bottom;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// maintain the line steps invariant
|
|
||||||
|
|
||||||
if ( withsteps && l !== newpoints.length && l > 0 &&
|
|
||||||
newpoints[ l ] !== null &&
|
|
||||||
newpoints[ l ] !== newpoints[ l - ps ] &&
|
|
||||||
newpoints[ l + 1 ] !== newpoints[ l - ps + 1 ] ) {
|
|
||||||
for (m = 0; m < ps; ++m) {
|
|
||||||
newpoints[ l + ps + m ] = newpoints[ l + m ];
|
|
||||||
}
|
|
||||||
newpoints[ l + 1 ] = newpoints[ l - ps + 1 ];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
datapoints.points = newpoints;
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.hooks.processDatapoints.push( computeFillBottoms );
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: "fillbetween",
|
|
||||||
version: "1.0"
|
|
||||||
});
|
|
||||||
|
|
||||||
})(jQuery);
|
|
241
vendor/flot/jquery.flot.image.js
vendored
@ -1,241 +0,0 @@
|
|||||||
/* Flot plugin for plotting images.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
The data syntax is [ [ image, x1, y1, x2, y2 ], ... ] where (x1, y1) and
|
|
||||||
(x2, y2) are where you intend the two opposite corners of the image to end up
|
|
||||||
in the plot. Image must be a fully loaded Javascript image (you can make one
|
|
||||||
with new Image()). If the image is not complete, it's skipped when plotting.
|
|
||||||
|
|
||||||
There are two helpers included for retrieving images. The easiest work the way
|
|
||||||
that you put in URLs instead of images in the data, like this:
|
|
||||||
|
|
||||||
[ "myimage.png", 0, 0, 10, 10 ]
|
|
||||||
|
|
||||||
Then call $.plot.image.loadData( data, options, callback ) where data and
|
|
||||||
options are the same as you pass in to $.plot. This loads the images, replaces
|
|
||||||
the URLs in the data with the corresponding images and calls "callback" when
|
|
||||||
all images are loaded (or failed loading). In the callback, you can then call
|
|
||||||
$.plot with the data set. See the included example.
|
|
||||||
|
|
||||||
A more low-level helper, $.plot.image.load(urls, callback) is also included.
|
|
||||||
Given a list of URLs, it calls callback with an object mapping from URL to
|
|
||||||
Image object when all images are loaded or have failed loading.
|
|
||||||
|
|
||||||
The plugin supports these options:
|
|
||||||
|
|
||||||
series: {
|
|
||||||
images: {
|
|
||||||
show: boolean
|
|
||||||
anchor: "corner" or "center"
|
|
||||||
alpha: [ 0, 1 ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
They can be specified for a specific series:
|
|
||||||
|
|
||||||
$.plot( $("#placeholder"), [{
|
|
||||||
data: [ ... ],
|
|
||||||
images: { ... }
|
|
||||||
])
|
|
||||||
|
|
||||||
Note that because the data format is different from usual data points, you
|
|
||||||
can't use images with anything else in a specific data series.
|
|
||||||
|
|
||||||
Setting "anchor" to "center" causes the pixels in the image to be anchored at
|
|
||||||
the corner pixel centers inside of at the pixel corners, effectively letting
|
|
||||||
half a pixel stick out to each side in the plot.
|
|
||||||
|
|
||||||
A possible future direction could be support for tiling for large images (like
|
|
||||||
Google Maps).
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
var options = {
|
|
||||||
series: {
|
|
||||||
images: {
|
|
||||||
show: false,
|
|
||||||
alpha: 1,
|
|
||||||
anchor: "corner" // or "center"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
$.plot.image = {};
|
|
||||||
|
|
||||||
$.plot.image.loadDataImages = function (series, options, callback) {
|
|
||||||
var urls = [], points = [];
|
|
||||||
|
|
||||||
var defaultShow = options.series.images.show;
|
|
||||||
|
|
||||||
$.each(series, function (i, s) {
|
|
||||||
if (!(defaultShow || s.images.show))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (s.data)
|
|
||||||
s = s.data;
|
|
||||||
|
|
||||||
$.each(s, function (i, p) {
|
|
||||||
if (typeof p[0] == "string") {
|
|
||||||
urls.push(p[0]);
|
|
||||||
points.push(p);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$.plot.image.load(urls, function (loadedImages) {
|
|
||||||
$.each(points, function (i, p) {
|
|
||||||
var url = p[0];
|
|
||||||
if (loadedImages[url])
|
|
||||||
p[0] = loadedImages[url];
|
|
||||||
});
|
|
||||||
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.image.load = function (urls, callback) {
|
|
||||||
var missing = urls.length, loaded = {};
|
|
||||||
if (missing == 0)
|
|
||||||
callback({});
|
|
||||||
|
|
||||||
$.each(urls, function (i, url) {
|
|
||||||
var handler = function () {
|
|
||||||
--missing;
|
|
||||||
|
|
||||||
loaded[url] = this;
|
|
||||||
|
|
||||||
if (missing == 0)
|
|
||||||
callback(loaded);
|
|
||||||
};
|
|
||||||
|
|
||||||
$('<img />').load(handler).error(handler).attr('src', url);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
function drawSeries(plot, ctx, series) {
|
|
||||||
var plotOffset = plot.getPlotOffset();
|
|
||||||
|
|
||||||
if (!series.images || !series.images.show)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var points = series.datapoints.points,
|
|
||||||
ps = series.datapoints.pointsize;
|
|
||||||
|
|
||||||
for (var i = 0; i < points.length; i += ps) {
|
|
||||||
var img = points[i],
|
|
||||||
x1 = points[i + 1], y1 = points[i + 2],
|
|
||||||
x2 = points[i + 3], y2 = points[i + 4],
|
|
||||||
xaxis = series.xaxis, yaxis = series.yaxis,
|
|
||||||
tmp;
|
|
||||||
|
|
||||||
// actually we should check img.complete, but it
|
|
||||||
// appears to be a somewhat unreliable indicator in
|
|
||||||
// IE6 (false even after load event)
|
|
||||||
if (!img || img.width <= 0 || img.height <= 0)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (x1 > x2) {
|
|
||||||
tmp = x2;
|
|
||||||
x2 = x1;
|
|
||||||
x1 = tmp;
|
|
||||||
}
|
|
||||||
if (y1 > y2) {
|
|
||||||
tmp = y2;
|
|
||||||
y2 = y1;
|
|
||||||
y1 = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if the anchor is at the center of the pixel, expand the
|
|
||||||
// image by 1/2 pixel in each direction
|
|
||||||
if (series.images.anchor == "center") {
|
|
||||||
tmp = 0.5 * (x2-x1) / (img.width - 1);
|
|
||||||
x1 -= tmp;
|
|
||||||
x2 += tmp;
|
|
||||||
tmp = 0.5 * (y2-y1) / (img.height - 1);
|
|
||||||
y1 -= tmp;
|
|
||||||
y2 += tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
// clip
|
|
||||||
if (x1 == x2 || y1 == y2 ||
|
|
||||||
x1 >= xaxis.max || x2 <= xaxis.min ||
|
|
||||||
y1 >= yaxis.max || y2 <= yaxis.min)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
var sx1 = 0, sy1 = 0, sx2 = img.width, sy2 = img.height;
|
|
||||||
if (x1 < xaxis.min) {
|
|
||||||
sx1 += (sx2 - sx1) * (xaxis.min - x1) / (x2 - x1);
|
|
||||||
x1 = xaxis.min;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (x2 > xaxis.max) {
|
|
||||||
sx2 += (sx2 - sx1) * (xaxis.max - x2) / (x2 - x1);
|
|
||||||
x2 = xaxis.max;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (y1 < yaxis.min) {
|
|
||||||
sy2 += (sy1 - sy2) * (yaxis.min - y1) / (y2 - y1);
|
|
||||||
y1 = yaxis.min;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (y2 > yaxis.max) {
|
|
||||||
sy1 += (sy1 - sy2) * (yaxis.max - y2) / (y2 - y1);
|
|
||||||
y2 = yaxis.max;
|
|
||||||
}
|
|
||||||
|
|
||||||
x1 = xaxis.p2c(x1);
|
|
||||||
x2 = xaxis.p2c(x2);
|
|
||||||
y1 = yaxis.p2c(y1);
|
|
||||||
y2 = yaxis.p2c(y2);
|
|
||||||
|
|
||||||
// the transformation may have swapped us
|
|
||||||
if (x1 > x2) {
|
|
||||||
tmp = x2;
|
|
||||||
x2 = x1;
|
|
||||||
x1 = tmp;
|
|
||||||
}
|
|
||||||
if (y1 > y2) {
|
|
||||||
tmp = y2;
|
|
||||||
y2 = y1;
|
|
||||||
y1 = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
tmp = ctx.globalAlpha;
|
|
||||||
ctx.globalAlpha *= series.images.alpha;
|
|
||||||
ctx.drawImage(img,
|
|
||||||
sx1, sy1, sx2 - sx1, sy2 - sy1,
|
|
||||||
x1 + plotOffset.left, y1 + plotOffset.top,
|
|
||||||
x2 - x1, y2 - y1);
|
|
||||||
ctx.globalAlpha = tmp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function processRawData(plot, series, data, datapoints) {
|
|
||||||
if (!series.images.show)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// format is Image, x1, y1, x2, y2 (opposite corners)
|
|
||||||
datapoints.format = [
|
|
||||||
{ required: true },
|
|
||||||
{ x: true, number: true, required: true },
|
|
||||||
{ y: true, number: true, required: true },
|
|
||||||
{ x: true, number: true, required: true },
|
|
||||||
{ y: true, number: true, required: true }
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
function init(plot) {
|
|
||||||
plot.hooks.processRawData.push(processRawData);
|
|
||||||
plot.hooks.drawSeries.push(drawSeries);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: 'image',
|
|
||||||
version: '1.1'
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
3168
vendor/flot/jquery.flot.js
vendored
346
vendor/flot/jquery.flot.navigate.js
vendored
@ -1,346 +0,0 @@
|
|||||||
/* Flot plugin for adding the ability to pan and zoom the plot.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
The default behaviour is double click and scrollwheel up/down to zoom in, drag
|
|
||||||
to pan. The plugin defines plot.zoom({ center }), plot.zoomOut() and
|
|
||||||
plot.pan( offset ) so you easily can add custom controls. It also fires
|
|
||||||
"plotpan" and "plotzoom" events, useful for synchronizing plots.
|
|
||||||
|
|
||||||
The plugin supports these options:
|
|
||||||
|
|
||||||
zoom: {
|
|
||||||
interactive: false
|
|
||||||
trigger: "dblclick" // or "click" for single click
|
|
||||||
amount: 1.5 // 2 = 200% (zoom in), 0.5 = 50% (zoom out)
|
|
||||||
}
|
|
||||||
|
|
||||||
pan: {
|
|
||||||
interactive: false
|
|
||||||
cursor: "move" // CSS mouse cursor value used when dragging, e.g. "pointer"
|
|
||||||
frameRate: 20
|
|
||||||
}
|
|
||||||
|
|
||||||
xaxis, yaxis, x2axis, y2axis: {
|
|
||||||
zoomRange: null // or [ number, number ] (min range, max range) or false
|
|
||||||
panRange: null // or [ number, number ] (min, max) or false
|
|
||||||
}
|
|
||||||
|
|
||||||
"interactive" enables the built-in drag/click behaviour. If you enable
|
|
||||||
interactive for pan, then you'll have a basic plot that supports moving
|
|
||||||
around; the same for zoom.
|
|
||||||
|
|
||||||
"amount" specifies the default amount to zoom in (so 1.5 = 150%) relative to
|
|
||||||
the current viewport.
|
|
||||||
|
|
||||||
"cursor" is a standard CSS mouse cursor string used for visual feedback to the
|
|
||||||
user when dragging.
|
|
||||||
|
|
||||||
"frameRate" specifies the maximum number of times per second the plot will
|
|
||||||
update itself while the user is panning around on it (set to null to disable
|
|
||||||
intermediate pans, the plot will then not update until the mouse button is
|
|
||||||
released).
|
|
||||||
|
|
||||||
"zoomRange" is the interval in which zooming can happen, e.g. with zoomRange:
|
|
||||||
[1, 100] the zoom will never scale the axis so that the difference between min
|
|
||||||
and max is smaller than 1 or larger than 100. You can set either end to null
|
|
||||||
to ignore, e.g. [1, null]. If you set zoomRange to false, zooming on that axis
|
|
||||||
will be disabled.
|
|
||||||
|
|
||||||
"panRange" confines the panning to stay within a range, e.g. with panRange:
|
|
||||||
[-10, 20] panning stops at -10 in one end and at 20 in the other. Either can
|
|
||||||
be null, e.g. [-10, null]. If you set panRange to false, panning on that axis
|
|
||||||
will be disabled.
|
|
||||||
|
|
||||||
Example API usage:
|
|
||||||
|
|
||||||
plot = $.plot(...);
|
|
||||||
|
|
||||||
// zoom default amount in on the pixel ( 10, 20 )
|
|
||||||
plot.zoom({ center: { left: 10, top: 20 } });
|
|
||||||
|
|
||||||
// zoom out again
|
|
||||||
plot.zoomOut({ center: { left: 10, top: 20 } });
|
|
||||||
|
|
||||||
// zoom 200% in on the pixel (10, 20)
|
|
||||||
plot.zoom({ amount: 2, center: { left: 10, top: 20 } });
|
|
||||||
|
|
||||||
// pan 100 pixels to the left and 20 down
|
|
||||||
plot.pan({ left: -100, top: 20 })
|
|
||||||
|
|
||||||
Here, "center" specifies where the center of the zooming should happen. Note
|
|
||||||
that this is defined in pixel space, not the space of the data points (you can
|
|
||||||
use the p2c helpers on the axes in Flot to help you convert between these).
|
|
||||||
|
|
||||||
"amount" is the amount to zoom the viewport relative to the current range, so
|
|
||||||
1 is 100% (i.e. no change), 1.5 is 150% (zoom in), 0.7 is 70% (zoom out). You
|
|
||||||
can set the default in the options.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
// First two dependencies, jquery.event.drag.js and
|
|
||||||
// jquery.mousewheel.js, we put them inline here to save people the
|
|
||||||
// effort of downloading them.
|
|
||||||
|
|
||||||
/*
|
|
||||||
jquery.event.drag.js ~ v1.5 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
|
|
||||||
Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
|
|
||||||
*/
|
|
||||||
(function(a){function e(h){var k,j=this,l=h.data||{};if(l.elem)j=h.dragTarget=l.elem,h.dragProxy=d.proxy||j,h.cursorOffsetX=l.pageX-l.left,h.cursorOffsetY=l.pageY-l.top,h.offsetX=h.pageX-h.cursorOffsetX,h.offsetY=h.pageY-h.cursorOffsetY;else if(d.dragging||l.which>0&&h.which!=l.which||a(h.target).is(l.not))return;switch(h.type){case"mousedown":return a.extend(l,a(j).offset(),{elem:j,target:h.target,pageX:h.pageX,pageY:h.pageY}),b.add(document,"mousemove mouseup",e,l),i(j,!1),d.dragging=null,!1;case!d.dragging&&"mousemove":if(g(h.pageX-l.pageX)+g(h.pageY-l.pageY)<l.distance)break;h.target=l.target,k=f(h,"dragstart",j),k!==!1&&(d.dragging=j,d.proxy=h.dragProxy=a(k||j)[0]);case"mousemove":if(d.dragging){if(k=f(h,"drag",j),c.drop&&(c.drop.allowed=k!==!1,c.drop.handler(h)),k!==!1)break;h.type="mouseup"}case"mouseup":b.remove(document,"mousemove mouseup",e),d.dragging&&(c.drop&&c.drop.handler(h),f(h,"dragend",j)),i(j,!0),d.dragging=d.proxy=l.elem=!1}return!0}function f(b,c,d){b.type=c;var e=a.event.dispatch.call(d,b);return e===!1?!1:e||b.result}function g(a){return Math.pow(a,2)}function h(){return d.dragging===!1}function i(a,b){a&&(a.unselectable=b?"off":"on",a.onselectstart=function(){return b},a.style&&(a.style.MozUserSelect=b?"":"none"))}a.fn.drag=function(a,b,c){return b&&this.bind("dragstart",a),c&&this.bind("dragend",c),a?this.bind("drag",b?b:a):this.trigger("drag")};var b=a.event,c=b.special,d=c.drag={not:":input",distance:0,which:1,dragging:!1,setup:function(c){c=a.extend({distance:d.distance,which:d.which,not:d.not},c||{}),c.distance=g(c.distance),b.add(this,"mousedown",e,c),this.attachEvent&&this.attachEvent("ondragstart",h)},teardown:function(){b.remove(this,"mousedown",e),this===d.dragging&&(d.dragging=d.proxy=!1),i(this,!0),this.detachEvent&&this.detachEvent("ondragstart",h)}};c.dragstart=c.dragend={setup:function(){},teardown:function(){}}})(jQuery);
|
|
||||||
|
|
||||||
/* jquery.mousewheel.min.js
|
|
||||||
* Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
|
|
||||||
* Licensed under the MIT License (LICENSE.txt).
|
|
||||||
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
|
||||||
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
|
||||||
* Thanks to: Seamus Leahy for adding deltaX and deltaY
|
|
||||||
*
|
|
||||||
* Version: 3.0.6
|
|
||||||
*
|
|
||||||
* Requires: 1.2.2+
|
|
||||||
*/
|
|
||||||
(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;void 0!==b.axis&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);void 0!==b.wheelDeltaY&&(g=b.wheelDeltaY/120);void 0!==b.wheelDeltaX&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]=d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,!1);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,!1);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
var options = {
|
|
||||||
xaxis: {
|
|
||||||
zoomRange: null, // or [number, number] (min range, max range)
|
|
||||||
panRange: null // or [number, number] (min, max)
|
|
||||||
},
|
|
||||||
zoom: {
|
|
||||||
interactive: false,
|
|
||||||
trigger: "dblclick", // or "click" for single click
|
|
||||||
amount: 1.5 // how much to zoom relative to current position, 2 = 200% (zoom in), 0.5 = 50% (zoom out)
|
|
||||||
},
|
|
||||||
pan: {
|
|
||||||
interactive: false,
|
|
||||||
cursor: "move",
|
|
||||||
frameRate: 20
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function init(plot) {
|
|
||||||
function onZoomClick(e, zoomOut) {
|
|
||||||
var c = plot.offset();
|
|
||||||
c.left = e.pageX - c.left;
|
|
||||||
c.top = e.pageY - c.top;
|
|
||||||
if (zoomOut)
|
|
||||||
plot.zoomOut({ center: c });
|
|
||||||
else
|
|
||||||
plot.zoom({ center: c });
|
|
||||||
}
|
|
||||||
|
|
||||||
function onMouseWheel(e, delta) {
|
|
||||||
e.preventDefault();
|
|
||||||
onZoomClick(e, delta < 0);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var prevCursor = 'default', prevPageX = 0, prevPageY = 0,
|
|
||||||
panTimeout = null;
|
|
||||||
|
|
||||||
function onDragStart(e) {
|
|
||||||
if (e.which != 1) // only accept left-click
|
|
||||||
return false;
|
|
||||||
var c = plot.getPlaceholder().css('cursor');
|
|
||||||
if (c)
|
|
||||||
prevCursor = c;
|
|
||||||
plot.getPlaceholder().css('cursor', plot.getOptions().pan.cursor);
|
|
||||||
prevPageX = e.pageX;
|
|
||||||
prevPageY = e.pageY;
|
|
||||||
}
|
|
||||||
|
|
||||||
function onDrag(e) {
|
|
||||||
var frameRate = plot.getOptions().pan.frameRate;
|
|
||||||
if (panTimeout || !frameRate)
|
|
||||||
return;
|
|
||||||
|
|
||||||
panTimeout = setTimeout(function () {
|
|
||||||
plot.pan({ left: prevPageX - e.pageX,
|
|
||||||
top: prevPageY - e.pageY });
|
|
||||||
prevPageX = e.pageX;
|
|
||||||
prevPageY = e.pageY;
|
|
||||||
|
|
||||||
panTimeout = null;
|
|
||||||
}, 1 / frameRate * 1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
function onDragEnd(e) {
|
|
||||||
if (panTimeout) {
|
|
||||||
clearTimeout(panTimeout);
|
|
||||||
panTimeout = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.getPlaceholder().css('cursor', prevCursor);
|
|
||||||
plot.pan({ left: prevPageX - e.pageX,
|
|
||||||
top: prevPageY - e.pageY });
|
|
||||||
}
|
|
||||||
|
|
||||||
function bindEvents(plot, eventHolder) {
|
|
||||||
var o = plot.getOptions();
|
|
||||||
if (o.zoom.interactive) {
|
|
||||||
eventHolder[o.zoom.trigger](onZoomClick);
|
|
||||||
eventHolder.mousewheel(onMouseWheel);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (o.pan.interactive) {
|
|
||||||
eventHolder.bind("dragstart", { distance: 10 }, onDragStart);
|
|
||||||
eventHolder.bind("drag", onDrag);
|
|
||||||
eventHolder.bind("dragend", onDragEnd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.zoomOut = function (args) {
|
|
||||||
if (!args)
|
|
||||||
args = {};
|
|
||||||
|
|
||||||
if (!args.amount)
|
|
||||||
args.amount = plot.getOptions().zoom.amount;
|
|
||||||
|
|
||||||
args.amount = 1 / args.amount;
|
|
||||||
plot.zoom(args);
|
|
||||||
};
|
|
||||||
|
|
||||||
plot.zoom = function (args) {
|
|
||||||
if (!args)
|
|
||||||
args = {};
|
|
||||||
|
|
||||||
var c = args.center,
|
|
||||||
amount = args.amount || plot.getOptions().zoom.amount,
|
|
||||||
w = plot.width(), h = plot.height();
|
|
||||||
|
|
||||||
if (!c)
|
|
||||||
c = { left: w / 2, top: h / 2 };
|
|
||||||
|
|
||||||
var xf = c.left / w,
|
|
||||||
yf = c.top / h,
|
|
||||||
minmax = {
|
|
||||||
x: {
|
|
||||||
min: c.left - xf * w / amount,
|
|
||||||
max: c.left + (1 - xf) * w / amount
|
|
||||||
},
|
|
||||||
y: {
|
|
||||||
min: c.top - yf * h / amount,
|
|
||||||
max: c.top + (1 - yf) * h / amount
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
$.each(plot.getAxes(), function(_, axis) {
|
|
||||||
var opts = axis.options,
|
|
||||||
min = minmax[axis.direction].min,
|
|
||||||
max = minmax[axis.direction].max,
|
|
||||||
zr = opts.zoomRange,
|
|
||||||
pr = opts.panRange;
|
|
||||||
|
|
||||||
if (zr === false) // no zooming on this axis
|
|
||||||
return;
|
|
||||||
|
|
||||||
min = axis.c2p(min);
|
|
||||||
max = axis.c2p(max);
|
|
||||||
if (min > max) {
|
|
||||||
// make sure min < max
|
|
||||||
var tmp = min;
|
|
||||||
min = max;
|
|
||||||
max = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Check that we are in panRange
|
|
||||||
if (pr) {
|
|
||||||
if (pr[0] != null && min < pr[0]) {
|
|
||||||
min = pr[0];
|
|
||||||
}
|
|
||||||
if (pr[1] != null && max > pr[1]) {
|
|
||||||
max = pr[1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var range = max - min;
|
|
||||||
if (zr &&
|
|
||||||
((zr[0] != null && range < zr[0] && amount >1) ||
|
|
||||||
(zr[1] != null && range > zr[1] && amount <1)))
|
|
||||||
return;
|
|
||||||
|
|
||||||
opts.min = min;
|
|
||||||
opts.max = max;
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.setupGrid();
|
|
||||||
plot.draw();
|
|
||||||
|
|
||||||
if (!args.preventEvent)
|
|
||||||
plot.getPlaceholder().trigger("plotzoom", [ plot, args ]);
|
|
||||||
};
|
|
||||||
|
|
||||||
plot.pan = function (args) {
|
|
||||||
var delta = {
|
|
||||||
x: +args.left,
|
|
||||||
y: +args.top
|
|
||||||
};
|
|
||||||
|
|
||||||
if (isNaN(delta.x))
|
|
||||||
delta.x = 0;
|
|
||||||
if (isNaN(delta.y))
|
|
||||||
delta.y = 0;
|
|
||||||
|
|
||||||
$.each(plot.getAxes(), function (_, axis) {
|
|
||||||
var opts = axis.options,
|
|
||||||
min, max, d = delta[axis.direction];
|
|
||||||
|
|
||||||
min = axis.c2p(axis.p2c(axis.min) + d),
|
|
||||||
max = axis.c2p(axis.p2c(axis.max) + d);
|
|
||||||
|
|
||||||
var pr = opts.panRange;
|
|
||||||
if (pr === false) // no panning on this axis
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (pr) {
|
|
||||||
// check whether we hit the wall
|
|
||||||
if (pr[0] != null && pr[0] > min) {
|
|
||||||
d = pr[0] - min;
|
|
||||||
min += d;
|
|
||||||
max += d;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pr[1] != null && pr[1] < max) {
|
|
||||||
d = pr[1] - max;
|
|
||||||
min += d;
|
|
||||||
max += d;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
opts.min = min;
|
|
||||||
opts.max = max;
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.setupGrid();
|
|
||||||
plot.draw();
|
|
||||||
|
|
||||||
if (!args.preventEvent)
|
|
||||||
plot.getPlaceholder().trigger("plotpan", [ plot, args ]);
|
|
||||||
};
|
|
||||||
|
|
||||||
function shutdown(plot, eventHolder) {
|
|
||||||
eventHolder.unbind(plot.getOptions().zoom.trigger, onZoomClick);
|
|
||||||
eventHolder.unbind("mousewheel", onMouseWheel);
|
|
||||||
eventHolder.unbind("dragstart", onDragStart);
|
|
||||||
eventHolder.unbind("drag", onDrag);
|
|
||||||
eventHolder.unbind("dragend", onDragEnd);
|
|
||||||
if (panTimeout)
|
|
||||||
clearTimeout(panTimeout);
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.hooks.bindEvents.push(bindEvents);
|
|
||||||
plot.hooks.shutdown.push(shutdown);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: 'navigate',
|
|
||||||
version: '1.3'
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
820
vendor/flot/jquery.flot.pie.js
vendored
@ -1,820 +0,0 @@
|
|||||||
/* Flot plugin for rendering pie charts.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
The plugin assumes that each series has a single data value, and that each
|
|
||||||
value is a positive integer or zero. Negative numbers don't make sense for a
|
|
||||||
pie chart, and have unpredictable results. The values do NOT need to be
|
|
||||||
passed in as percentages; the plugin will calculate the total and per-slice
|
|
||||||
percentages internally.
|
|
||||||
|
|
||||||
* Created by Brian Medendorp
|
|
||||||
|
|
||||||
* Updated with contributions from btburnett3, Anthony Aragues and Xavi Ivars
|
|
||||||
|
|
||||||
The plugin supports these options:
|
|
||||||
|
|
||||||
series: {
|
|
||||||
pie: {
|
|
||||||
show: true/false
|
|
||||||
radius: 0-1 for percentage of fullsize, or a specified pixel length, or 'auto'
|
|
||||||
innerRadius: 0-1 for percentage of fullsize or a specified pixel length, for creating a donut effect
|
|
||||||
startAngle: 0-2 factor of PI used for starting angle (in radians) i.e 3/2 starts at the top, 0 and 2 have the same result
|
|
||||||
tilt: 0-1 for percentage to tilt the pie, where 1 is no tilt, and 0 is completely flat (nothing will show)
|
|
||||||
offset: {
|
|
||||||
top: integer value to move the pie up or down
|
|
||||||
left: integer value to move the pie left or right, or 'auto'
|
|
||||||
},
|
|
||||||
stroke: {
|
|
||||||
color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#FFF')
|
|
||||||
width: integer pixel width of the stroke
|
|
||||||
},
|
|
||||||
label: {
|
|
||||||
show: true/false, or 'auto'
|
|
||||||
formatter: a user-defined function that modifies the text/style of the label text
|
|
||||||
radius: 0-1 for percentage of fullsize, or a specified pixel length
|
|
||||||
background: {
|
|
||||||
color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#000')
|
|
||||||
opacity: 0-1
|
|
||||||
},
|
|
||||||
threshold: 0-1 for the percentage value at which to hide labels (if they're too small)
|
|
||||||
},
|
|
||||||
combine: {
|
|
||||||
threshold: 0-1 for the percentage value at which to combine slices (if they're too small)
|
|
||||||
color: any hexidecimal color value (other formats may or may not work, so best to stick with something like '#CCC'), if null, the plugin will automatically use the color of the first slice to be combined
|
|
||||||
label: any text value of what the combined slice should be labeled
|
|
||||||
}
|
|
||||||
highlight: {
|
|
||||||
opacity: 0-1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
More detail and specific examples can be found in the included HTML file.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function($) {
|
|
||||||
|
|
||||||
// Maximum redraw attempts when fitting labels within the plot
|
|
||||||
|
|
||||||
var REDRAW_ATTEMPTS = 10;
|
|
||||||
|
|
||||||
// Factor by which to shrink the pie when fitting labels within the plot
|
|
||||||
|
|
||||||
var REDRAW_SHRINK = 0.95;
|
|
||||||
|
|
||||||
function init(plot) {
|
|
||||||
|
|
||||||
var canvas = null,
|
|
||||||
target = null,
|
|
||||||
options = null,
|
|
||||||
maxRadius = null,
|
|
||||||
centerLeft = null,
|
|
||||||
centerTop = null,
|
|
||||||
processed = false,
|
|
||||||
ctx = null;
|
|
||||||
|
|
||||||
// interactive variables
|
|
||||||
|
|
||||||
var highlights = [];
|
|
||||||
|
|
||||||
// add hook to determine if pie plugin in enabled, and then perform necessary operations
|
|
||||||
|
|
||||||
plot.hooks.processOptions.push(function(plot, options) {
|
|
||||||
if (options.series.pie.show) {
|
|
||||||
|
|
||||||
options.grid.show = false;
|
|
||||||
|
|
||||||
// set labels.show
|
|
||||||
|
|
||||||
if (options.series.pie.label.show == "auto") {
|
|
||||||
if (options.legend.show) {
|
|
||||||
options.series.pie.label.show = false;
|
|
||||||
} else {
|
|
||||||
options.series.pie.label.show = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// set radius
|
|
||||||
|
|
||||||
if (options.series.pie.radius == "auto") {
|
|
||||||
if (options.series.pie.label.show) {
|
|
||||||
options.series.pie.radius = 3/4;
|
|
||||||
} else {
|
|
||||||
options.series.pie.radius = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ensure sane tilt
|
|
||||||
|
|
||||||
if (options.series.pie.tilt > 1) {
|
|
||||||
options.series.pie.tilt = 1;
|
|
||||||
} else if (options.series.pie.tilt < 0) {
|
|
||||||
options.series.pie.tilt = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.hooks.bindEvents.push(function(plot, eventHolder) {
|
|
||||||
var options = plot.getOptions();
|
|
||||||
if (options.series.pie.show) {
|
|
||||||
if (options.grid.hoverable) {
|
|
||||||
eventHolder.unbind("mousemove").mousemove(onMouseMove);
|
|
||||||
}
|
|
||||||
if (options.grid.clickable) {
|
|
||||||
eventHolder.unbind("click").click(onClick);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.hooks.processDatapoints.push(function(plot, series, data, datapoints) {
|
|
||||||
var options = plot.getOptions();
|
|
||||||
if (options.series.pie.show) {
|
|
||||||
processDatapoints(plot, series, data, datapoints);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.hooks.drawOverlay.push(function(plot, octx) {
|
|
||||||
var options = plot.getOptions();
|
|
||||||
if (options.series.pie.show) {
|
|
||||||
drawOverlay(plot, octx);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.hooks.draw.push(function(plot, newCtx) {
|
|
||||||
var options = plot.getOptions();
|
|
||||||
if (options.series.pie.show) {
|
|
||||||
draw(plot, newCtx);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function processDatapoints(plot, series, datapoints) {
|
|
||||||
if (!processed) {
|
|
||||||
processed = true;
|
|
||||||
canvas = plot.getCanvas();
|
|
||||||
target = $(canvas).parent();
|
|
||||||
options = plot.getOptions();
|
|
||||||
plot.setData(combine(plot.getData()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function combine(data) {
|
|
||||||
|
|
||||||
var total = 0,
|
|
||||||
combined = 0,
|
|
||||||
numCombined = 0,
|
|
||||||
color = options.series.pie.combine.color,
|
|
||||||
newdata = [];
|
|
||||||
|
|
||||||
// Fix up the raw data from Flot, ensuring the data is numeric
|
|
||||||
|
|
||||||
for (var i = 0; i < data.length; ++i) {
|
|
||||||
|
|
||||||
var value = data[i].data;
|
|
||||||
|
|
||||||
// If the data is an array, we'll assume that it's a standard
|
|
||||||
// Flot x-y pair, and are concerned only with the second value.
|
|
||||||
|
|
||||||
// Note how we use the original array, rather than creating a
|
|
||||||
// new one; this is more efficient and preserves any extra data
|
|
||||||
// that the user may have stored in higher indexes.
|
|
||||||
|
|
||||||
if ($.isArray(value) && value.length == 1) {
|
|
||||||
value = value[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($.isArray(value)) {
|
|
||||||
// Equivalent to $.isNumeric() but compatible with jQuery < 1.7
|
|
||||||
if (!isNaN(parseFloat(value[1])) && isFinite(value[1])) {
|
|
||||||
value[1] = +value[1];
|
|
||||||
} else {
|
|
||||||
value[1] = 0;
|
|
||||||
}
|
|
||||||
} else if (!isNaN(parseFloat(value)) && isFinite(value)) {
|
|
||||||
value = [1, +value];
|
|
||||||
} else {
|
|
||||||
value = [1, 0];
|
|
||||||
}
|
|
||||||
|
|
||||||
data[i].data = [value];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sum up all the slices, so we can calculate percentages for each
|
|
||||||
|
|
||||||
for (var i = 0; i < data.length; ++i) {
|
|
||||||
total += data[i].data[0][1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Count the number of slices with percentages below the combine
|
|
||||||
// threshold; if it turns out to be just one, we won't combine.
|
|
||||||
|
|
||||||
for (var i = 0; i < data.length; ++i) {
|
|
||||||
var value = data[i].data[0][1];
|
|
||||||
if (value / total <= options.series.pie.combine.threshold) {
|
|
||||||
combined += value;
|
|
||||||
numCombined++;
|
|
||||||
if (!color) {
|
|
||||||
color = data[i].color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 0; i < data.length; ++i) {
|
|
||||||
var value = data[i].data[0][1];
|
|
||||||
if (numCombined < 2 || value / total > options.series.pie.combine.threshold) {
|
|
||||||
newdata.push(
|
|
||||||
$.extend(data[i], { /* extend to allow keeping all other original data values
|
|
||||||
and using them e.g. in labelFormatter. */
|
|
||||||
data: [[1, value]],
|
|
||||||
color: data[i].color,
|
|
||||||
label: data[i].label,
|
|
||||||
angle: value * Math.PI * 2 / total,
|
|
||||||
percent: value / (total / 100)
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (numCombined > 1) {
|
|
||||||
newdata.push({
|
|
||||||
data: [[1, combined]],
|
|
||||||
color: color,
|
|
||||||
label: options.series.pie.combine.label,
|
|
||||||
angle: combined * Math.PI * 2 / total,
|
|
||||||
percent: combined / (total / 100)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return newdata;
|
|
||||||
}
|
|
||||||
|
|
||||||
function draw(plot, newCtx) {
|
|
||||||
|
|
||||||
if (!target) {
|
|
||||||
return; // if no series were passed
|
|
||||||
}
|
|
||||||
|
|
||||||
var canvasWidth = plot.getPlaceholder().width(),
|
|
||||||
canvasHeight = plot.getPlaceholder().height(),
|
|
||||||
legendWidth = target.children().filter(".legend").children().width() || 0;
|
|
||||||
|
|
||||||
ctx = newCtx;
|
|
||||||
|
|
||||||
// WARNING: HACK! REWRITE THIS CODE AS SOON AS POSSIBLE!
|
|
||||||
|
|
||||||
// When combining smaller slices into an 'other' slice, we need to
|
|
||||||
// add a new series. Since Flot gives plugins no way to modify the
|
|
||||||
// list of series, the pie plugin uses a hack where the first call
|
|
||||||
// to processDatapoints results in a call to setData with the new
|
|
||||||
// list of series, then subsequent processDatapoints do nothing.
|
|
||||||
|
|
||||||
// The plugin-global 'processed' flag is used to control this hack;
|
|
||||||
// it starts out false, and is set to true after the first call to
|
|
||||||
// processDatapoints.
|
|
||||||
|
|
||||||
// Unfortunately this turns future setData calls into no-ops; they
|
|
||||||
// call processDatapoints, the flag is true, and nothing happens.
|
|
||||||
|
|
||||||
// To fix this we'll set the flag back to false here in draw, when
|
|
||||||
// all series have been processed, so the next sequence of calls to
|
|
||||||
// processDatapoints once again starts out with a slice-combine.
|
|
||||||
// This is really a hack; in 0.9 we need to give plugins a proper
|
|
||||||
// way to modify series before any processing begins.
|
|
||||||
|
|
||||||
processed = false;
|
|
||||||
|
|
||||||
// calculate maximum radius and center point
|
|
||||||
|
|
||||||
maxRadius = Math.min(canvasWidth, canvasHeight / options.series.pie.tilt) / 2;
|
|
||||||
centerTop = canvasHeight / 2 + options.series.pie.offset.top;
|
|
||||||
centerLeft = canvasWidth / 2;
|
|
||||||
|
|
||||||
if (options.series.pie.offset.left == "auto") {
|
|
||||||
if (options.legend.position.match("w")) {
|
|
||||||
centerLeft += legendWidth / 2;
|
|
||||||
} else {
|
|
||||||
centerLeft -= legendWidth / 2;
|
|
||||||
}
|
|
||||||
if (centerLeft < maxRadius) {
|
|
||||||
centerLeft = maxRadius;
|
|
||||||
} else if (centerLeft > canvasWidth - maxRadius) {
|
|
||||||
centerLeft = canvasWidth - maxRadius;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
centerLeft += options.series.pie.offset.left;
|
|
||||||
}
|
|
||||||
|
|
||||||
var slices = plot.getData(),
|
|
||||||
attempts = 0;
|
|
||||||
|
|
||||||
// Keep shrinking the pie's radius until drawPie returns true,
|
|
||||||
// indicating that all the labels fit, or we try too many times.
|
|
||||||
|
|
||||||
do {
|
|
||||||
if (attempts > 0) {
|
|
||||||
maxRadius *= REDRAW_SHRINK;
|
|
||||||
}
|
|
||||||
attempts += 1;
|
|
||||||
clear();
|
|
||||||
if (options.series.pie.tilt <= 0.8) {
|
|
||||||
drawShadow();
|
|
||||||
}
|
|
||||||
} while (!drawPie() && attempts < REDRAW_ATTEMPTS)
|
|
||||||
|
|
||||||
if (attempts >= REDRAW_ATTEMPTS) {
|
|
||||||
clear();
|
|
||||||
target.prepend("<div class='error'>Could not draw pie with labels contained inside canvas</div>");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (plot.setSeries && plot.insertLegend) {
|
|
||||||
plot.setSeries(slices);
|
|
||||||
plot.insertLegend();
|
|
||||||
}
|
|
||||||
|
|
||||||
// we're actually done at this point, just defining internal functions at this point
|
|
||||||
|
|
||||||
function clear() {
|
|
||||||
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
|
|
||||||
target.children().filter(".pieLabel, .pieLabelBackground").remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
function drawShadow() {
|
|
||||||
|
|
||||||
var shadowLeft = options.series.pie.shadow.left;
|
|
||||||
var shadowTop = options.series.pie.shadow.top;
|
|
||||||
var edge = 10;
|
|
||||||
var alpha = options.series.pie.shadow.alpha;
|
|
||||||
var radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;
|
|
||||||
|
|
||||||
if (radius >= canvasWidth / 2 - shadowLeft || radius * options.series.pie.tilt >= canvasHeight / 2 - shadowTop || radius <= edge) {
|
|
||||||
return; // shadow would be outside canvas, so don't draw it
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.save();
|
|
||||||
ctx.translate(shadowLeft,shadowTop);
|
|
||||||
ctx.globalAlpha = alpha;
|
|
||||||
ctx.fillStyle = "#000";
|
|
||||||
|
|
||||||
// center and rotate to starting position
|
|
||||||
|
|
||||||
ctx.translate(centerLeft,centerTop);
|
|
||||||
ctx.scale(1, options.series.pie.tilt);
|
|
||||||
|
|
||||||
//radius -= edge;
|
|
||||||
|
|
||||||
for (var i = 1; i <= edge; i++) {
|
|
||||||
ctx.beginPath();
|
|
||||||
ctx.arc(0, 0, radius, 0, Math.PI * 2, false);
|
|
||||||
ctx.fill();
|
|
||||||
radius -= i;
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.restore();
|
|
||||||
}
|
|
||||||
|
|
||||||
function drawPie() {
|
|
||||||
|
|
||||||
var startAngle = Math.PI * options.series.pie.startAngle;
|
|
||||||
var radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;
|
|
||||||
|
|
||||||
// center and rotate to starting position
|
|
||||||
|
|
||||||
ctx.save();
|
|
||||||
ctx.translate(centerLeft,centerTop);
|
|
||||||
ctx.scale(1, options.series.pie.tilt);
|
|
||||||
//ctx.rotate(startAngle); // start at top; -- This doesn't work properly in Opera
|
|
||||||
|
|
||||||
// draw slices
|
|
||||||
|
|
||||||
ctx.save();
|
|
||||||
var currentAngle = startAngle;
|
|
||||||
for (var i = 0; i < slices.length; ++i) {
|
|
||||||
slices[i].startAngle = currentAngle;
|
|
||||||
drawSlice(slices[i].angle, slices[i].color, true);
|
|
||||||
}
|
|
||||||
ctx.restore();
|
|
||||||
|
|
||||||
// draw slice outlines
|
|
||||||
|
|
||||||
if (options.series.pie.stroke.width > 0) {
|
|
||||||
ctx.save();
|
|
||||||
ctx.lineWidth = options.series.pie.stroke.width;
|
|
||||||
currentAngle = startAngle;
|
|
||||||
for (var i = 0; i < slices.length; ++i) {
|
|
||||||
drawSlice(slices[i].angle, options.series.pie.stroke.color, false);
|
|
||||||
}
|
|
||||||
ctx.restore();
|
|
||||||
}
|
|
||||||
|
|
||||||
// draw donut hole
|
|
||||||
|
|
||||||
drawDonutHole(ctx);
|
|
||||||
|
|
||||||
ctx.restore();
|
|
||||||
|
|
||||||
// Draw the labels, returning true if they fit within the plot
|
|
||||||
|
|
||||||
if (options.series.pie.label.show) {
|
|
||||||
return drawLabels();
|
|
||||||
} else return true;
|
|
||||||
|
|
||||||
function drawSlice(angle, color, fill) {
|
|
||||||
|
|
||||||
if (angle <= 0 || isNaN(angle)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fill) {
|
|
||||||
ctx.fillStyle = color;
|
|
||||||
} else {
|
|
||||||
ctx.strokeStyle = color;
|
|
||||||
ctx.lineJoin = "round";
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.beginPath();
|
|
||||||
if (Math.abs(angle - Math.PI * 2) > 0.000000001) {
|
|
||||||
ctx.moveTo(0, 0); // Center of the pie
|
|
||||||
}
|
|
||||||
|
|
||||||
//ctx.arc(0, 0, radius, 0, angle, false); // This doesn't work properly in Opera
|
|
||||||
ctx.arc(0, 0, radius,currentAngle, currentAngle + angle / 2, false);
|
|
||||||
ctx.arc(0, 0, radius,currentAngle + angle / 2, currentAngle + angle, false);
|
|
||||||
ctx.closePath();
|
|
||||||
//ctx.rotate(angle); // This doesn't work properly in Opera
|
|
||||||
currentAngle += angle;
|
|
||||||
|
|
||||||
if (fill) {
|
|
||||||
ctx.fill();
|
|
||||||
} else {
|
|
||||||
ctx.stroke();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function drawLabels() {
|
|
||||||
|
|
||||||
var currentAngle = startAngle;
|
|
||||||
var radius = options.series.pie.label.radius > 1 ? options.series.pie.label.radius : maxRadius * options.series.pie.label.radius;
|
|
||||||
|
|
||||||
for (var i = 0; i < slices.length; ++i) {
|
|
||||||
if (slices[i].percent >= options.series.pie.label.threshold * 100) {
|
|
||||||
if (!drawLabel(slices[i], currentAngle, i)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
currentAngle += slices[i].angle;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
|
|
||||||
function drawLabel(slice, startAngle, index) {
|
|
||||||
|
|
||||||
if (slice.data[0][1] == 0) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// format label text
|
|
||||||
|
|
||||||
var lf = options.legend.labelFormatter, text, plf = options.series.pie.label.formatter;
|
|
||||||
|
|
||||||
if (lf) {
|
|
||||||
text = lf(slice.label, slice);
|
|
||||||
} else {
|
|
||||||
text = slice.label;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (plf) {
|
|
||||||
text = plf(text, slice);
|
|
||||||
}
|
|
||||||
|
|
||||||
var halfAngle = ((startAngle + slice.angle) + startAngle) / 2;
|
|
||||||
var x = centerLeft + Math.round(Math.cos(halfAngle) * radius);
|
|
||||||
var y = centerTop + Math.round(Math.sin(halfAngle) * radius) * options.series.pie.tilt;
|
|
||||||
|
|
||||||
var html = "<span class='pieLabel' id='pieLabel" + index + "' style='position:absolute;top:" + y + "px;left:" + x + "px;'>" + text + "</span>";
|
|
||||||
target.append(html);
|
|
||||||
|
|
||||||
var label = target.children("#pieLabel" + index);
|
|
||||||
var labelTop = (y - label.height() / 2);
|
|
||||||
var labelLeft = (x - label.width() / 2);
|
|
||||||
|
|
||||||
label.css("top", labelTop);
|
|
||||||
label.css("left", labelLeft);
|
|
||||||
|
|
||||||
// check to make sure that the label is not outside the canvas
|
|
||||||
|
|
||||||
if (0 - labelTop > 0 || 0 - labelLeft > 0 || canvasHeight - (labelTop + label.height()) < 0 || canvasWidth - (labelLeft + label.width()) < 0) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (options.series.pie.label.background.opacity != 0) {
|
|
||||||
|
|
||||||
// put in the transparent background separately to avoid blended labels and label boxes
|
|
||||||
|
|
||||||
var c = options.series.pie.label.background.color;
|
|
||||||
|
|
||||||
if (c == null) {
|
|
||||||
c = slice.color;
|
|
||||||
}
|
|
||||||
|
|
||||||
var pos = "top:" + labelTop + "px;left:" + labelLeft + "px;";
|
|
||||||
$("<div class='pieLabelBackground' style='position:absolute;width:" + label.width() + "px;height:" + label.height() + "px;" + pos + "background-color:" + c + ";'></div>")
|
|
||||||
.css("opacity", options.series.pie.label.background.opacity)
|
|
||||||
.insertBefore(label);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
} // end individual label function
|
|
||||||
} // end drawLabels function
|
|
||||||
} // end drawPie function
|
|
||||||
} // end draw function
|
|
||||||
|
|
||||||
// Placed here because it needs to be accessed from multiple locations
|
|
||||||
|
|
||||||
function drawDonutHole(layer) {
|
|
||||||
if (options.series.pie.innerRadius > 0) {
|
|
||||||
|
|
||||||
// subtract the center
|
|
||||||
|
|
||||||
layer.save();
|
|
||||||
var innerRadius = options.series.pie.innerRadius > 1 ? options.series.pie.innerRadius : maxRadius * options.series.pie.innerRadius;
|
|
||||||
layer.globalCompositeOperation = "destination-out"; // this does not work with excanvas, but it will fall back to using the stroke color
|
|
||||||
layer.beginPath();
|
|
||||||
layer.fillStyle = options.series.pie.stroke.color;
|
|
||||||
layer.arc(0, 0, innerRadius, 0, Math.PI * 2, false);
|
|
||||||
layer.fill();
|
|
||||||
layer.closePath();
|
|
||||||
layer.restore();
|
|
||||||
|
|
||||||
// add inner stroke
|
|
||||||
|
|
||||||
layer.save();
|
|
||||||
layer.beginPath();
|
|
||||||
layer.strokeStyle = options.series.pie.stroke.color;
|
|
||||||
layer.arc(0, 0, innerRadius, 0, Math.PI * 2, false);
|
|
||||||
layer.stroke();
|
|
||||||
layer.closePath();
|
|
||||||
layer.restore();
|
|
||||||
|
|
||||||
// TODO: add extra shadow inside hole (with a mask) if the pie is tilted.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-- Additional Interactive related functions --
|
|
||||||
|
|
||||||
function isPointInPoly(poly, pt) {
|
|
||||||
for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)
|
|
||||||
((poly[i][1] <= pt[1] && pt[1] < poly[j][1]) || (poly[j][1] <= pt[1] && pt[1]< poly[i][1]))
|
|
||||||
&& (pt[0] < (poly[j][0] - poly[i][0]) * (pt[1] - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0])
|
|
||||||
&& (c = !c);
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
|
|
||||||
function findNearbySlice(mouseX, mouseY) {
|
|
||||||
|
|
||||||
var slices = plot.getData(),
|
|
||||||
options = plot.getOptions(),
|
|
||||||
radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius,
|
|
||||||
x, y;
|
|
||||||
|
|
||||||
for (var i = 0; i < slices.length; ++i) {
|
|
||||||
|
|
||||||
var s = slices[i];
|
|
||||||
|
|
||||||
if (s.pie.show) {
|
|
||||||
|
|
||||||
ctx.save();
|
|
||||||
ctx.beginPath();
|
|
||||||
ctx.moveTo(0, 0); // Center of the pie
|
|
||||||
//ctx.scale(1, options.series.pie.tilt); // this actually seems to break everything when here.
|
|
||||||
ctx.arc(0, 0, radius, s.startAngle, s.startAngle + s.angle / 2, false);
|
|
||||||
ctx.arc(0, 0, radius, s.startAngle + s.angle / 2, s.startAngle + s.angle, false);
|
|
||||||
ctx.closePath();
|
|
||||||
x = mouseX - centerLeft;
|
|
||||||
y = mouseY - centerTop;
|
|
||||||
|
|
||||||
if (ctx.isPointInPath) {
|
|
||||||
if (ctx.isPointInPath(mouseX - centerLeft, mouseY - centerTop)) {
|
|
||||||
ctx.restore();
|
|
||||||
return {
|
|
||||||
datapoint: [s.percent, s.data],
|
|
||||||
dataIndex: 0,
|
|
||||||
series: s,
|
|
||||||
seriesIndex: i
|
|
||||||
};
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
|
|
||||||
// excanvas for IE doesn;t support isPointInPath, this is a workaround.
|
|
||||||
|
|
||||||
var p1X = radius * Math.cos(s.startAngle),
|
|
||||||
p1Y = radius * Math.sin(s.startAngle),
|
|
||||||
p2X = radius * Math.cos(s.startAngle + s.angle / 4),
|
|
||||||
p2Y = radius * Math.sin(s.startAngle + s.angle / 4),
|
|
||||||
p3X = radius * Math.cos(s.startAngle + s.angle / 2),
|
|
||||||
p3Y = radius * Math.sin(s.startAngle + s.angle / 2),
|
|
||||||
p4X = radius * Math.cos(s.startAngle + s.angle / 1.5),
|
|
||||||
p4Y = radius * Math.sin(s.startAngle + s.angle / 1.5),
|
|
||||||
p5X = radius * Math.cos(s.startAngle + s.angle),
|
|
||||||
p5Y = radius * Math.sin(s.startAngle + s.angle),
|
|
||||||
arrPoly = [[0, 0], [p1X, p1Y], [p2X, p2Y], [p3X, p3Y], [p4X, p4Y], [p5X, p5Y]],
|
|
||||||
arrPoint = [x, y];
|
|
||||||
|
|
||||||
// TODO: perhaps do some mathmatical trickery here with the Y-coordinate to compensate for pie tilt?
|
|
||||||
|
|
||||||
if (isPointInPoly(arrPoly, arrPoint)) {
|
|
||||||
ctx.restore();
|
|
||||||
return {
|
|
||||||
datapoint: [s.percent, s.data],
|
|
||||||
dataIndex: 0,
|
|
||||||
series: s,
|
|
||||||
seriesIndex: i
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.restore();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
function onMouseMove(e) {
|
|
||||||
triggerClickHoverEvent("plothover", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
function onClick(e) {
|
|
||||||
triggerClickHoverEvent("plotclick", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
// trigger click or hover event (they send the same parameters so we share their code)
|
|
||||||
|
|
||||||
function triggerClickHoverEvent(eventname, e) {
|
|
||||||
|
|
||||||
var offset = plot.offset();
|
|
||||||
var canvasX = parseInt(e.pageX - offset.left);
|
|
||||||
var canvasY = parseInt(e.pageY - offset.top);
|
|
||||||
var item = findNearbySlice(canvasX, canvasY);
|
|
||||||
|
|
||||||
if (options.grid.autoHighlight) {
|
|
||||||
|
|
||||||
// clear auto-highlights
|
|
||||||
|
|
||||||
for (var i = 0; i < highlights.length; ++i) {
|
|
||||||
var h = highlights[i];
|
|
||||||
if (h.auto == eventname && !(item && h.series == item.series)) {
|
|
||||||
unhighlight(h.series);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// highlight the slice
|
|
||||||
|
|
||||||
if (item) {
|
|
||||||
highlight(item.series, eventname);
|
|
||||||
}
|
|
||||||
|
|
||||||
// trigger any hover bind events
|
|
||||||
|
|
||||||
var pos = { pageX: e.pageX, pageY: e.pageY };
|
|
||||||
target.trigger(eventname, [pos, item]);
|
|
||||||
}
|
|
||||||
|
|
||||||
function highlight(s, auto) {
|
|
||||||
//if (typeof s == "number") {
|
|
||||||
// s = series[s];
|
|
||||||
//}
|
|
||||||
|
|
||||||
var i = indexOfHighlight(s);
|
|
||||||
|
|
||||||
if (i == -1) {
|
|
||||||
highlights.push({ series: s, auto: auto });
|
|
||||||
plot.triggerRedrawOverlay();
|
|
||||||
} else if (!auto) {
|
|
||||||
highlights[i].auto = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function unhighlight(s) {
|
|
||||||
if (s == null) {
|
|
||||||
highlights = [];
|
|
||||||
plot.triggerRedrawOverlay();
|
|
||||||
}
|
|
||||||
|
|
||||||
//if (typeof s == "number") {
|
|
||||||
// s = series[s];
|
|
||||||
//}
|
|
||||||
|
|
||||||
var i = indexOfHighlight(s);
|
|
||||||
|
|
||||||
if (i != -1) {
|
|
||||||
highlights.splice(i, 1);
|
|
||||||
plot.triggerRedrawOverlay();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function indexOfHighlight(s) {
|
|
||||||
for (var i = 0; i < highlights.length; ++i) {
|
|
||||||
var h = highlights[i];
|
|
||||||
if (h.series == s)
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
function drawOverlay(plot, octx) {
|
|
||||||
|
|
||||||
var options = plot.getOptions();
|
|
||||||
|
|
||||||
var radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius;
|
|
||||||
|
|
||||||
octx.save();
|
|
||||||
octx.translate(centerLeft, centerTop);
|
|
||||||
octx.scale(1, options.series.pie.tilt);
|
|
||||||
|
|
||||||
for (var i = 0; i < highlights.length; ++i) {
|
|
||||||
drawHighlight(highlights[i].series);
|
|
||||||
}
|
|
||||||
|
|
||||||
drawDonutHole(octx);
|
|
||||||
|
|
||||||
octx.restore();
|
|
||||||
|
|
||||||
function drawHighlight(series) {
|
|
||||||
|
|
||||||
if (series.angle <= 0 || isNaN(series.angle)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//octx.fillStyle = parseColor(options.series.pie.highlight.color).scale(null, null, null, options.series.pie.highlight.opacity).toString();
|
|
||||||
octx.fillStyle = "rgba(255, 255, 255, " + options.series.pie.highlight.opacity + ")"; // this is temporary until we have access to parseColor
|
|
||||||
octx.beginPath();
|
|
||||||
if (Math.abs(series.angle - Math.PI * 2) > 0.000000001) {
|
|
||||||
octx.moveTo(0, 0); // Center of the pie
|
|
||||||
}
|
|
||||||
octx.arc(0, 0, radius, series.startAngle, series.startAngle + series.angle / 2, false);
|
|
||||||
octx.arc(0, 0, radius, series.startAngle + series.angle / 2, series.startAngle + series.angle, false);
|
|
||||||
octx.closePath();
|
|
||||||
octx.fill();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} // end init (plugin body)
|
|
||||||
|
|
||||||
// define pie specific options and their default values
|
|
||||||
|
|
||||||
var options = {
|
|
||||||
series: {
|
|
||||||
pie: {
|
|
||||||
show: false,
|
|
||||||
radius: "auto", // actual radius of the visible pie (based on full calculated radius if <=1, or hard pixel value)
|
|
||||||
innerRadius: 0, /* for donut */
|
|
||||||
startAngle: 3/2,
|
|
||||||
tilt: 1,
|
|
||||||
shadow: {
|
|
||||||
left: 5, // shadow left offset
|
|
||||||
top: 15, // shadow top offset
|
|
||||||
alpha: 0.02 // shadow alpha
|
|
||||||
},
|
|
||||||
offset: {
|
|
||||||
top: 0,
|
|
||||||
left: "auto"
|
|
||||||
},
|
|
||||||
stroke: {
|
|
||||||
color: "#fff",
|
|
||||||
width: 1
|
|
||||||
},
|
|
||||||
label: {
|
|
||||||
show: "auto",
|
|
||||||
formatter: function(label, slice) {
|
|
||||||
return "<div style='font-size:x-small;text-align:center;padding:2px;color:" + slice.color + ";'>" + label + "<br/>" + Math.round(slice.percent) + "%</div>";
|
|
||||||
}, // formatter function
|
|
||||||
radius: 1, // radius at which to place the labels (based on full calculated radius if <=1, or hard pixel value)
|
|
||||||
background: {
|
|
||||||
color: null,
|
|
||||||
opacity: 0
|
|
||||||
},
|
|
||||||
threshold: 0 // percentage at which to hide the label (i.e. the slice is too narrow)
|
|
||||||
},
|
|
||||||
combine: {
|
|
||||||
threshold: -1, // percentage at which to combine little slices into one larger slice
|
|
||||||
color: null, // color to give the new slice (auto-generated if null)
|
|
||||||
label: "Other" // label to give the new slice
|
|
||||||
},
|
|
||||||
highlight: {
|
|
||||||
//color: "#fff", // will add this functionality once parseColor is available
|
|
||||||
opacity: 0.5
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: "pie",
|
|
||||||
version: "1.1"
|
|
||||||
});
|
|
||||||
|
|
||||||
})(jQuery);
|
|
59
vendor/flot/jquery.flot.resize.js
vendored
@ -1,59 +0,0 @@
|
|||||||
/* Flot plugin for automatically redrawing plots as the placeholder resizes.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
It works by listening for changes on the placeholder div (through the jQuery
|
|
||||||
resize event plugin) - if the size changes, it will redraw the plot.
|
|
||||||
|
|
||||||
There are no options. If you need to disable the plugin for some plots, you
|
|
||||||
can just fix the size of their placeholders.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Inline dependency:
|
|
||||||
* jQuery resize event - v1.1 - 3/14/2010
|
|
||||||
* http://benalman.com/projects/jquery-resize-plugin/
|
|
||||||
*
|
|
||||||
* Copyright (c) 2010 "Cowboy" Ben Alman
|
|
||||||
* Dual licensed under the MIT and GPL licenses.
|
|
||||||
* http://benalman.com/about/license/
|
|
||||||
*/
|
|
||||||
(function($,e,t){"$:nomunge";var i=[],n=$.resize=$.extend($.resize,{}),a,r=false,s="setTimeout",u="resize",m=u+"-special-event",o="pendingDelay",l="activeDelay",f="throttleWindow";n[o]=200;n[l]=20;n[f]=true;$.event.special[u]={setup:function(){if(!n[f]&&this[s]){return false}var e=$(this);i.push(this);e.data(m,{w:e.width(),h:e.height()});if(i.length===1){a=t;h()}},teardown:function(){if(!n[f]&&this[s]){return false}var e=$(this);for(var t=i.length-1;t>=0;t--){if(i[t]==this){i.splice(t,1);break}}e.removeData(m);if(!i.length){if(r){cancelAnimationFrame(a)}else{clearTimeout(a)}a=null}},add:function(e){if(!n[f]&&this[s]){return false}var i;function a(e,n,a){var r=$(this),s=r.data(m)||{};s.w=n!==t?n:r.width();s.h=a!==t?a:r.height();i.apply(this,arguments)}if($.isFunction(e)){i=e;return a}else{i=e.handler;e.handler=a}}};function h(t){if(r===true){r=t||1}for(var s=i.length-1;s>=0;s--){var l=$(i[s]);if(l[0]==e||l.is(":visible")){var f=l.width(),c=l.height(),d=l.data(m);if(d&&(f!==d.w||c!==d.h)){l.trigger(u,[d.w=f,d.h=c]);r=t||true}}else{d=l.data(m);d.w=0;d.h=0}}if(a!==null){if(r&&(t==null||t-r<1e3)){a=e.requestAnimationFrame(h)}else{a=setTimeout(h,n[o]);r=false}}}if(!e.requestAnimationFrame){e.requestAnimationFrame=function(){return e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t,i){return e.setTimeout(function(){t((new Date).getTime())},n[l])}}()}if(!e.cancelAnimationFrame){e.cancelAnimationFrame=function(){return e.webkitCancelRequestAnimationFrame||e.mozCancelRequestAnimationFrame||e.oCancelRequestAnimationFrame||e.msCancelRequestAnimationFrame||clearTimeout}()}})(jQuery,this);
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
var options = { }; // no options
|
|
||||||
|
|
||||||
function init(plot) {
|
|
||||||
function onResize() {
|
|
||||||
var placeholder = plot.getPlaceholder();
|
|
||||||
|
|
||||||
// somebody might have hidden us and we can't plot
|
|
||||||
// when we don't have the dimensions
|
|
||||||
if (placeholder.width() == 0 || placeholder.height() == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
plot.resize();
|
|
||||||
plot.setupGrid();
|
|
||||||
plot.draw();
|
|
||||||
}
|
|
||||||
|
|
||||||
function bindEvents(plot, eventHolder) {
|
|
||||||
plot.getPlaceholder().resize(onResize);
|
|
||||||
}
|
|
||||||
|
|
||||||
function shutdown(plot, eventHolder) {
|
|
||||||
plot.getPlaceholder().unbind("resize", onResize);
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.hooks.bindEvents.push(bindEvents);
|
|
||||||
plot.hooks.shutdown.push(shutdown);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: 'resize',
|
|
||||||
version: '1.0'
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
360
vendor/flot/jquery.flot.selection.js
vendored
@ -1,360 +0,0 @@
|
|||||||
/* Flot plugin for selecting regions of a plot.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
The plugin supports these options:
|
|
||||||
|
|
||||||
selection: {
|
|
||||||
mode: null or "x" or "y" or "xy",
|
|
||||||
color: color,
|
|
||||||
shape: "round" or "miter" or "bevel",
|
|
||||||
minSize: number of pixels
|
|
||||||
}
|
|
||||||
|
|
||||||
Selection support is enabled by setting the mode to one of "x", "y" or "xy".
|
|
||||||
In "x" mode, the user will only be able to specify the x range, similarly for
|
|
||||||
"y" mode. For "xy", the selection becomes a rectangle where both ranges can be
|
|
||||||
specified. "color" is color of the selection (if you need to change the color
|
|
||||||
later on, you can get to it with plot.getOptions().selection.color). "shape"
|
|
||||||
is the shape of the corners of the selection.
|
|
||||||
|
|
||||||
"minSize" is the minimum size a selection can be in pixels. This value can
|
|
||||||
be customized to determine the smallest size a selection can be and still
|
|
||||||
have the selection rectangle be displayed. When customizing this value, the
|
|
||||||
fact that it refers to pixels, not axis units must be taken into account.
|
|
||||||
Thus, for example, if there is a bar graph in time mode with BarWidth set to 1
|
|
||||||
minute, setting "minSize" to 1 will not make the minimum selection size 1
|
|
||||||
minute, but rather 1 pixel. Note also that setting "minSize" to 0 will prevent
|
|
||||||
"plotunselected" events from being fired when the user clicks the mouse without
|
|
||||||
dragging.
|
|
||||||
|
|
||||||
When selection support is enabled, a "plotselected" event will be emitted on
|
|
||||||
the DOM element you passed into the plot function. The event handler gets a
|
|
||||||
parameter with the ranges selected on the axes, like this:
|
|
||||||
|
|
||||||
placeholder.bind( "plotselected", function( event, ranges ) {
|
|
||||||
alert("You selected " + ranges.xaxis.from + " to " + ranges.xaxis.to)
|
|
||||||
// similar for yaxis - with multiple axes, the extra ones are in
|
|
||||||
// x2axis, x3axis, ...
|
|
||||||
});
|
|
||||||
|
|
||||||
The "plotselected" event is only fired when the user has finished making the
|
|
||||||
selection. A "plotselecting" event is fired during the process with the same
|
|
||||||
parameters as the "plotselected" event, in case you want to know what's
|
|
||||||
happening while it's happening,
|
|
||||||
|
|
||||||
A "plotunselected" event with no arguments is emitted when the user clicks the
|
|
||||||
mouse to remove the selection. As stated above, setting "minSize" to 0 will
|
|
||||||
destroy this behavior.
|
|
||||||
|
|
||||||
The plugin allso adds the following methods to the plot object:
|
|
||||||
|
|
||||||
- setSelection( ranges, preventEvent )
|
|
||||||
|
|
||||||
Set the selection rectangle. The passed in ranges is on the same form as
|
|
||||||
returned in the "plotselected" event. If the selection mode is "x", you
|
|
||||||
should put in either an xaxis range, if the mode is "y" you need to put in
|
|
||||||
an yaxis range and both xaxis and yaxis if the selection mode is "xy", like
|
|
||||||
this:
|
|
||||||
|
|
||||||
setSelection({ xaxis: { from: 0, to: 10 }, yaxis: { from: 40, to: 60 } });
|
|
||||||
|
|
||||||
setSelection will trigger the "plotselected" event when called. If you don't
|
|
||||||
want that to happen, e.g. if you're inside a "plotselected" handler, pass
|
|
||||||
true as the second parameter. If you are using multiple axes, you can
|
|
||||||
specify the ranges on any of those, e.g. as x2axis/x3axis/... instead of
|
|
||||||
xaxis, the plugin picks the first one it sees.
|
|
||||||
|
|
||||||
- clearSelection( preventEvent )
|
|
||||||
|
|
||||||
Clear the selection rectangle. Pass in true to avoid getting a
|
|
||||||
"plotunselected" event.
|
|
||||||
|
|
||||||
- getSelection()
|
|
||||||
|
|
||||||
Returns the current selection in the same format as the "plotselected"
|
|
||||||
event. If there's currently no selection, the function returns null.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
function init(plot) {
|
|
||||||
var selection = {
|
|
||||||
first: { x: -1, y: -1}, second: { x: -1, y: -1},
|
|
||||||
show: false,
|
|
||||||
active: false
|
|
||||||
};
|
|
||||||
|
|
||||||
// FIXME: The drag handling implemented here should be
|
|
||||||
// abstracted out, there's some similar code from a library in
|
|
||||||
// the navigation plugin, this should be massaged a bit to fit
|
|
||||||
// the Flot cases here better and reused. Doing this would
|
|
||||||
// make this plugin much slimmer.
|
|
||||||
var savedhandlers = {};
|
|
||||||
|
|
||||||
var mouseUpHandler = null;
|
|
||||||
|
|
||||||
function onMouseMove(e) {
|
|
||||||
if (selection.active) {
|
|
||||||
updateSelection(e);
|
|
||||||
|
|
||||||
plot.getPlaceholder().trigger("plotselecting", [ getSelection() ]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function onMouseDown(e) {
|
|
||||||
if (e.which != 1) // only accept left-click
|
|
||||||
return;
|
|
||||||
|
|
||||||
// cancel out any text selections
|
|
||||||
document.body.focus();
|
|
||||||
|
|
||||||
// prevent text selection and drag in old-school browsers
|
|
||||||
if (document.onselectstart !== undefined && savedhandlers.onselectstart == null) {
|
|
||||||
savedhandlers.onselectstart = document.onselectstart;
|
|
||||||
document.onselectstart = function () { return false; };
|
|
||||||
}
|
|
||||||
if (document.ondrag !== undefined && savedhandlers.ondrag == null) {
|
|
||||||
savedhandlers.ondrag = document.ondrag;
|
|
||||||
document.ondrag = function () { return false; };
|
|
||||||
}
|
|
||||||
|
|
||||||
setSelectionPos(selection.first, e);
|
|
||||||
|
|
||||||
selection.active = true;
|
|
||||||
|
|
||||||
// this is a bit silly, but we have to use a closure to be
|
|
||||||
// able to whack the same handler again
|
|
||||||
mouseUpHandler = function (e) { onMouseUp(e); };
|
|
||||||
|
|
||||||
$(document).one("mouseup", mouseUpHandler);
|
|
||||||
}
|
|
||||||
|
|
||||||
function onMouseUp(e) {
|
|
||||||
mouseUpHandler = null;
|
|
||||||
|
|
||||||
// revert drag stuff for old-school browsers
|
|
||||||
if (document.onselectstart !== undefined)
|
|
||||||
document.onselectstart = savedhandlers.onselectstart;
|
|
||||||
if (document.ondrag !== undefined)
|
|
||||||
document.ondrag = savedhandlers.ondrag;
|
|
||||||
|
|
||||||
// no more dragging
|
|
||||||
selection.active = false;
|
|
||||||
updateSelection(e);
|
|
||||||
|
|
||||||
if (selectionIsSane())
|
|
||||||
triggerSelectedEvent();
|
|
||||||
else {
|
|
||||||
// this counts as a clear
|
|
||||||
plot.getPlaceholder().trigger("plotunselected", [ ]);
|
|
||||||
plot.getPlaceholder().trigger("plotselecting", [ null ]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getSelection() {
|
|
||||||
if (!selectionIsSane())
|
|
||||||
return null;
|
|
||||||
|
|
||||||
if (!selection.show) return null;
|
|
||||||
|
|
||||||
var r = {}, c1 = selection.first, c2 = selection.second;
|
|
||||||
$.each(plot.getAxes(), function (name, axis) {
|
|
||||||
if (axis.used) {
|
|
||||||
var p1 = axis.c2p(c1[axis.direction]), p2 = axis.c2p(c2[axis.direction]);
|
|
||||||
r[name] = { from: Math.min(p1, p2), to: Math.max(p1, p2) };
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
function triggerSelectedEvent() {
|
|
||||||
var r = getSelection();
|
|
||||||
|
|
||||||
plot.getPlaceholder().trigger("plotselected", [ r ]);
|
|
||||||
|
|
||||||
// backwards-compat stuff, to be removed in future
|
|
||||||
if (r.xaxis && r.yaxis)
|
|
||||||
plot.getPlaceholder().trigger("selected", [ { x1: r.xaxis.from, y1: r.yaxis.from, x2: r.xaxis.to, y2: r.yaxis.to } ]);
|
|
||||||
}
|
|
||||||
|
|
||||||
function clamp(min, value, max) {
|
|
||||||
return value < min ? min: (value > max ? max: value);
|
|
||||||
}
|
|
||||||
|
|
||||||
function setSelectionPos(pos, e) {
|
|
||||||
var o = plot.getOptions();
|
|
||||||
var offset = plot.getPlaceholder().offset();
|
|
||||||
var plotOffset = plot.getPlotOffset();
|
|
||||||
pos.x = clamp(0, e.pageX - offset.left - plotOffset.left, plot.width());
|
|
||||||
pos.y = clamp(0, e.pageY - offset.top - plotOffset.top, plot.height());
|
|
||||||
|
|
||||||
if (o.selection.mode == "y")
|
|
||||||
pos.x = pos == selection.first ? 0 : plot.width();
|
|
||||||
|
|
||||||
if (o.selection.mode == "x")
|
|
||||||
pos.y = pos == selection.first ? 0 : plot.height();
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateSelection(pos) {
|
|
||||||
if (pos.pageX == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
setSelectionPos(selection.second, pos);
|
|
||||||
if (selectionIsSane()) {
|
|
||||||
selection.show = true;
|
|
||||||
plot.triggerRedrawOverlay();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
clearSelection(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
function clearSelection(preventEvent) {
|
|
||||||
if (selection.show) {
|
|
||||||
selection.show = false;
|
|
||||||
plot.triggerRedrawOverlay();
|
|
||||||
if (!preventEvent)
|
|
||||||
plot.getPlaceholder().trigger("plotunselected", [ ]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// function taken from markings support in Flot
|
|
||||||
function extractRange(ranges, coord) {
|
|
||||||
var axis, from, to, key, axes = plot.getAxes();
|
|
||||||
|
|
||||||
for (var k in axes) {
|
|
||||||
axis = axes[k];
|
|
||||||
if (axis.direction == coord) {
|
|
||||||
key = coord + axis.n + "axis";
|
|
||||||
if (!ranges[key] && axis.n == 1)
|
|
||||||
key = coord + "axis"; // support x1axis as xaxis
|
|
||||||
if (ranges[key]) {
|
|
||||||
from = ranges[key].from;
|
|
||||||
to = ranges[key].to;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// backwards-compat stuff - to be removed in future
|
|
||||||
if (!ranges[key]) {
|
|
||||||
axis = coord == "x" ? plot.getXAxes()[0] : plot.getYAxes()[0];
|
|
||||||
from = ranges[coord + "1"];
|
|
||||||
to = ranges[coord + "2"];
|
|
||||||
}
|
|
||||||
|
|
||||||
// auto-reverse as an added bonus
|
|
||||||
if (from != null && to != null && from > to) {
|
|
||||||
var tmp = from;
|
|
||||||
from = to;
|
|
||||||
to = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
return { from: from, to: to, axis: axis };
|
|
||||||
}
|
|
||||||
|
|
||||||
function setSelection(ranges, preventEvent) {
|
|
||||||
var axis, range, o = plot.getOptions();
|
|
||||||
|
|
||||||
if (o.selection.mode == "y") {
|
|
||||||
selection.first.x = 0;
|
|
||||||
selection.second.x = plot.width();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
range = extractRange(ranges, "x");
|
|
||||||
|
|
||||||
selection.first.x = range.axis.p2c(range.from);
|
|
||||||
selection.second.x = range.axis.p2c(range.to);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (o.selection.mode == "x") {
|
|
||||||
selection.first.y = 0;
|
|
||||||
selection.second.y = plot.height();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
range = extractRange(ranges, "y");
|
|
||||||
|
|
||||||
selection.first.y = range.axis.p2c(range.from);
|
|
||||||
selection.second.y = range.axis.p2c(range.to);
|
|
||||||
}
|
|
||||||
|
|
||||||
selection.show = true;
|
|
||||||
plot.triggerRedrawOverlay();
|
|
||||||
if (!preventEvent && selectionIsSane())
|
|
||||||
triggerSelectedEvent();
|
|
||||||
}
|
|
||||||
|
|
||||||
function selectionIsSane() {
|
|
||||||
var minSize = plot.getOptions().selection.minSize;
|
|
||||||
return Math.abs(selection.second.x - selection.first.x) >= minSize &&
|
|
||||||
Math.abs(selection.second.y - selection.first.y) >= minSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.clearSelection = clearSelection;
|
|
||||||
plot.setSelection = setSelection;
|
|
||||||
plot.getSelection = getSelection;
|
|
||||||
|
|
||||||
plot.hooks.bindEvents.push(function(plot, eventHolder) {
|
|
||||||
var o = plot.getOptions();
|
|
||||||
if (o.selection.mode != null) {
|
|
||||||
eventHolder.mousemove(onMouseMove);
|
|
||||||
eventHolder.mousedown(onMouseDown);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
plot.hooks.drawOverlay.push(function (plot, ctx) {
|
|
||||||
// draw selection
|
|
||||||
if (selection.show && selectionIsSane()) {
|
|
||||||
var plotOffset = plot.getPlotOffset();
|
|
||||||
var o = plot.getOptions();
|
|
||||||
|
|
||||||
ctx.save();
|
|
||||||
ctx.translate(plotOffset.left, plotOffset.top);
|
|
||||||
|
|
||||||
var c = $.color.parse(o.selection.color);
|
|
||||||
|
|
||||||
ctx.strokeStyle = c.scale('a', 0.8).toString();
|
|
||||||
ctx.lineWidth = 1;
|
|
||||||
ctx.lineJoin = o.selection.shape;
|
|
||||||
ctx.fillStyle = c.scale('a', 0.4).toString();
|
|
||||||
|
|
||||||
var x = Math.min(selection.first.x, selection.second.x) + 0.5,
|
|
||||||
y = Math.min(selection.first.y, selection.second.y) + 0.5,
|
|
||||||
w = Math.abs(selection.second.x - selection.first.x) - 1,
|
|
||||||
h = Math.abs(selection.second.y - selection.first.y) - 1;
|
|
||||||
|
|
||||||
ctx.fillRect(x, y, w, h);
|
|
||||||
ctx.strokeRect(x, y, w, h);
|
|
||||||
|
|
||||||
ctx.restore();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
plot.hooks.shutdown.push(function (plot, eventHolder) {
|
|
||||||
eventHolder.unbind("mousemove", onMouseMove);
|
|
||||||
eventHolder.unbind("mousedown", onMouseDown);
|
|
||||||
|
|
||||||
if (mouseUpHandler)
|
|
||||||
$(document).unbind("mouseup", mouseUpHandler);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: {
|
|
||||||
selection: {
|
|
||||||
mode: null, // one of null, "x", "y" or "xy"
|
|
||||||
color: "#e8cfac",
|
|
||||||
shape: "round", // one of "round", "miter", or "bevel"
|
|
||||||
minSize: 5 // minimum number of pixels
|
|
||||||
}
|
|
||||||
},
|
|
||||||
name: 'selection',
|
|
||||||
version: '1.1'
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
188
vendor/flot/jquery.flot.stack.js
vendored
@ -1,188 +0,0 @@
|
|||||||
/* Flot plugin for stacking data sets rather than overlyaing them.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
The plugin assumes the data is sorted on x (or y if stacking horizontally).
|
|
||||||
For line charts, it is assumed that if a line has an undefined gap (from a
|
|
||||||
null point), then the line above it should have the same gap - insert zeros
|
|
||||||
instead of "null" if you want another behaviour. This also holds for the start
|
|
||||||
and end of the chart. Note that stacking a mix of positive and negative values
|
|
||||||
in most instances doesn't make sense (so it looks weird).
|
|
||||||
|
|
||||||
Two or more series are stacked when their "stack" attribute is set to the same
|
|
||||||
key (which can be any number or string or just "true"). To specify the default
|
|
||||||
stack, you can set the stack option like this:
|
|
||||||
|
|
||||||
series: {
|
|
||||||
stack: null/false, true, or a key (number/string)
|
|
||||||
}
|
|
||||||
|
|
||||||
You can also specify it for a single series, like this:
|
|
||||||
|
|
||||||
$.plot( $("#placeholder"), [{
|
|
||||||
data: [ ... ],
|
|
||||||
stack: true
|
|
||||||
}])
|
|
||||||
|
|
||||||
The stacking order is determined by the order of the data series in the array
|
|
||||||
(later series end up on top of the previous).
|
|
||||||
|
|
||||||
Internally, the plugin modifies the datapoints in each series, adding an
|
|
||||||
offset to the y value. For line series, extra data points are inserted through
|
|
||||||
interpolation. If there's a second y value, it's also adjusted (e.g for bar
|
|
||||||
charts or filled areas).
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
var options = {
|
|
||||||
series: { stack: null } // or number/string
|
|
||||||
};
|
|
||||||
|
|
||||||
function init(plot) {
|
|
||||||
function findMatchingSeries(s, allseries) {
|
|
||||||
var res = null;
|
|
||||||
for (var i = 0; i < allseries.length; ++i) {
|
|
||||||
if (s == allseries[i])
|
|
||||||
break;
|
|
||||||
|
|
||||||
if (allseries[i].stack == s.stack)
|
|
||||||
res = allseries[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
function stackData(plot, s, datapoints) {
|
|
||||||
if (s.stack == null || s.stack === false)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var other = findMatchingSeries(s, plot.getData());
|
|
||||||
if (!other)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var ps = datapoints.pointsize,
|
|
||||||
points = datapoints.points,
|
|
||||||
otherps = other.datapoints.pointsize,
|
|
||||||
otherpoints = other.datapoints.points,
|
|
||||||
newpoints = [],
|
|
||||||
px, py, intery, qx, qy, bottom,
|
|
||||||
withlines = s.lines.show,
|
|
||||||
horizontal = s.bars.horizontal,
|
|
||||||
withbottom = ps > 2 && (horizontal ? datapoints.format[2].x : datapoints.format[2].y),
|
|
||||||
withsteps = withlines && s.lines.steps,
|
|
||||||
fromgap = true,
|
|
||||||
keyOffset = horizontal ? 1 : 0,
|
|
||||||
accumulateOffset = horizontal ? 0 : 1,
|
|
||||||
i = 0, j = 0, l, m;
|
|
||||||
|
|
||||||
while (true) {
|
|
||||||
if (i >= points.length)
|
|
||||||
break;
|
|
||||||
|
|
||||||
l = newpoints.length;
|
|
||||||
|
|
||||||
if (points[i] == null) {
|
|
||||||
// copy gaps
|
|
||||||
for (m = 0; m < ps; ++m)
|
|
||||||
newpoints.push(points[i + m]);
|
|
||||||
i += ps;
|
|
||||||
}
|
|
||||||
else if (j >= otherpoints.length) {
|
|
||||||
// for lines, we can't use the rest of the points
|
|
||||||
if (!withlines) {
|
|
||||||
for (m = 0; m < ps; ++m)
|
|
||||||
newpoints.push(points[i + m]);
|
|
||||||
}
|
|
||||||
i += ps;
|
|
||||||
}
|
|
||||||
else if (otherpoints[j] == null) {
|
|
||||||
// oops, got a gap
|
|
||||||
for (m = 0; m < ps; ++m)
|
|
||||||
newpoints.push(null);
|
|
||||||
fromgap = true;
|
|
||||||
j += otherps;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// cases where we actually got two points
|
|
||||||
px = points[i + keyOffset];
|
|
||||||
py = points[i + accumulateOffset];
|
|
||||||
qx = otherpoints[j + keyOffset];
|
|
||||||
qy = otherpoints[j + accumulateOffset];
|
|
||||||
bottom = 0;
|
|
||||||
|
|
||||||
if (px == qx) {
|
|
||||||
for (m = 0; m < ps; ++m)
|
|
||||||
newpoints.push(points[i + m]);
|
|
||||||
|
|
||||||
newpoints[l + accumulateOffset] += qy;
|
|
||||||
bottom = qy;
|
|
||||||
|
|
||||||
i += ps;
|
|
||||||
j += otherps;
|
|
||||||
}
|
|
||||||
else if (px > qx) {
|
|
||||||
// we got past point below, might need to
|
|
||||||
// insert interpolated extra point
|
|
||||||
if (withlines && i > 0 && points[i - ps] != null) {
|
|
||||||
intery = py + (points[i - ps + accumulateOffset] - py) * (qx - px) / (points[i - ps + keyOffset] - px);
|
|
||||||
newpoints.push(qx);
|
|
||||||
newpoints.push(intery + qy);
|
|
||||||
for (m = 2; m < ps; ++m)
|
|
||||||
newpoints.push(points[i + m]);
|
|
||||||
bottom = qy;
|
|
||||||
}
|
|
||||||
|
|
||||||
j += otherps;
|
|
||||||
}
|
|
||||||
else { // px < qx
|
|
||||||
if (fromgap && withlines) {
|
|
||||||
// if we come from a gap, we just skip this point
|
|
||||||
i += ps;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (m = 0; m < ps; ++m)
|
|
||||||
newpoints.push(points[i + m]);
|
|
||||||
|
|
||||||
// we might be able to interpolate a point below,
|
|
||||||
// this can give us a better y
|
|
||||||
if (withlines && j > 0 && otherpoints[j - otherps] != null)
|
|
||||||
bottom = qy + (otherpoints[j - otherps + accumulateOffset] - qy) * (px - qx) / (otherpoints[j - otherps + keyOffset] - qx);
|
|
||||||
|
|
||||||
newpoints[l + accumulateOffset] += bottom;
|
|
||||||
|
|
||||||
i += ps;
|
|
||||||
}
|
|
||||||
|
|
||||||
fromgap = false;
|
|
||||||
|
|
||||||
if (l != newpoints.length && withbottom)
|
|
||||||
newpoints[l + 2] += bottom;
|
|
||||||
}
|
|
||||||
|
|
||||||
// maintain the line steps invariant
|
|
||||||
if (withsteps && l != newpoints.length && l > 0
|
|
||||||
&& newpoints[l] != null
|
|
||||||
&& newpoints[l] != newpoints[l - ps]
|
|
||||||
&& newpoints[l + 1] != newpoints[l - ps + 1]) {
|
|
||||||
for (m = 0; m < ps; ++m)
|
|
||||||
newpoints[l + ps + m] = newpoints[l + m];
|
|
||||||
newpoints[l + 1] = newpoints[l - ps + 1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
datapoints.points = newpoints;
|
|
||||||
}
|
|
||||||
|
|
||||||
plot.hooks.processDatapoints.push(stackData);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
options: options,
|
|
||||||
name: 'stack',
|
|
||||||
version: '1.2'
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
71
vendor/flot/jquery.flot.symbol.js
vendored
@ -1,71 +0,0 @@
|
|||||||
/* Flot plugin that adds some extra symbols for plotting points.
|
|
||||||
|
|
||||||
Copyright (c) 2007-2014 IOLA and Ole Laursen.
|
|
||||||
Licensed under the MIT license.
|
|
||||||
|
|
||||||
The symbols are accessed as strings through the standard symbol options:
|
|
||||||
|
|
||||||
series: {
|
|
||||||
points: {
|
|
||||||
symbol: "square" // or "diamond", "triangle", "cross"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
function processRawData(plot, series, datapoints) {
|
|
||||||
// we normalize the area of each symbol so it is approximately the
|
|
||||||
// same as a circle of the given radius
|
|
||||||
|
|
||||||
var handlers = {
|
|
||||||
square: function (ctx, x, y, radius, shadow) {
|
|
||||||
// pi * r^2 = (2s)^2 => s = r * sqrt(pi)/2
|
|
||||||
var size = radius * Math.sqrt(Math.PI) / 2;
|
|
||||||
ctx.rect(x - size, y - size, size + size, size + size);
|
|
||||||
},
|
|
||||||
diamond: function (ctx, x, y, radius, shadow) {
|
|
||||||
// pi * r^2 = 2s^2 => s = r * sqrt(pi/2)
|
|
||||||
var size = radius * Math.sqrt(Math.PI / 2);
|
|
||||||
ctx.moveTo(x - size, y);
|
|
||||||
ctx.lineTo(x, y - size);
|
|
||||||
ctx.lineTo(x + size, y);
|
|
||||||
ctx.lineTo(x, y + size);
|
|
||||||
ctx.lineTo(x - size, y);
|
|
||||||
},
|
|
||||||
triangle: function (ctx, x, y, radius, shadow) {
|
|
||||||
// pi * r^2 = 1/2 * s^2 * sin (pi / 3) => s = r * sqrt(2 * pi / sin(pi / 3))
|
|
||||||
var size = radius * Math.sqrt(2 * Math.PI / Math.sin(Math.PI / 3));
|
|
||||||
var height = size * Math.sin(Math.PI / 3);
|
|
||||||
ctx.moveTo(x - size/2, y + height/2);
|
|
||||||
ctx.lineTo(x + size/2, y + height/2);
|
|
||||||
if (!shadow) {
|
|
||||||
ctx.lineTo(x, y - height/2);
|
|
||||||
ctx.lineTo(x - size/2, y + height/2);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
cross: function (ctx, x, y, radius, shadow) {
|
|
||||||
// pi * r^2 = (2s)^2 => s = r * sqrt(pi)/2
|
|
||||||
var size = radius * Math.sqrt(Math.PI) / 2;
|
|
||||||
ctx.moveTo(x - size, y - size);
|
|
||||||
ctx.lineTo(x + size, y + size);
|
|
||||||
ctx.moveTo(x - size, y + size);
|
|
||||||
ctx.lineTo(x + size, y - size);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var s = series.points.symbol;
|
|
||||||
if (handlers[s])
|
|
||||||
series.points.symbol = handlers[s];
|
|
||||||
}
|
|
||||||
|
|
||||||
function init(plot) {
|
|
||||||
plot.hooks.processDatapoints.push(processRawData);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.plot.plugins.push({
|
|
||||||
init: init,
|
|
||||||
name: 'symbols',
|
|
||||||
version: '1.0'
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|