From 12e7722f2e05912305dd68f684f923d85a401812 Mon Sep 17 00:00:00 2001 From: Radik Fattakhov Date: Fri, 4 May 2012 23:41:01 +0400 Subject: [PATCH 01/17] Empty index page --- index.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 index.html diff --git a/index.html b/index.html new file mode 100644 index 0000000..684e27f --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +Coming soon... From 19346512d3f5aad02b4f036b7a1dbdcd6a7b4486 Mon Sep 17 00:00:00 2001 From: Radik Fattakhov Date: Sat, 5 May 2012 09:14:31 +0400 Subject: [PATCH 02/17] Draft --- .gitignore | 1 + community/index.html | 0 company/index.html | 0 index.html | 156 +- projects/index.html | 0 resources/images/classy_fabric.png | Bin 0 -> 8856 bytes resources/images/clojure-logo.png | Bin 0 -> 11894 bytes resources/images/darkdenim3.png | Bin 0 -> 22600 bytes resources/images/denim.png | Bin 0 -> 20623 bytes resources/images/foss-logo.png | Bin 0 -> 7232 bytes resources/images/git-logo.png | Bin 0 -> 5035 bytes resources/images/html5-logo.png | Bin 0 -> 4945 bytes resources/images/java-logo.jpg | Bin 0 -> 37158 bytes resources/images/java-logo.png | Bin 0 -> 6394 bytes resources/javascripts/main.js | 33 + resources/libs/bootstrap/.gitignore | 36 + resources/libs/bootstrap/.travis.yml | 3 + resources/libs/bootstrap/LICENSE | 176 + resources/libs/bootstrap/README.md | 132 + .../img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes .../bootstrap/img/glyphicons-halflings.png | Bin 0 -> 13826 bytes resources/libs/bootstrap/js/.jshintrc | 10 + resources/libs/bootstrap/js/README.md | 112 + .../libs/bootstrap/js/bootstrap-alert.js | 90 + .../libs/bootstrap/js/bootstrap-button.js | 96 + .../libs/bootstrap/js/bootstrap-carousel.js | 169 + .../libs/bootstrap/js/bootstrap-collapse.js | 157 + .../libs/bootstrap/js/bootstrap-dropdown.js | 100 + .../libs/bootstrap/js/bootstrap-modal.js | 218 + .../libs/bootstrap/js/bootstrap-popover.js | 98 + .../libs/bootstrap/js/bootstrap-scrollspy.js | 151 + resources/libs/bootstrap/js/bootstrap-tab.js | 135 + .../libs/bootstrap/js/bootstrap-tooltip.js | 275 + .../libs/bootstrap/js/bootstrap-transition.js | 61 + .../libs/bootstrap/js/bootstrap-typeahead.js | 285 + resources/libs/bootstrap/js/tests/index.html | 54 + resources/libs/bootstrap/js/tests/phantom.js | 63 + resources/libs/bootstrap/js/tests/server.js | 14 + .../js/tests/unit/bootstrap-alert.js | 56 + .../js/tests/unit/bootstrap-button.js | 77 + .../js/tests/unit/bootstrap-carousel.js | 28 + .../js/tests/unit/bootstrap-collapse.js | 54 + .../js/tests/unit/bootstrap-dropdown.js | 87 + .../js/tests/unit/bootstrap-modal.js | 114 + .../js/tests/unit/bootstrap-phantom.js | 21 + .../js/tests/unit/bootstrap-popover.js | 93 + .../js/tests/unit/bootstrap-scrollspy.js | 31 + .../bootstrap/js/tests/unit/bootstrap-tab.js | 61 + .../js/tests/unit/bootstrap-tooltip.js | 136 + .../js/tests/unit/bootstrap-transition.js | 13 + .../js/tests/unit/bootstrap-typeahead.js | 148 + .../libs/bootstrap/js/tests/vendor/jquery.js | 9252 +++++++++++++++++ .../libs/bootstrap/js/tests/vendor/qunit.css | 232 + .../libs/bootstrap/js/tests/vendor/qunit.js | 1510 +++ resources/libs/bootstrap/less/accordion.less | 33 + resources/libs/bootstrap/less/alerts.less | 58 + resources/libs/bootstrap/less/bootstrap.less | 62 + .../libs/bootstrap/less/breadcrumbs.less | 24 + .../libs/bootstrap/less/button-groups.less | 191 + resources/libs/bootstrap/less/buttons.less | 191 + resources/libs/bootstrap/less/carousel.less | 121 + resources/libs/bootstrap/less/close.less | 29 + resources/libs/bootstrap/less/code.less | 57 + .../bootstrap/less/component-animations.less | 20 + resources/libs/bootstrap/less/dropdowns.less | 143 + resources/libs/bootstrap/less/forms.less | 584 ++ resources/libs/bootstrap/less/grid.less | 5 + resources/libs/bootstrap/less/hero-unit.less | 22 + .../libs/bootstrap/less/labels-badges.less | 55 + resources/libs/bootstrap/less/layouts.less | 17 + resources/libs/bootstrap/less/mixins.less | 631 ++ resources/libs/bootstrap/less/modals.less | 90 + resources/libs/bootstrap/less/navbar.less | 364 + resources/libs/bootstrap/less/navs.less | 363 + resources/libs/bootstrap/less/pager.less | 36 + resources/libs/bootstrap/less/pagination.less | 56 + resources/libs/bootstrap/less/popovers.less | 49 + .../libs/bootstrap/less/progress-bars.less | 117 + resources/libs/bootstrap/less/reset.less | 126 + .../bootstrap/less/responsive-1200px-min.less | 26 + .../bootstrap/less/responsive-767px-max.less | 149 + .../less/responsive-768px-979px.less | 17 + .../bootstrap/less/responsive-navbar.less | 146 + .../bootstrap/less/responsive-utilities.less | 41 + resources/libs/bootstrap/less/responsive.less | 48 + .../libs/bootstrap/less/scaffolding.less | 29 + resources/libs/bootstrap/less/sprites.less | 191 + resources/libs/bootstrap/less/tables.less | 176 + .../libs/bootstrap/less/tests/css-tests.css | 51 + .../libs/bootstrap/less/tests/css-tests.html | 827 ++ resources/libs/bootstrap/less/thumbnails.less | 47 + resources/libs/bootstrap/less/tooltip.less | 35 + resources/libs/bootstrap/less/type.less | 235 + resources/libs/bootstrap/less/utilities.less | 23 + resources/libs/bootstrap/less/variables.less | 205 + resources/libs/bootstrap/less/wells.less | 27 + resources/libs/jquery-1.7.2.min.js | 4 + resources/libs/less-1.3.0.min.js | 9 + resources/stylesheets/main.less | 128 + 99 files changed, 20395 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 community/index.html create mode 100644 company/index.html create mode 100644 projects/index.html create mode 100644 resources/images/classy_fabric.png create mode 100644 resources/images/clojure-logo.png create mode 100644 resources/images/darkdenim3.png create mode 100644 resources/images/denim.png create mode 100644 resources/images/foss-logo.png create mode 100644 resources/images/git-logo.png create mode 100644 resources/images/html5-logo.png create mode 100644 resources/images/java-logo.jpg create mode 100644 resources/images/java-logo.png create mode 100644 resources/javascripts/main.js create mode 100644 resources/libs/bootstrap/.gitignore create mode 100644 resources/libs/bootstrap/.travis.yml create mode 100644 resources/libs/bootstrap/LICENSE create mode 100644 resources/libs/bootstrap/README.md create mode 100644 resources/libs/bootstrap/img/glyphicons-halflings-white.png create mode 100644 resources/libs/bootstrap/img/glyphicons-halflings.png create mode 100644 resources/libs/bootstrap/js/.jshintrc create mode 100644 resources/libs/bootstrap/js/README.md create mode 100644 resources/libs/bootstrap/js/bootstrap-alert.js create mode 100644 resources/libs/bootstrap/js/bootstrap-button.js create mode 100644 resources/libs/bootstrap/js/bootstrap-carousel.js create mode 100644 resources/libs/bootstrap/js/bootstrap-collapse.js create mode 100644 resources/libs/bootstrap/js/bootstrap-dropdown.js create mode 100644 resources/libs/bootstrap/js/bootstrap-modal.js create mode 100644 resources/libs/bootstrap/js/bootstrap-popover.js create mode 100644 resources/libs/bootstrap/js/bootstrap-scrollspy.js create mode 100644 resources/libs/bootstrap/js/bootstrap-tab.js create mode 100644 resources/libs/bootstrap/js/bootstrap-tooltip.js create mode 100644 resources/libs/bootstrap/js/bootstrap-transition.js create mode 100644 resources/libs/bootstrap/js/bootstrap-typeahead.js create mode 100644 resources/libs/bootstrap/js/tests/index.html create mode 100644 resources/libs/bootstrap/js/tests/phantom.js create mode 100644 resources/libs/bootstrap/js/tests/server.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-alert.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-button.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-carousel.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-collapse.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-dropdown.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-modal.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-phantom.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-popover.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-scrollspy.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-tab.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-tooltip.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-transition.js create mode 100644 resources/libs/bootstrap/js/tests/unit/bootstrap-typeahead.js create mode 100644 resources/libs/bootstrap/js/tests/vendor/jquery.js create mode 100644 resources/libs/bootstrap/js/tests/vendor/qunit.css create mode 100644 resources/libs/bootstrap/js/tests/vendor/qunit.js create mode 100644 resources/libs/bootstrap/less/accordion.less create mode 100644 resources/libs/bootstrap/less/alerts.less create mode 100644 resources/libs/bootstrap/less/bootstrap.less create mode 100644 resources/libs/bootstrap/less/breadcrumbs.less create mode 100644 resources/libs/bootstrap/less/button-groups.less create mode 100644 resources/libs/bootstrap/less/buttons.less create mode 100644 resources/libs/bootstrap/less/carousel.less create mode 100644 resources/libs/bootstrap/less/close.less create mode 100644 resources/libs/bootstrap/less/code.less create mode 100644 resources/libs/bootstrap/less/component-animations.less create mode 100644 resources/libs/bootstrap/less/dropdowns.less create mode 100644 resources/libs/bootstrap/less/forms.less create mode 100644 resources/libs/bootstrap/less/grid.less create mode 100644 resources/libs/bootstrap/less/hero-unit.less create mode 100644 resources/libs/bootstrap/less/labels-badges.less create mode 100644 resources/libs/bootstrap/less/layouts.less create mode 100644 resources/libs/bootstrap/less/mixins.less create mode 100644 resources/libs/bootstrap/less/modals.less create mode 100644 resources/libs/bootstrap/less/navbar.less create mode 100644 resources/libs/bootstrap/less/navs.less create mode 100644 resources/libs/bootstrap/less/pager.less create mode 100644 resources/libs/bootstrap/less/pagination.less create mode 100644 resources/libs/bootstrap/less/popovers.less create mode 100644 resources/libs/bootstrap/less/progress-bars.less create mode 100644 resources/libs/bootstrap/less/reset.less create mode 100644 resources/libs/bootstrap/less/responsive-1200px-min.less create mode 100644 resources/libs/bootstrap/less/responsive-767px-max.less create mode 100644 resources/libs/bootstrap/less/responsive-768px-979px.less create mode 100644 resources/libs/bootstrap/less/responsive-navbar.less create mode 100644 resources/libs/bootstrap/less/responsive-utilities.less create mode 100644 resources/libs/bootstrap/less/responsive.less create mode 100644 resources/libs/bootstrap/less/scaffolding.less create mode 100644 resources/libs/bootstrap/less/sprites.less create mode 100644 resources/libs/bootstrap/less/tables.less create mode 100644 resources/libs/bootstrap/less/tests/css-tests.css create mode 100644 resources/libs/bootstrap/less/tests/css-tests.html create mode 100644 resources/libs/bootstrap/less/thumbnails.less create mode 100644 resources/libs/bootstrap/less/tooltip.less create mode 100644 resources/libs/bootstrap/less/type.less create mode 100644 resources/libs/bootstrap/less/utilities.less create mode 100644 resources/libs/bootstrap/less/variables.less create mode 100644 resources/libs/bootstrap/less/wells.less create mode 100644 resources/libs/jquery-1.7.2.min.js create mode 100644 resources/libs/less-1.3.0.min.js create mode 100644 resources/stylesheets/main.less diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/community/index.html b/community/index.html new file mode 100644 index 0000000..e69de29 diff --git a/company/index.html b/company/index.html new file mode 100644 index 0000000..e69de29 diff --git a/index.html b/index.html index 684e27f..b633d23 100644 --- a/index.html +++ b/index.html @@ -1 +1,155 @@ -Coming soon... + + + + FOSS Labs + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+
+

Сообщество

+

+ FOSS Labs - это не только коммерческая компания, но и сообщество энтузиастов и фанатов opensource. +

+
+
+

Первый hackerspace в России

+

+ FOSS Labs является первым зарегестрированным в России hackerspace'ом. + Каждый может прийти к нам в офис, поработать и пообщаться с такими же фанатами разработки. +

+
+
+
+ +
+
+
+ +
+
+
+
+ + +
+
+

Наш стек технологий

+ + + + +
+
+ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/projects/index.html b/projects/index.html new file mode 100644 index 0000000..e69de29 diff --git a/resources/images/classy_fabric.png b/resources/images/classy_fabric.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3d2679cd62c18b0f30e1d5ad006d37ffd7ba12 GIT binary patch literal 8856 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 literal 0 HcmV?d00001 diff --git a/resources/images/darkdenim3.png b/resources/images/darkdenim3.png new file mode 100644 index 0000000000000000000000000000000000000000..8ed2ab1bdd1303012ff65373675c8b74dc1ab393 GIT binary patch literal 22600 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 RAQ~9wiJF#bg|cPnzX0r3T>Ah3 literal 0 HcmV?d00001 diff --git a/resources/images/denim.png b/resources/images/denim.png new file mode 100644 index 0000000000000000000000000000000000000000..3b0bb7e372ea6bc992090c5e9f4b56d93adecf13 GIT binary patch literal 20623 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 literal 0 HcmV?d00001 diff --git a/resources/images/git-logo.png b/resources/images/git-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d37321fbd0b39bd457500bcf5540221a003b35 GIT binary patch literal 5035 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 P00000NkvXXu0mjfMnj|t literal 0 HcmV?d00001 diff --git a/resources/images/java-logo.jpg b/resources/images/java-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1bbf4966005395fc7e42ec5a0f7dad00241b740c GIT binary patch literal 37158 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%0D6Ei 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 IM6N<$f_}Px#Q*>R literal 0 HcmV?d00001 diff --git a/resources/javascripts/main.js b/resources/javascripts/main.js new file mode 100644 index 0000000..4470cca --- /dev/null +++ b/resources/javascripts/main.js @@ -0,0 +1,33 @@ +$(document).ready(function(){ + var TIMEOUT = 9000; + + var currentSlideNum = 0; + var slides = $('#caroussel .slide'); + var links = $('#caroussel .links li') + + var nextSlide = function() { + goToSlide(currentSlideNum+1> slides.size()-1 ? 0 : currentSlideNum+1); + }; + + var goToSlide = function(slideNum) { + slides.eq(currentSlideNum = slideNum).addClass('active').siblings().removeClass('active'); + links.eq(currentSlideNum = slideNum).addClass('selected').siblings().removeClass('selected'); + }; + + goToSlide(0) + + var lastHumanNav = 0; + + $('#caroussel .links a').each(function(i,e){ + $(e).click(function(){ + lastHumanNav = new Date().getTime(); + goToSlide(i) + }); + + }); + + setInterval(function() { + if(new Date().getTime() - lastHumanNav > TIMEOUT) /* human interact is prioritary */ + nextSlide(); + }, TIMEOUT); +}); \ No newline at end of file diff --git a/resources/libs/bootstrap/.gitignore b/resources/libs/bootstrap/.gitignore new file mode 100644 index 0000000..2b1ffbf --- /dev/null +++ b/resources/libs/bootstrap/.gitignore @@ -0,0 +1,36 @@ +# Numerous always-ignore extensions +*.diff +*.err +*.orig +*.log +*.rej +*.swo +*.swp +*.zip +*.vi +*~ +*.sass-cache + +# OS or Editor folders +.DS_Store +._* +Thumbs.db +.cache +.project +.settings +.tmproj +*.esproj +nbproject +*.sublime-project +*.sublime-workspace + +# Komodo +*.komodoproject +.komodotools + +# Folders to ignore +.hg +.svn +.CVS +.idea +node_modules diff --git a/resources/libs/bootstrap/.travis.yml b/resources/libs/bootstrap/.travis.yml new file mode 100644 index 0000000..b8e1f17 --- /dev/null +++ b/resources/libs/bootstrap/.travis.yml @@ -0,0 +1,3 @@ +language: node_js +node_js: + - 0.6 \ No newline at end of file diff --git a/resources/libs/bootstrap/LICENSE b/resources/libs/bootstrap/LICENSE new file mode 100644 index 0000000..2bb9ad2 --- /dev/null +++ b/resources/libs/bootstrap/LICENSE @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/resources/libs/bootstrap/README.md b/resources/libs/bootstrap/README.md new file mode 100644 index 0000000..54ea405 --- /dev/null +++ b/resources/libs/bootstrap/README.md @@ -0,0 +1,132 @@ +[Twitter Bootstrap](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap) +================= + +Bootstrap provides simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions. In other words, it's a front-end toolkit for faster, more beautiful web development. It's created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat) at Twitter. + +To get started, checkout http://twitter.github.com/bootstrap! + + + +Quick start +----------- + +Clone the repo, `git clone git@github.com:twitter/bootstrap.git`, or [download the latest release](https://github.com/twitter/bootstrap/zipball/master). + + + +Versioning +---------- + +For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Bootstrap will be maintained under the Semantic Versioning guidelines as much as possible. + +Releases will be numbered with the follow format: + +`..` + +And constructed with the following guidelines: + +* Breaking backward compatibility bumps the major (and resets the minor and patch) +* New additions without breaking backward compatibility bumps the minor (and resets the patch) +* Bug fixes and misc changes bumps the patch + +For more information on SemVer, please visit http://semver.org/. + + + +Bug tracker +----------- + +Have a bug? Please create an issue here on GitHub! + +https://github.com/twitter/bootstrap/issues + + + +Twitter account +--------------- + +Keep up to date on announcements and more by following Bootstrap on Twitter, [@TwBootstrap](http://twitter.com/TwBootstrap). + + + +Blog +---- + +Read more detailed announcements, discussions, and more on [The Official Twitter Bootstrap Blog](http://blog.getbootstrap.com). + + + +Mailing list +------------ + +Have a question? Ask on our mailing list! + +twitter-bootstrap@googlegroups.com + +http://groups.google.com/group/twitter-bootstrap + + + +IRC +--- + +Server: irc.freenode.net + +Channel: ##twitter-bootstrap (the double ## is not a typo) + + + +Developers +---------- + +We have included a makefile with convenience methods for working with the Bootstrap library. + ++ **dependencies** +Our makefile depends on you having recess, uglify.js, and jshint installed. To install, just run the following command in npm: + +``` +$ npm install recess uglify-js jshint -g +``` + ++ **build** - `make` +Runs the recess compiler to rebuild the `/less` files and compiles the docs pages. Requires recess and uglify-js. Read more in our docs » + ++ **test** - `make test` +Runs jshint and qunit tests headlessly in phantom js (used for ci). Depends on having phatomjs installed. + ++ **watch** - `make watch` +This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem. + + + +Authors +------- + +**Mark Otto** + ++ http://twitter.com/mdo ++ http://github.com/markdotto + +**Jacob Thornton** + ++ http://twitter.com/fat ++ http://github.com/fat + + + +Copyright and license +--------------------- + +Copyright 2012 Twitter, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this work except in compliance with the License. +You may obtain a copy of the License in the LICENSE file, or at: + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/resources/libs/bootstrap/img/glyphicons-halflings-white.png b/resources/libs/bootstrap/img/glyphicons-halflings-white.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf6484a29d8da269f9bc874b25493a45fae3bae GIT binary patch literal 8777 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 B7G?kd literal 0 HcmV?d00001 diff --git a/resources/libs/bootstrap/img/glyphicons-halflings.png b/resources/libs/bootstrap/img/glyphicons-halflings.png new file mode 100644 index 0000000000000000000000000000000000000000..79bc568c21395d5a5ceab62fadb04457094b2ac7 GIT binary patch literal 13826 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 literal 0 HcmV?d00001 diff --git a/resources/libs/bootstrap/js/.jshintrc b/resources/libs/bootstrap/js/.jshintrc new file mode 100644 index 0000000..bbac349 --- /dev/null +++ b/resources/libs/bootstrap/js/.jshintrc @@ -0,0 +1,10 @@ +{ + "validthis": true, + "laxcomma" : true, + "laxbreak" : true, + "browser" : true, + "debug" : true, + "boss" : true, + "expr" : true, + "asi" : true +} \ No newline at end of file diff --git a/resources/libs/bootstrap/js/README.md b/resources/libs/bootstrap/js/README.md new file mode 100644 index 0000000..c7b71e7 --- /dev/null +++ b/resources/libs/bootstrap/js/README.md @@ -0,0 +1,112 @@ +## 2.0 BOOTSTRAP JS PHILOSOPHY +These are the high-level design rules which guide the development of Bootstrap's plugin apis. + +--- + +### DATA-ATTRIBUTE API + +We believe you should be able to use all plugins provided by Bootstrap purely through the markup API without writing a single line of javascript. This is bootstraps first class api. + +We acknowledge that this isn't always the most performant and sometimes it may be desirable to turn this functionality off altogether. Therefore, as of 2.0 we provide the ability to disable the data attribute API by unbinding all events on the body namespaced with `'data-api'`. This looks like this: + + $('body').off('.data-api') + +To target a specific plugin, just include the plugins name as a namespace along with the data-api namespace like this: + + $('body').off('.alert.data-api') + +--- + +### PROGRAMATIC API + +We also believe you should be able to use all plugins provided by Bootstrap purely through the JS API. + +All public APIs should be single, chainable methods, and return the collection acted upon. + + $(".btn.danger").button("toggle").addClass("fat") + +All methods should accept an optional options object, a string which targets a particular method, or null which initiates the default behavior: + + $("#myModal").modal() // initialized with defaults + $("#myModal").modal({ keyboard: false }) // initialized with no keyboard + $("#myModal").modal('show') // initializes and invokes show immediately + +--- + +### OPTIONS + +Options should be sparse and add universal value. We should pick the right defaults. + +All plugins should have a default object which can be modified to affect all instances' default options. The defaults object should be available via `$.fn.plugin.defaults`. + + $.fn.modal.defaults = { … } + +An options definition should take the following form: + + *noun*: *adjective* - describes or modifies a quality of an instance + +examples: + + backdrop: true + keyboard: false + placement: 'top' + +--- + +### EVENTS + +All events should have an infinitive and past participle form. The infinitive is fired just before an action takes place, the past participle on completion of the action. + + show | shown + hide | hidden + +All infinitive events should provide preventDefault functionality. This provides the abililty to stop the execution of an action. + + $('#myModal').on('show', function (e) { + if (!data) return e.preventDefault() // stops modal from being shown + }) + +--- + +### CONSTRUCTORS + +Each plugin should expose its raw constructor on a `Constructor` property -- accessed in the following way: + + + $.fn.popover.Constructor + +--- + +### DATA ACCESSOR + +Each plugin stores a copy of the invoked class on an object. This class instance can be accessed directly through jQuery's data API like this: + + $('[rel=popover]').data('popover') instanceof $.fn.popover.Constructor + +--- + +### DATA ATTRIBUTES + +Data attributes should take the following form: + +- data-{{verb}}={{plugin}} - defines main interaction +- data-target || href^=# - defined on "control" element (if element controls an element other than self) +- data-{{noun}} - defines class instance options + +examples: + + // control other targets + data-toggle="modal" data-target="#foo" + data-toggle="collapse" data-target="#foo" data-parent="#bar" + + // defined on element they control + data-spy="scroll" + + data-dismiss="modal" + data-dismiss="alert" + + data-toggle="dropdown" + + data-toggle="button" + data-toggle="buttons-checkbox" + data-toggle="buttons-radio" \ No newline at end of file diff --git a/resources/libs/bootstrap/js/bootstrap-alert.js b/resources/libs/bootstrap/js/bootstrap-alert.js new file mode 100644 index 0000000..fa0806e --- /dev/null +++ b/resources/libs/bootstrap/js/bootstrap-alert.js @@ -0,0 +1,90 @@ +/* ========================================================== + * bootstrap-alert.js v2.0.3 + * http://twitter.github.com/bootstrap/javascript.html#alerts + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* ALERT CLASS DEFINITION + * ====================== */ + + var dismiss = '[data-dismiss="alert"]' + , Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + + e && e.preventDefault() + + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + + $parent.trigger(e = $.Event('close')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent + .trigger('closed') + .remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() + } + + + /* ALERT PLUGIN DEFINITION + * ======================= */ + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('alert') + if (!data) $this.data('alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + /* ALERT DATA-API + * ============== */ + + $(function () { + $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/resources/libs/bootstrap/js/bootstrap-button.js b/resources/libs/bootstrap/js/bootstrap-button.js new file mode 100644 index 0000000..a9e6ba7 --- /dev/null +++ b/resources/libs/bootstrap/js/bootstrap-button.js @@ -0,0 +1,96 @@ +/* ============================================================ + * bootstrap-button.js v2.0.3 + * http://twitter.github.com/bootstrap/javascript.html#buttons + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* BUTTON PUBLIC CLASS DEFINITION + * ============================== */ + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.button.defaults, options) + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' + + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.parent('[data-toggle="buttons-radio"]') + + $parent && $parent + .find('.active') + .removeClass('active') + + this.$element.toggleClass('active') + } + + + /* BUTTON PLUGIN DEFINITION + * ======================== */ + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('button') + , options = typeof option == 'object' && option + if (!data) $this.data('button', (data = new Button(this, options))) + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.defaults = { + loadingText: 'loading...' + } + + $.fn.button.Constructor = Button + + + /* BUTTON DATA-API + * =============== */ + + $(function () { + $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + }) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/resources/libs/bootstrap/js/bootstrap-carousel.js b/resources/libs/bootstrap/js/bootstrap-carousel.js new file mode 100644 index 0000000..96e5a81 --- /dev/null +++ b/resources/libs/bootstrap/js/bootstrap-carousel.js @@ -0,0 +1,169 @@ +/* ========================================================== + * bootstrap-carousel.js v2.0.3 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.options = options + this.options.slide && this.slide(this.options.slide) + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.prototype = { + + cycle: function (e) { + if (!e) this.paused = false + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + return this + } + + , to: function (pos) { + var $active = this.$element.find('.active') + , children = $active.parent().children() + , activePos = children.index($active) + , that = this + + if (pos > (children.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activePos == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) + } + + , pause: function (e) { + if (!e) this.paused = true + clearInterval(this.interval) + this.interval = null + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + , e = $.Event('slide') + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + if ($next.hasClass('active')) return + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (typeof option == 'string' || (option = options.slide)) data[option]() + else if (options.interval) data.cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + , pause: 'hover' + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL DATA-API + * ================= */ + + $(function () { + $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) + $target.carousel(options) + e.preventDefault() + }) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/resources/libs/bootstrap/js/bootstrap-collapse.js b/resources/libs/bootstrap/js/bootstrap-collapse.js new file mode 100644 index 0000000..d02f6fd --- /dev/null +++ b/resources/libs/bootstrap/js/bootstrap-collapse.js @@ -0,0 +1,157 @@ +/* ============================================================= + * bootstrap-collapse.js v2.0.3 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSIBLE PLUGIN DEFINITION + * ============================== */ + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = typeof option == 'object' && option + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSIBLE DATA-API + * ==================== */ + + $(function () { + $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $(target).collapse(option) + }) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/resources/libs/bootstrap/js/bootstrap-dropdown.js b/resources/libs/bootstrap/js/bootstrap-dropdown.js new file mode 100644 index 0000000..ec0588d --- /dev/null +++ b/resources/libs/bootstrap/js/bootstrap-dropdown.js @@ -0,0 +1,100 @@ +/* ============================================================ + * bootstrap-dropdown.js v2.0.3 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle="dropdown"]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , selector + , isActive + + if ($this.is('.disabled, :disabled')) return + + selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) $parent.toggleClass('open') + + return false + } + + } + + function clearMenus() { + $(toggle).parent().removeClass('open') + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(function () { + $('html').on('click.dropdown.data-api', clearMenus) + $('body') + .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/resources/libs/bootstrap/js/bootstrap-modal.js b/resources/libs/bootstrap/js/bootstrap-modal.js new file mode 100644 index 0000000..c831de6 --- /dev/null +++ b/resources/libs/bootstrap/js/bootstrap-modal.js @@ -0,0 +1,218 @@ +/* ========================================================= + * bootstrap-modal.js v2.0.3 + * http://twitter.github.com/bootstrap/javascript.html#modals + * ========================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* MODAL CLASS DEFINITION + * ====================== */ + + var Modal = function (content, options) { + this.options = options + this.$element = $(content) + .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) + } + + Modal.prototype = { + + constructor: Modal + + , toggle: function () { + return this[!this.isShown ? 'show' : 'hide']() + } + + , show: function () { + var that = this + , e = $.Event('show') + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + $('body').addClass('modal-open') + + this.isShown = true + + escape.call(this) + backdrop.call(this, function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(document.body) //don't move modals dom position + } + + that.$element + .show() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element.addClass('in') + + transition ? + that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : + that.$element.trigger('shown') + + }) + } + + , hide: function (e) { + e && e.preventDefault() + + var that = this + + e = $.Event('hide') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + $('body').removeClass('modal-open') + + escape.call(this) + + this.$element.removeClass('in') + + $.support.transition && this.$element.hasClass('fade') ? + hideWithTransition.call(this) : + hideModal.call(this) + } + + } + + + /* MODAL PRIVATE METHODS + * ===================== */ + + function hideWithTransition() { + var that = this + , timeout = setTimeout(function () { + that.$element.off($.support.transition.end) + hideModal.call(that) + }, 500) + + this.$element.one($.support.transition.end, function () { + clearTimeout(timeout) + hideModal.call(that) + }) + } + + function hideModal(that) { + this.$element + .hide() + .trigger('hidden') + + backdrop.call(this) + } + + function backdrop(callback) { + var that = this + , animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $('