bootstrap-sass-rails 2.2.1.2 → 2.2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (242) hide show
  1. data/lib/bootstrap/sass/rails/version.rb +1 -1
  2. data/test/dummy/log/test.log +1230 -3105
  3. data/test/dummy/tmp/cache/assets/{test/sprockets/915d29a78a13fbbb606d47840634d703 → C54/C80/sprockets%2F19036f592b2da9579b66d7160790c122} +0 -0
  4. data/test/dummy/tmp/cache/assets/C83/870/sprockets%2F508e55e1444b44d0187677a51893acf2 +0 -0
  5. data/test/dummy/tmp/cache/assets/{DCD/540/sprockets%2F81dd0cb0661e7e9725d4cecb2ea2e9d5 → C8D/8B0/sprockets%2F0ce5158126f6a64795f032e3f68a7738} +0 -0
  6. data/test/dummy/tmp/cache/assets/CA6/110/sprockets%2F272615ec4af76b10339048ca6da44284 +0 -0
  7. data/test/dummy/tmp/cache/assets/CD1/580/sprockets%2F7e48514e772b39d8878a8181798eaea6 +0 -0
  8. data/test/dummy/tmp/cache/assets/{DC7/8B0/sprockets%2Fc57aff8fcaace116023b4ae45c88138c → CDE/A90/sprockets%2F262806eb1042266de7f19a415ce8bb96} +0 -0
  9. data/test/dummy/tmp/cache/assets/CE1/100/sprockets%2F2bd95370219836a2591c897bee0a2db6 +0 -0
  10. data/test/dummy/tmp/cache/assets/CE5/650/sprockets%2F8ab512c9b33ac90e699b73469d71f061 +0 -0
  11. data/test/dummy/tmp/cache/assets/CE9/E40/sprockets%2F47f8666418cd38da2ff7625f02422b5e +0 -0
  12. data/test/dummy/tmp/cache/assets/D04/3C0/sprockets%2F29d763bd40cc25622b1f04b876a5c3e3 +0 -0
  13. data/test/dummy/tmp/cache/assets/{test/sprockets/1446b4accb510daee592aa8f34b03d2e → D0E/440/sprockets%2Fa907bc33487a395c54255661b1ab9cee} +0 -0
  14. data/test/dummy/tmp/cache/assets/{DB6/FE0/sprockets%2F1446b4accb510daee592aa8f34b03d2e → D0E/7A0/sprockets%2F8ebc6d15039f0c49e700d398151b57cb} +0 -0
  15. data/test/dummy/tmp/cache/assets/{C6F/370/sprockets%2F966879d6ff8742dc619724287f4a5150 → D15/170/sprockets%2F8b52717826ad023e68f2af421ea8fd86} +0 -0
  16. data/test/dummy/tmp/cache/assets/{test/sprockets/33f27cfaa7bec6fcb98ce5163c2d5c5d → D16/AE0/sprockets%2F8c36fc6e77648942c466c4d2a8c0b0d1} +0 -0
  17. data/test/dummy/tmp/cache/assets/{test/sprockets/382f45c06aa1f72aea7048fd474bbc33 → D17/420/sprockets%2F2bf2d861c116599c91106efef2f595d1} +0 -0
  18. data/test/dummy/tmp/cache/assets/D2D/410/sprockets%2F19d37b85ac2b8498758bdf8d08099e8b +0 -0
  19. data/test/dummy/tmp/cache/assets/{CCE/280/sprockets%2F59565d2ec707a1eb10c0b2302d58f920 → D32/7F0/sprockets%2F73631d9351ebd106d16d6f39a112cdfa} +0 -0
  20. data/test/dummy/tmp/cache/assets/D3F/FA0/sprockets%2F22c8366fdbaaa2872b202dfe7376629f +0 -0
  21. data/test/dummy/tmp/cache/assets/{test/sprockets/c63af852c0f9cc4aa6a7dd59d74ab0a9 → D4B/DE0/sprockets%2Fbfb158877e483c38043fc4fa398ce4a3} +0 -0
  22. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  23. data/test/dummy/tmp/cache/assets/{D63/C70/sprockets%2F382f45c06aa1f72aea7048fd474bbc33 → D52/710/sprockets%2Fc068f230f77427bede189275fd5f5d5f} +0 -0
  24. data/test/dummy/tmp/cache/assets/{E30/FF0/sprockets%2F33f27cfaa7bec6fcb98ce5163c2d5c5d → D56/1E0/sprockets%2Fac9d4fa8dc84acf15894691de8299333} +0 -0
  25. data/test/dummy/tmp/cache/assets/D5A/560/sprockets%2Fad87bf89db0c636d2899f3d47eb70838 +0 -0
  26. data/test/dummy/tmp/cache/assets/{D34/0D0/sprockets%2F2e0e0061bc75f35b8665ee31f0af343f → D5D/120/sprockets%2Ff60d6b30d7c1a6ad7834f84af2c21b11} +0 -0
  27. data/test/dummy/tmp/cache/assets/{test/sprockets/67d5fd7ae45e04fd786ee67812769cb5 → D68/5A0/sprockets%2F9ab1ffcdeb9a5c2dc12282b288173642} +0 -0
  28. data/test/dummy/tmp/cache/assets/{test/sprockets/1c1f6d1579d9ad26654219f30c46f95c → D6D/E90/sprockets%2Fc69804c1aa5a65ad87dd43387bfa290c} +0 -0
  29. data/test/dummy/tmp/cache/assets/{D44/700/sprockets%2Fd328468f953946d2e2bef62c4cb7cb01 → D6F/610/sprockets%2F2c75ea39d9183da8ba0fb16a885e17d1} +0 -0
  30. data/test/dummy/tmp/cache/assets/D70/0D0/sprockets%2F75765d3bfee9346a60198cbb8cdad102 +0 -0
  31. data/test/dummy/tmp/cache/assets/D73/760/sprockets%2F4e1d706de9dc13479c028238faea6ff2 +0 -0
  32. data/test/dummy/tmp/cache/assets/{test/sprockets/d328468f953946d2e2bef62c4cb7cb01 → D75/B80/sprockets%2Fde9ec40a11599929af86deb13fb5107d} +0 -0
  33. data/test/dummy/tmp/cache/assets/{test/sprockets/15de37cf628d966fd377f94afbffe244 → D7F/230/sprockets%2F38c0bf69e54b26f3c377a88615dc9afe} +0 -0
  34. data/test/dummy/tmp/cache/assets/{E2A/B40/sprockets%2F591e8bae8cab045e0af3ce80e3fa7ad9 → D90/760/sprockets%2F3f391be0fdf038e21cf04bfef31118a5} +0 -0
  35. data/test/dummy/tmp/cache/assets/D91/080/sprockets%2Fbcca522c6302f184f12fe0e8a7d7e71a +0 -0
  36. data/test/dummy/tmp/cache/assets/D9F/300/sprockets%2Fc13fc73ceafa45876a901b3e775b83ae +0 -0
  37. data/test/dummy/tmp/cache/assets/{D2D/8A0/sprockets%2F16702b2d73e90a918e2a03d40dd0fb6e → DBA/570/sprockets%2F99b7b3bee457cc753c9598e08fbde55c} +0 -0
  38. data/test/dummy/tmp/cache/assets/{D5C/3F0/sprockets%2F67d5fd7ae45e04fd786ee67812769cb5 → DBB/130/sprockets%2F7be9c2377fb99c9bca96f3e4735ce4c7} +0 -0
  39. data/test/dummy/tmp/cache/assets/{D74/A80/sprockets%2F89c4c5e2f034b736d5e839adfe7012db → DBF/0F0/sprockets%2F54a8f3ef7b989e877bf3d6ab5e4ce269} +0 -0
  40. data/test/dummy/tmp/cache/assets/{test/sprockets/1960b4507c3aaa988180fb04093d1427 → DC6/030/sprockets%2F12f58e0c564a6a91ae6b590fbcc6bb3d} +0 -0
  41. data/test/dummy/tmp/cache/assets/{test/sprockets/d6edb12fc70021e8ada656d316e0cd8d → DD6/5B0/sprockets%2F7b61b0df4f3cd7ee89e646ac45b8aa73} +0 -0
  42. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  43. data/test/dummy/tmp/cache/assets/{CB0/110/sprockets%2F057089195001bff3a770cec267e0877b → DEA/C30/sprockets%2Fc9ec88238d9cf3dbea3999f5e23d1d8d} +0 -0
  44. data/test/dummy/tmp/cache/assets/{test/sprockets/ee1ae05707da2d0176094849e35099ce → DEF/190/sprockets%2F8decfbb4a0c5daba196d521a9c6e3306} +0 -0
  45. data/test/dummy/tmp/cache/assets/{DC1/D20/sprockets%2Fd6edb12fc70021e8ada656d316e0cd8d → DF5/540/sprockets%2F0c209952fce9e334e2f1ab6ced0dbae6} +0 -0
  46. data/test/dummy/tmp/cache/assets/DFF/EA0/sprockets%2Fc05f92ff4e2fa5eadcfe9d3d151047f3 +0 -0
  47. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  48. data/test/dummy/tmp/cache/assets/{D39/3D0/sprockets%2F744241c89d9c401d40d4ee5ad44a2f3f → E10/910/sprockets%2Fad81bc95b7f6bba2b10cc63a08ea2a1b} +0 -0
  49. data/test/dummy/tmp/cache/assets/E35/490/sprockets%2Fae96cd1faee3eeec070ea4c7c2729f77 +0 -0
  50. data/test/dummy/tmp/cache/assets/E3A/D90/sprockets%2Fce0dbefdb4416ebc42589ecdbf7d7857 +0 -0
  51. data/test/dummy/tmp/cache/sass/{97a2fe4b4206536e366a73e1378c8e4d6acfc29d → 07c96a7988a9706bfdf40706fbc8b7136c5de0df}/bootstrap-no-sprites.css.scssc +0 -0
  52. data/test/dummy/tmp/cache/sass/{97a2fe4b4206536e366a73e1378c8e4d6acfc29d → 07c96a7988a9706bfdf40706fbc8b7136c5de0df}/bootstrap.css.scssc +0 -0
  53. data/test/dummy/tmp/cache/sass/{73d26439e044eca0a3af4a431659ef4346a1c77c → 160589301b9f514ee2413ef86950b872e6207b0e}/application.css.scssc +0 -0
  54. data/test/dummy/tmp/cache/sass/{73d26439e044eca0a3af4a431659ef4346a1c77c → 160589301b9f514ee2413ef86950b872e6207b0e}/individual.css.scssc +0 -0
  55. data/test/dummy/tmp/cache/sass/{73d26439e044eca0a3af4a431659ef4346a1c77c → 160589301b9f514ee2413ef86950b872e6207b0e}/no-sprites.css.scssc +0 -0
  56. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_accordion.scssc +0 -0
  57. data/test/dummy/tmp/cache/sass/5887148520ffc8e3b2ac08d8d8055f4c8e974744/_alerts.scssc +0 -0
  58. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_breadcrumbs.scssc +0 -0
  59. data/test/dummy/tmp/cache/sass/5887148520ffc8e3b2ac08d8d8055f4c8e974744/_button-groups.scssc +0 -0
  60. data/test/dummy/tmp/cache/sass/5887148520ffc8e3b2ac08d8d8055f4c8e974744/_buttons.scssc +0 -0
  61. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_carousel.scssc +0 -0
  62. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_close.scssc +0 -0
  63. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_code.scssc +0 -0
  64. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_component-animations.scssc +0 -0
  65. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_dropdowns.scssc +0 -0
  66. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_forms.scssc +0 -0
  67. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_grid.scssc +0 -0
  68. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_hero-unit.scssc +0 -0
  69. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_labels-badges.scssc +0 -0
  70. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_layouts.scssc +0 -0
  71. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_media.scssc +0 -0
  72. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_mixins.scssc +0 -0
  73. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_modals.scssc +0 -0
  74. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_navbar.scssc +0 -0
  75. data/test/dummy/tmp/cache/sass/5887148520ffc8e3b2ac08d8d8055f4c8e974744/_navs.scssc +0 -0
  76. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_pager.scssc +0 -0
  77. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_pagination.scssc +0 -0
  78. data/test/dummy/tmp/cache/sass/5887148520ffc8e3b2ac08d8d8055f4c8e974744/_popovers.scssc +0 -0
  79. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_progress-bars.scssc +0 -0
  80. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_reset.scssc +0 -0
  81. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_responsive-1200px-min.scssc +0 -0
  82. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_responsive-767px-max.scssc +0 -0
  83. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_responsive-768px-979px.scssc +0 -0
  84. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_responsive-navbar.scssc +0 -0
  85. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_responsive-utilities.scssc +0 -0
  86. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_responsive.scssc +0 -0
  87. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_scaffolding.scssc +0 -0
  88. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_sprites.scssc +0 -0
  89. data/test/dummy/tmp/cache/sass/5887148520ffc8e3b2ac08d8d8055f4c8e974744/_tables.scssc +0 -0
  90. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_thumbnails.scssc +0 -0
  91. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_tooltip.scssc +0 -0
  92. data/test/dummy/tmp/cache/sass/5887148520ffc8e3b2ac08d8d8055f4c8e974744/_type.scssc +0 -0
  93. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_utilities.scssc +0 -0
  94. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_variables.scssc +0 -0
  95. data/test/dummy/tmp/cache/sass/{c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c → 5887148520ffc8e3b2ac08d8d8055f4c8e974744}/_wells.scssc +0 -0
  96. data/vendor/assets/javascripts/twitter/bootstrap/affix.js +12 -1
  97. data/vendor/assets/javascripts/twitter/bootstrap/alert.js +12 -1
  98. data/vendor/assets/javascripts/twitter/bootstrap/button.js +12 -1
  99. data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +11 -2
  100. data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +15 -4
  101. data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +16 -3
  102. data/vendor/assets/javascripts/twitter/bootstrap/modal.js +12 -1
  103. data/vendor/assets/javascripts/twitter/bootstrap/popover.js +14 -3
  104. data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +13 -2
  105. data/vendor/assets/javascripts/twitter/bootstrap/tab.js +12 -1
  106. data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +12 -1
  107. data/vendor/assets/javascripts/twitter/bootstrap/transition.js +1 -1
  108. data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +23 -10
  109. data/vendor/assets/stylesheets/twitter/bootstrap-no-sprites.css.scss +1 -1
  110. data/vendor/assets/stylesheets/twitter/bootstrap.css.scss +1 -1
  111. data/vendor/assets/stylesheets/twitter/bootstrap/_alerts.scss +14 -0
  112. data/vendor/assets/stylesheets/twitter/bootstrap/_breadcrumbs.scss +6 -6
  113. data/vendor/assets/stylesheets/twitter/bootstrap/_button-groups.scss +27 -42
  114. data/vendor/assets/stylesheets/twitter/bootstrap/_buttons.scss +5 -7
  115. data/vendor/assets/stylesheets/twitter/bootstrap/_carousel.scss +15 -15
  116. data/vendor/assets/stylesheets/twitter/bootstrap/_code.scss +3 -0
  117. data/vendor/assets/stylesheets/twitter/bootstrap/_dropdowns.scss +5 -9
  118. data/vendor/assets/stylesheets/twitter/bootstrap/_forms.scss +12 -8
  119. data/vendor/assets/stylesheets/twitter/bootstrap/_labels-badges.scss +8 -0
  120. data/vendor/assets/stylesheets/twitter/bootstrap/_mixins.scss +1 -1
  121. data/vendor/assets/stylesheets/twitter/bootstrap/_modals.scss +4 -3
  122. data/vendor/assets/stylesheets/twitter/bootstrap/_navbar.scss +21 -3
  123. data/vendor/assets/stylesheets/twitter/bootstrap/_navs.scss +6 -0
  124. data/vendor/assets/stylesheets/twitter/bootstrap/_popovers.scss +49 -37
  125. data/vendor/assets/stylesheets/twitter/bootstrap/_reset.scss +83 -4
  126. data/vendor/assets/stylesheets/twitter/bootstrap/_responsive.scss +10 -1
  127. data/vendor/assets/stylesheets/twitter/bootstrap/_tables.scss +35 -34
  128. data/vendor/assets/stylesheets/twitter/bootstrap/_type.scss +29 -21
  129. data/vendor/assets/stylesheets/twitter/bootstrap/_variables.scss +2 -2
  130. metadata +285 -491
  131. data/test/dummy/tmp/cache/assets/C41/5B0/sprockets%2F095415e1141a435237aa9464752d21fd +0 -2583
  132. data/test/dummy/tmp/cache/assets/C73/6D0/sprockets%2F1960b4507c3aaa988180fb04093d1427 +0 -0
  133. data/test/dummy/tmp/cache/assets/C94/270/sprockets%2F40520eb6297b2908496e752e588f2f7d +0 -0
  134. data/test/dummy/tmp/cache/assets/CAD/040/sprockets%2F915d29a78a13fbbb606d47840634d703 +0 -0
  135. data/test/dummy/tmp/cache/assets/CB4/BD0/sprockets%2Fe0c39183ec49530b6c0758c1e945d274 +0 -0
  136. data/test/dummy/tmp/cache/assets/CB5/410/sprockets%2Ff2d804e78b14c4005d86653e2e957a35 +0 -0
  137. data/test/dummy/tmp/cache/assets/CDD/E80/sprockets%2Fa7248f6c140e4c834d8a4b5b0703f189 +0 -0
  138. data/test/dummy/tmp/cache/assets/CE2/910/sprockets%2Fee1ae05707da2d0176094849e35099ce +0 -0
  139. data/test/dummy/tmp/cache/assets/CE9/4E0/sprockets%2F1c1f6d1579d9ad26654219f30c46f95c +0 -0
  140. data/test/dummy/tmp/cache/assets/CF1/ED0/sprockets%2F9947d52d16da82564b988d16366e3aea +0 -529
  141. data/test/dummy/tmp/cache/assets/D22/C90/sprockets%2Fe1a46318a188f29186cbe4f9d97792bb +0 -0
  142. data/test/dummy/tmp/cache/assets/D25/E70/sprockets%2Fb39f1d7ace7781584f2b27397c4d298d +0 -0
  143. data/test/dummy/tmp/cache/assets/D36/7D0/sprockets%2Ffc5ea6a588c4b2791581fdb35a30031d +0 -0
  144. data/test/dummy/tmp/cache/assets/D63/540/sprockets%2F40806eccd4be04b3c3fa44d23576e18d +0 -0
  145. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -2056
  146. data/test/dummy/tmp/cache/assets/DA2/4C0/sprockets%2Faf35c2c354c87b8ced15ed3cbc276576 +0 -2153
  147. data/test/dummy/tmp/cache/assets/DB9/250/sprockets%2F15de37cf628d966fd377f94afbffe244 +0 -0
  148. data/test/dummy/tmp/cache/assets/DFC/550/sprockets%2Fc63af852c0f9cc4aa6a7dd59d74ab0a9 +0 -0
  149. data/test/dummy/tmp/cache/assets/E22/B10/sprockets%2Fec73dbc745e21ceda62ae0b9d41b4ed5 +0 -240
  150. data/test/dummy/tmp/cache/assets/E5F/300/sprockets%2F243a2fff0dbb8aeec3dd579b4ff7c81b +0 -2582
  151. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_accordion.scssc +0 -0
  152. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_alerts.scssc +0 -0
  153. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_breadcrumbs.scssc +0 -0
  154. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_button-groups.scssc +0 -0
  155. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_buttons.scssc +0 -0
  156. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_carousel.scssc +0 -0
  157. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_close.scssc +0 -0
  158. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_code.scssc +0 -0
  159. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_component-animations.scssc +0 -0
  160. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_dropdowns.scssc +0 -0
  161. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_forms.scssc +0 -0
  162. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_grid.scssc +0 -0
  163. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_hero-unit.scssc +0 -0
  164. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_labels-badges.scssc +0 -0
  165. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_layouts.scssc +0 -0
  166. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_media.scssc +0 -0
  167. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_mixins.scssc +0 -0
  168. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_modals.scssc +0 -0
  169. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_navbar.scssc +0 -0
  170. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_navs.scssc +0 -0
  171. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_pager.scssc +0 -0
  172. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_pagination.scssc +0 -0
  173. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_popovers.scssc +0 -0
  174. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_progress-bars.scssc +0 -0
  175. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_reset.scssc +0 -0
  176. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_responsive-1200px-min.scssc +0 -0
  177. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_responsive-767px-max.scssc +0 -0
  178. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_responsive-768px-979px.scssc +0 -0
  179. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_responsive-navbar.scssc +0 -0
  180. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_responsive-utilities.scssc +0 -0
  181. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_responsive.scssc +0 -0
  182. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_scaffolding.scssc +0 -0
  183. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_sprites.scssc +0 -0
  184. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_tables.scssc +0 -0
  185. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_thumbnails.scssc +0 -0
  186. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_tooltip.scssc +0 -0
  187. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_type.scssc +0 -0
  188. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_utilities.scssc +0 -0
  189. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_variables.scssc +0 -0
  190. data/test/dummy/tmp/cache/assets/test/sass/87e2ffd5982b02eedf694525e8e654eb8dc7674b/_wells.scssc +0 -0
  191. data/test/dummy/tmp/cache/assets/test/sass/9f022039bcde6dbfad5a4cecd880da08604928b6/application.css.scssc +0 -0
  192. data/test/dummy/tmp/cache/assets/test/sass/9f022039bcde6dbfad5a4cecd880da08604928b6/individual.css.scssc +0 -0
  193. data/test/dummy/tmp/cache/assets/test/sass/9f022039bcde6dbfad5a4cecd880da08604928b6/no-sprites.css.scssc +0 -0
  194. data/test/dummy/tmp/cache/assets/test/sass/f6b53beab59b098d292742f61b61ed46283e377c/bootstrap-no-sprites.css.scssc +0 -0
  195. data/test/dummy/tmp/cache/assets/test/sass/f6b53beab59b098d292742f61b61ed46283e377c/bootstrap.css.scssc +0 -0
  196. data/test/dummy/tmp/cache/assets/test/sprockets/057089195001bff3a770cec267e0877b +0 -0
  197. data/test/dummy/tmp/cache/assets/test/sprockets/0a69d2de11b1b15afecec9a903469851 +0 -0
  198. data/test/dummy/tmp/cache/assets/test/sprockets/16702b2d73e90a918e2a03d40dd0fb6e +0 -0
  199. data/test/dummy/tmp/cache/assets/test/sprockets/19d37b85ac2b8498758bdf8d08099e8b +0 -0
  200. data/test/dummy/tmp/cache/assets/test/sprockets/22c8366fdbaaa2872b202dfe7376629f +0 -0
  201. data/test/dummy/tmp/cache/assets/test/sprockets/272615ec4af76b10339048ca6da44284 +0 -0
  202. data/test/dummy/tmp/cache/assets/test/sprockets/29d763bd40cc25622b1f04b876a5c3e3 +0 -0
  203. data/test/dummy/tmp/cache/assets/test/sprockets/2e0e0061bc75f35b8665ee31f0af343f +0 -0
  204. data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  205. data/test/dummy/tmp/cache/assets/test/sprockets/40520eb6297b2908496e752e588f2f7d +0 -0
  206. data/test/dummy/tmp/cache/assets/test/sprockets/40806eccd4be04b3c3fa44d23576e18d +0 -0
  207. data/test/dummy/tmp/cache/assets/test/sprockets/47f8666418cd38da2ff7625f02422b5e +0 -0
  208. data/test/dummy/tmp/cache/assets/test/sprockets/4e1d706de9dc13479c028238faea6ff2 +0 -0
  209. data/test/dummy/tmp/cache/assets/test/sprockets/508e55e1444b44d0187677a51893acf2 +0 -0
  210. data/test/dummy/tmp/cache/assets/test/sprockets/591e8bae8cab045e0af3ce80e3fa7ad9 +0 -0
  211. data/test/dummy/tmp/cache/assets/test/sprockets/59565d2ec707a1eb10c0b2302d58f920 +0 -0
  212. data/test/dummy/tmp/cache/assets/test/sprockets/643fbcfada5ead21709e3c550f415c48 +0 -0
  213. data/test/dummy/tmp/cache/assets/test/sprockets/744241c89d9c401d40d4ee5ad44a2f3f +0 -0
  214. data/test/dummy/tmp/cache/assets/test/sprockets/75765d3bfee9346a60198cbb8cdad102 +0 -0
  215. data/test/dummy/tmp/cache/assets/test/sprockets/7e48514e772b39d8878a8181798eaea6 +0 -0
  216. data/test/dummy/tmp/cache/assets/test/sprockets/81dd0cb0661e7e9725d4cecb2ea2e9d5 +0 -0
  217. data/test/dummy/tmp/cache/assets/test/sprockets/89c4c5e2f034b736d5e839adfe7012db +0 -0
  218. data/test/dummy/tmp/cache/assets/test/sprockets/8ab512c9b33ac90e699b73469d71f061 +0 -0
  219. data/test/dummy/tmp/cache/assets/test/sprockets/966879d6ff8742dc619724287f4a5150 +0 -0
  220. data/test/dummy/tmp/cache/assets/test/sprockets/a39c51a80c786ee6aa2f938094583302 +0 -0
  221. data/test/dummy/tmp/cache/assets/test/sprockets/a7248f6c140e4c834d8a4b5b0703f189 +0 -0
  222. data/test/dummy/tmp/cache/assets/test/sprockets/ad87bf89db0c636d2899f3d47eb70838 +0 -0
  223. data/test/dummy/tmp/cache/assets/test/sprockets/b39f1d7ace7781584f2b27397c4d298d +0 -0
  224. data/test/dummy/tmp/cache/assets/test/sprockets/bcca522c6302f184f12fe0e8a7d7e71a +0 -0
  225. data/test/dummy/tmp/cache/assets/test/sprockets/c05f92ff4e2fa5eadcfe9d3d151047f3 +0 -0
  226. data/test/dummy/tmp/cache/assets/test/sprockets/c13fc73ceafa45876a901b3e775b83ae +0 -0
  227. data/test/dummy/tmp/cache/assets/test/sprockets/c57aff8fcaace116023b4ae45c88138c +0 -0
  228. data/test/dummy/tmp/cache/assets/test/sprockets/ce0dbefdb4416ebc42589ecdbf7d7857 +0 -0
  229. data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  230. data/test/dummy/tmp/cache/assets/test/sprockets/e0c39183ec49530b6c0758c1e945d274 +0 -0
  231. data/test/dummy/tmp/cache/assets/test/sprockets/e1a46318a188f29186cbe4f9d97792bb +0 -0
  232. data/test/dummy/tmp/cache/assets/test/sprockets/f2d804e78b14c4005d86653e2e957a35 +0 -0
  233. data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  234. data/test/dummy/tmp/cache/assets/test/sprockets/fc5ea6a588c4b2791581fdb35a30031d +0 -0
  235. data/test/dummy/tmp/cache/assets/test/sprockets/fe5d5c303a50e71c182568c32bf25296 +0 -0
  236. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_alerts.scssc +0 -0
  237. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_button-groups.scssc +0 -0
  238. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_buttons.scssc +0 -0
  239. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_navs.scssc +0 -0
  240. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_popovers.scssc +0 -0
  241. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_tables.scssc +0 -0
  242. data/test/dummy/tmp/cache/sass/c8ed6f9b68f3f4e8d1dc3308fd9d722018ffc99c/_type.scssc +0 -0
@@ -1,2056 +0,0 @@
1
- o: ActiveSupport::Cache::Entry :@compressedF:@created_atf1353430023.878386:@expires_in0: @value{ I" length:EFi��I" digest;
2
- F"%457e590a79444e7059eee7ab748d8ff8I" source;
3
- FI"��/* ===================================================
4
- * bootstrap-transition.js v2.2.1
5
- * http://twitter.github.com/bootstrap/javascript.html#transitions
6
- * ===================================================
7
- * Copyright 2012 Twitter, Inc.
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License");
10
- * you may not use this file except in compliance with the License.
11
- * You may obtain a copy of the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS,
17
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- * See the License for the specific language governing permissions and
19
- * limitations under the License.
20
- * ========================================================== */
21
-
22
-
23
-
24
- !function ($) {
25
-
26
- "use strict"; // jshint ;_;
27
-
28
-
29
- /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
30
- * ======================================================= */
31
-
32
- $(function () {
33
-
34
- $.support.transition = (function () {
35
-
36
- var transitionEnd = (function () {
37
-
38
- var el = document.createElement('bootstrap')
39
- , transEndEventNames = {
40
- 'WebkitTransition' : 'webkitTransitionEnd'
41
- , 'MozTransition' : 'transitionend'
42
- , 'OTransition' : 'oTransitionEnd otransitionend'
43
- , 'transition' : 'transitionend'
44
- }
45
- , name
46
-
47
- for (name in transEndEventNames){
48
- if (el.style[name] !== undefined) {
49
- return transEndEventNames[name]
50
- }
51
- }
52
-
53
- }())
54
-
55
- return transitionEnd && {
56
- end: transitionEnd
57
- }
58
-
59
- })()
60
-
61
- })
62
-
63
- }(window.jQuery);
64
- /* ==========================================================
65
- * bootstrap-alert.js v2.2.1
66
- * http://twitter.github.com/bootstrap/javascript.html#alerts
67
- * ==========================================================
68
- * Copyright 2012 Twitter, Inc.
69
- *
70
- * Licensed under the Apache License, Version 2.0 (the "License");
71
- * you may not use this file except in compliance with the License.
72
- * You may obtain a copy of the License at
73
- *
74
- * http://www.apache.org/licenses/LICENSE-2.0
75
- *
76
- * Unless required by applicable law or agreed to in writing, software
77
- * distributed under the License is distributed on an "AS IS" BASIS,
78
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
79
- * See the License for the specific language governing permissions and
80
- * limitations under the License.
81
- * ========================================================== */
82
-
83
-
84
-
85
- !function ($) {
86
-
87
- "use strict"; // jshint ;_;
88
-
89
-
90
- /* ALERT CLASS DEFINITION
91
- * ====================== */
92
-
93
- var dismiss = '[data-dismiss="alert"]'
94
- , Alert = function (el) {
95
- $(el).on('click', dismiss, this.close)
96
- }
97
-
98
- Alert.prototype.close = function (e) {
99
- var $this = $(this)
100
- , selector = $this.attr('data-target')
101
- , $parent
102
-
103
- if (!selector) {
104
- selector = $this.attr('href')
105
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
106
- }
107
-
108
- $parent = $(selector)
109
-
110
- e && e.preventDefault()
111
-
112
- $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
113
-
114
- $parent.trigger(e = $.Event('close'))
115
-
116
- if (e.isDefaultPrevented()) return
117
-
118
- $parent.removeClass('in')
119
-
120
- function removeElement() {
121
- $parent
122
- .trigger('closed')
123
- .remove()
124
- }
125
-
126
- $.support.transition && $parent.hasClass('fade') ?
127
- $parent.on($.support.transition.end, removeElement) :
128
- removeElement()
129
- }
130
-
131
-
132
- /* ALERT PLUGIN DEFINITION
133
- * ======================= */
134
-
135
- $.fn.alert = function (option) {
136
- return this.each(function () {
137
- var $this = $(this)
138
- , data = $this.data('alert')
139
- if (!data) $this.data('alert', (data = new Alert(this)))
140
- if (typeof option == 'string') data[option].call($this)
141
- })
142
- }
143
-
144
- $.fn.alert.Constructor = Alert
145
-
146
-
147
- /* ALERT DATA-API
148
- * ============== */
149
-
150
- $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
151
-
152
- }(window.jQuery);
153
- /* ============================================================
154
- * bootstrap-button.js v2.2.1
155
- * http://twitter.github.com/bootstrap/javascript.html#buttons
156
- * ============================================================
157
- * Copyright 2012 Twitter, Inc.
158
- *
159
- * Licensed under the Apache License, Version 2.0 (the "License");
160
- * you may not use this file except in compliance with the License.
161
- * You may obtain a copy of the License at
162
- *
163
- * http://www.apache.org/licenses/LICENSE-2.0
164
- *
165
- * Unless required by applicable law or agreed to in writing, software
166
- * distributed under the License is distributed on an "AS IS" BASIS,
167
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
168
- * See the License for the specific language governing permissions and
169
- * limitations under the License.
170
- * ============================================================ */
171
-
172
-
173
-
174
- !function ($) {
175
-
176
- "use strict"; // jshint ;_;
177
-
178
-
179
- /* BUTTON PUBLIC CLASS DEFINITION
180
- * ============================== */
181
-
182
- var Button = function (element, options) {
183
- this.$element = $(element)
184
- this.options = $.extend({}, $.fn.button.defaults, options)
185
- }
186
-
187
- Button.prototype.setState = function (state) {
188
- var d = 'disabled'
189
- , $el = this.$element
190
- , data = $el.data()
191
- , val = $el.is('input') ? 'val' : 'html'
192
-
193
- state = state + 'Text'
194
- data.resetText || $el.data('resetText', $el[val]())
195
-
196
- $el[val](data[state] || this.options[state])
197
-
198
- // push to event loop to allow forms to submit
199
- setTimeout(function () {
200
- state == 'loadingText' ?
201
- $el.addClass(d).attr(d, d) :
202
- $el.removeClass(d).removeAttr(d)
203
- }, 0)
204
- }
205
-
206
- Button.prototype.toggle = function () {
207
- var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
208
-
209
- $parent && $parent
210
- .find('.active')
211
- .removeClass('active')
212
-
213
- this.$element.toggleClass('active')
214
- }
215
-
216
-
217
- /* BUTTON PLUGIN DEFINITION
218
- * ======================== */
219
-
220
- $.fn.button = function (option) {
221
- return this.each(function () {
222
- var $this = $(this)
223
- , data = $this.data('button')
224
- , options = typeof option == 'object' && option
225
- if (!data) $this.data('button', (data = new Button(this, options)))
226
- if (option == 'toggle') data.toggle()
227
- else if (option) data.setState(option)
228
- })
229
- }
230
-
231
- $.fn.button.defaults = {
232
- loadingText: 'loading...'
233
- }
234
-
235
- $.fn.button.Constructor = Button
236
-
237
-
238
- /* BUTTON DATA-API
239
- * =============== */
240
-
241
- $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
242
- var $btn = $(e.target)
243
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
244
- $btn.button('toggle')
245
- })
246
-
247
- }(window.jQuery);
248
- /* ==========================================================
249
- * bootstrap-carousel.js v2.2.1
250
- * http://twitter.github.com/bootstrap/javascript.html#carousel
251
- * ==========================================================
252
- * Copyright 2012 Twitter, Inc.
253
- *
254
- * Licensed under the Apache License, Version 2.0 (the "License");
255
- * you may not use this file except in compliance with the License.
256
- * You may obtain a copy of the License at
257
- *
258
- * http://www.apache.org/licenses/LICENSE-2.0
259
- *
260
- * Unless required by applicable law or agreed to in writing, software
261
- * distributed under the License is distributed on an "AS IS" BASIS,
262
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
263
- * See the License for the specific language governing permissions and
264
- * limitations under the License.
265
- * ========================================================== */
266
-
267
-
268
-
269
- !function ($) {
270
-
271
- "use strict"; // jshint ;_;
272
-
273
-
274
- /* CAROUSEL CLASS DEFINITION
275
- * ========================= */
276
-
277
- var Carousel = function (element, options) {
278
- this.$element = $(element)
279
- this.options = options
280
- this.options.slide && this.slide(this.options.slide)
281
- this.options.pause == 'hover' && this.$element
282
- .on('mouseenter', $.proxy(this.pause, this))
283
- .on('mouseleave', $.proxy(this.cycle, this))
284
- }
285
-
286
- Carousel.prototype = {
287
-
288
- cycle: function (e) {
289
- if (!e) this.paused = false
290
- this.options.interval
291
- && !this.paused
292
- && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
293
- return this
294
- }
295
-
296
- , to: function (pos) {
297
- var $active = this.$element.find('.item.active')
298
- , children = $active.parent().children()
299
- , activePos = children.index($active)
300
- , that = this
301
-
302
- if (pos > (children.length - 1) || pos < 0) return
303
-
304
- if (this.sliding) {
305
- return this.$element.one('slid', function () {
306
- that.to(pos)
307
- })
308
- }
309
-
310
- if (activePos == pos) {
311
- return this.pause().cycle()
312
- }
313
-
314
- return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
315
- }
316
-
317
- , pause: function (e) {
318
- if (!e) this.paused = true
319
- if (this.$element.find('.next, .prev').length && $.support.transition.end) {
320
- this.$element.trigger($.support.transition.end)
321
- this.cycle()
322
- }
323
- clearInterval(this.interval)
324
- this.interval = null
325
- return this
326
- }
327
-
328
- , next: function () {
329
- if (this.sliding) return
330
- return this.slide('next')
331
- }
332
-
333
- , prev: function () {
334
- if (this.sliding) return
335
- return this.slide('prev')
336
- }
337
-
338
- , slide: function (type, next) {
339
- var $active = this.$element.find('.item.active')
340
- , $next = next || $active[type]()
341
- , isCycling = this.interval
342
- , direction = type == 'next' ? 'left' : 'right'
343
- , fallback = type == 'next' ? 'first' : 'last'
344
- , that = this
345
- , e
346
-
347
- this.sliding = true
348
-
349
- isCycling && this.pause()
350
-
351
- $next = $next.length ? $next : this.$element.find('.item')[fallback]()
352
-
353
- e = $.Event('slide', {
354
- relatedTarget: $next[0]
355
- })
356
-
357
- if ($next.hasClass('active')) return
358
-
359
- if ($.support.transition && this.$element.hasClass('slide')) {
360
- this.$element.trigger(e)
361
- if (e.isDefaultPrevented()) return
362
- $next.addClass(type)
363
- $next[0].offsetWidth // force reflow
364
- $active.addClass(direction)
365
- $next.addClass(direction)
366
- this.$element.one($.support.transition.end, function () {
367
- $next.removeClass([type, direction].join(' ')).addClass('active')
368
- $active.removeClass(['active', direction].join(' '))
369
- that.sliding = false
370
- setTimeout(function () { that.$element.trigger('slid') }, 0)
371
- })
372
- } else {
373
- this.$element.trigger(e)
374
- if (e.isDefaultPrevented()) return
375
- $active.removeClass('active')
376
- $next.addClass('active')
377
- this.sliding = false
378
- this.$element.trigger('slid')
379
- }
380
-
381
- isCycling && this.cycle()
382
-
383
- return this
384
- }
385
-
386
- }
387
-
388
-
389
- /* CAROUSEL PLUGIN DEFINITION
390
- * ========================== */
391
-
392
- $.fn.carousel = function (option) {
393
- return this.each(function () {
394
- var $this = $(this)
395
- , data = $this.data('carousel')
396
- , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
397
- , action = typeof option == 'string' ? option : options.slide
398
- if (!data) $this.data('carousel', (data = new Carousel(this, options)))
399
- if (typeof option == 'number') data.to(option)
400
- else if (action) data[action]()
401
- else if (options.interval) data.cycle()
402
- })
403
- }
404
-
405
- $.fn.carousel.defaults = {
406
- interval: 5000
407
- , pause: 'hover'
408
- }
409
-
410
- $.fn.carousel.Constructor = Carousel
411
-
412
-
413
- /* CAROUSEL DATA-API
414
- * ================= */
415
-
416
- $(document).on('click.carousel.data-api', '[data-slide]', function (e) {
417
- var $this = $(this), href
418
- , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
419
- , options = $.extend({}, $target.data(), $this.data())
420
- $target.carousel(options)
421
- e.preventDefault()
422
- })
423
-
424
- }(window.jQuery);
425
- /* =============================================================
426
- * bootstrap-collapse.js v2.2.1
427
- * http://twitter.github.com/bootstrap/javascript.html#collapse
428
- * =============================================================
429
- * Copyright 2012 Twitter, Inc.
430
- *
431
- * Licensed under the Apache License, Version 2.0 (the "License");
432
- * you may not use this file except in compliance with the License.
433
- * You may obtain a copy of the License at
434
- *
435
- * http://www.apache.org/licenses/LICENSE-2.0
436
- *
437
- * Unless required by applicable law or agreed to in writing, software
438
- * distributed under the License is distributed on an "AS IS" BASIS,
439
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
440
- * See the License for the specific language governing permissions and
441
- * limitations under the License.
442
- * ============================================================ */
443
-
444
-
445
-
446
- !function ($) {
447
-
448
- "use strict"; // jshint ;_;
449
-
450
-
451
- /* COLLAPSE PUBLIC CLASS DEFINITION
452
- * ================================ */
453
-
454
- var Collapse = function (element, options) {
455
- this.$element = $(element)
456
- this.options = $.extend({}, $.fn.collapse.defaults, options)
457
-
458
- if (this.options.parent) {
459
- this.$parent = $(this.options.parent)
460
- }
461
-
462
- this.options.toggle && this.toggle()
463
- }
464
-
465
- Collapse.prototype = {
466
-
467
- constructor: Collapse
468
-
469
- , dimension: function () {
470
- var hasWidth = this.$element.hasClass('width')
471
- return hasWidth ? 'width' : 'height'
472
- }
473
-
474
- , show: function () {
475
- var dimension
476
- , scroll
477
- , actives
478
- , hasData
479
-
480
- if (this.transitioning) return
481
-
482
- dimension = this.dimension()
483
- scroll = $.camelCase(['scroll', dimension].join('-'))
484
- actives = this.$parent && this.$parent.find('> .accordion-group > .in')
485
-
486
- if (actives && actives.length) {
487
- hasData = actives.data('collapse')
488
- if (hasData && hasData.transitioning) return
489
- actives.collapse('hide')
490
- hasData || actives.data('collapse', null)
491
- }
492
-
493
- this.$element[dimension](0)
494
- this.transition('addClass', $.Event('show'), 'shown')
495
- $.support.transition && this.$element[dimension](this.$element[0][scroll])
496
- }
497
-
498
- , hide: function () {
499
- var dimension
500
- if (this.transitioning) return
501
- dimension = this.dimension()
502
- this.reset(this.$element[dimension]())
503
- this.transition('removeClass', $.Event('hide'), 'hidden')
504
- this.$element[dimension](0)
505
- }
506
-
507
- , reset: function (size) {
508
- var dimension = this.dimension()
509
-
510
- this.$element
511
- .removeClass('collapse')
512
- [dimension](size || 'auto')
513
- [0].offsetWidth
514
-
515
- this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
516
-
517
- return this
518
- }
519
-
520
- , transition: function (method, startEvent, completeEvent) {
521
- var that = this
522
- , complete = function () {
523
- if (startEvent.type == 'show') that.reset()
524
- that.transitioning = 0
525
- that.$element.trigger(completeEvent)
526
- }
527
-
528
- this.$element.trigger(startEvent)
529
-
530
- if (startEvent.isDefaultPrevented()) return
531
-
532
- this.transitioning = 1
533
-
534
- this.$element[method]('in')
535
-
536
- $.support.transition && this.$element.hasClass('collapse') ?
537
- this.$element.one($.support.transition.end, complete) :
538
- complete()
539
- }
540
-
541
- , toggle: function () {
542
- this[this.$element.hasClass('in') ? 'hide' : 'show']()
543
- }
544
-
545
- }
546
-
547
-
548
- /* COLLAPSIBLE PLUGIN DEFINITION
549
- * ============================== */
550
-
551
- $.fn.collapse = function (option) {
552
- return this.each(function () {
553
- var $this = $(this)
554
- , data = $this.data('collapse')
555
- , options = typeof option == 'object' && option
556
- if (!data) $this.data('collapse', (data = new Collapse(this, options)))
557
- if (typeof option == 'string') data[option]()
558
- })
559
- }
560
-
561
- $.fn.collapse.defaults = {
562
- toggle: true
563
- }
564
-
565
- $.fn.collapse.Constructor = Collapse
566
-
567
-
568
- /* COLLAPSIBLE DATA-API
569
- * ==================== */
570
-
571
- $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
572
- var $this = $(this), href
573
- , target = $this.attr('data-target')
574
- || e.preventDefault()
575
- || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
576
- , option = $(target).data('collapse') ? 'toggle' : $this.data()
577
- $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
578
- $(target).collapse(option)
579
- })
580
-
581
- }(window.jQuery);
582
- /* ============================================================
583
- * bootstrap-dropdown.js v2.2.1
584
- * http://twitter.github.com/bootstrap/javascript.html#dropdowns
585
- * ============================================================
586
- * Copyright 2012 Twitter, Inc.
587
- *
588
- * Licensed under the Apache License, Version 2.0 (the "License");
589
- * you may not use this file except in compliance with the License.
590
- * You may obtain a copy of the License at
591
- *
592
- * http://www.apache.org/licenses/LICENSE-2.0
593
- *
594
- * Unless required by applicable law or agreed to in writing, software
595
- * distributed under the License is distributed on an "AS IS" BASIS,
596
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
597
- * See the License for the specific language governing permissions and
598
- * limitations under the License.
599
- * ============================================================ */
600
-
601
-
602
-
603
- !function ($) {
604
-
605
- "use strict"; // jshint ;_;
606
-
607
-
608
- /* DROPDOWN CLASS DEFINITION
609
- * ========================= */
610
-
611
- var toggle = '[data-toggle=dropdown]'
612
- , Dropdown = function (element) {
613
- var $el = $(element).on('click.dropdown.data-api', this.toggle)
614
- $('html').on('click.dropdown.data-api', function () {
615
- $el.parent().removeClass('open')
616
- })
617
- }
618
-
619
- Dropdown.prototype = {
620
-
621
- constructor: Dropdown
622
-
623
- , toggle: function (e) {
624
- var $this = $(this)
625
- , $parent
626
- , isActive
627
-
628
- if ($this.is('.disabled, :disabled')) return
629
-
630
- $parent = getParent($this)
631
-
632
- isActive = $parent.hasClass('open')
633
-
634
- clearMenus()
635
-
636
- if (!isActive) {
637
- $parent.toggleClass('open')
638
- $this.focus()
639
- }
640
-
641
- return false
642
- }
643
-
644
- , keydown: function (e) {
645
- var $this
646
- , $items
647
- , $active
648
- , $parent
649
- , isActive
650
- , index
651
-
652
- if (!/(38|40|27)/.test(e.keyCode)) return
653
-
654
- $this = $(this)
655
-
656
- e.preventDefault()
657
- e.stopPropagation()
658
-
659
- if ($this.is('.disabled, :disabled')) return
660
-
661
- $parent = getParent($this)
662
-
663
- isActive = $parent.hasClass('open')
664
-
665
- if (!isActive || (isActive && e.keyCode == 27)) return $this.click()
666
-
667
- $items = $('[role=menu] li:not(.divider) a', $parent)
668
-
669
- if (!$items.length) return
670
-
671
- index = $items.index($items.filter(':focus'))
672
-
673
- if (e.keyCode == 38 && index > 0) index-- // up
674
- if (e.keyCode == 40 && index < $items.length - 1) index++ // down
675
- if (!~index) index = 0
676
-
677
- $items
678
- .eq(index)
679
- .focus()
680
- }
681
-
682
- }
683
-
684
- function clearMenus() {
685
- $(toggle).each(function () {
686
- getParent($(this)).removeClass('open')
687
- })
688
- }
689
-
690
- function getParent($this) {
691
- var selector = $this.attr('data-target')
692
- , $parent
693
-
694
- if (!selector) {
695
- selector = $this.attr('href')
696
- selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
697
- }
698
-
699
- $parent = $(selector)
700
- $parent.length || ($parent = $this.parent())
701
-
702
- return $parent
703
- }
704
-
705
-
706
- /* DROPDOWN PLUGIN DEFINITION
707
- * ========================== */
708
-
709
- $.fn.dropdown = function (option) {
710
- return this.each(function () {
711
- var $this = $(this)
712
- , data = $this.data('dropdown')
713
- if (!data) $this.data('dropdown', (data = new Dropdown(this)))
714
- if (typeof option == 'string') data[option].call($this)
715
- })
716
- }
717
-
718
- $.fn.dropdown.Constructor = Dropdown
719
-
720
-
721
- /* APPLY TO STANDARD DROPDOWN ELEMENTS
722
- * =================================== */
723
-
724
- $(document)
725
- .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
726
- .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
727
- .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
728
- .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
729
-
730
- }(window.jQuery);
731
- /* =========================================================
732
- * bootstrap-modal.js v2.2.1
733
- * http://twitter.github.com/bootstrap/javascript.html#modals
734
- * =========================================================
735
- * Copyright 2012 Twitter, Inc.
736
- *
737
- * Licensed under the Apache License, Version 2.0 (the "License");
738
- * you may not use this file except in compliance with the License.
739
- * You may obtain a copy of the License at
740
- *
741
- * http://www.apache.org/licenses/LICENSE-2.0
742
- *
743
- * Unless required by applicable law or agreed to in writing, software
744
- * distributed under the License is distributed on an "AS IS" BASIS,
745
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
746
- * See the License for the specific language governing permissions and
747
- * limitations under the License.
748
- * ========================================================= */
749
-
750
-
751
-
752
- !function ($) {
753
-
754
- "use strict"; // jshint ;_;
755
-
756
-
757
- /* MODAL CLASS DEFINITION
758
- * ====================== */
759
-
760
- var Modal = function (element, options) {
761
- this.options = options
762
- this.$element = $(element)
763
- .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
764
- this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
765
- }
766
-
767
- Modal.prototype = {
768
-
769
- constructor: Modal
770
-
771
- , toggle: function () {
772
- return this[!this.isShown ? 'show' : 'hide']()
773
- }
774
-
775
- , show: function () {
776
- var that = this
777
- , e = $.Event('show')
778
-
779
- this.$element.trigger(e)
780
-
781
- if (this.isShown || e.isDefaultPrevented()) return
782
-
783
- this.isShown = true
784
-
785
- this.escape()
786
-
787
- this.backdrop(function () {
788
- var transition = $.support.transition && that.$element.hasClass('fade')
789
-
790
- if (!that.$element.parent().length) {
791
- that.$element.appendTo(document.body) //don't move modals dom position
792
- }
793
-
794
- that.$element
795
- .show()
796
-
797
- if (transition) {
798
- that.$element[0].offsetWidth // force reflow
799
- }
800
-
801
- that.$element
802
- .addClass('in')
803
- .attr('aria-hidden', false)
804
-
805
- that.enforceFocus()
806
-
807
- transition ?
808
- that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
809
- that.$element.focus().trigger('shown')
810
-
811
- })
812
- }
813
-
814
- , hide: function (e) {
815
- e && e.preventDefault()
816
-
817
- var that = this
818
-
819
- e = $.Event('hide')
820
-
821
- this.$element.trigger(e)
822
-
823
- if (!this.isShown || e.isDefaultPrevented()) return
824
-
825
- this.isShown = false
826
-
827
- this.escape()
828
-
829
- $(document).off('focusin.modal')
830
-
831
- this.$element
832
- .removeClass('in')
833
- .attr('aria-hidden', true)
834
-
835
- $.support.transition && this.$element.hasClass('fade') ?
836
- this.hideWithTransition() :
837
- this.hideModal()
838
- }
839
-
840
- , enforceFocus: function () {
841
- var that = this
842
- $(document).on('focusin.modal', function (e) {
843
- if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
844
- that.$element.focus()
845
- }
846
- })
847
- }
848
-
849
- , escape: function () {
850
- var that = this
851
- if (this.isShown && this.options.keyboard) {
852
- this.$element.on('keyup.dismiss.modal', function ( e ) {
853
- e.which == 27 && that.hide()
854
- })
855
- } else if (!this.isShown) {
856
- this.$element.off('keyup.dismiss.modal')
857
- }
858
- }
859
-
860
- , hideWithTransition: function () {
861
- var that = this
862
- , timeout = setTimeout(function () {
863
- that.$element.off($.support.transition.end)
864
- that.hideModal()
865
- }, 500)
866
-
867
- this.$element.one($.support.transition.end, function () {
868
- clearTimeout(timeout)
869
- that.hideModal()
870
- })
871
- }
872
-
873
- , hideModal: function (that) {
874
- this.$element
875
- .hide()
876
- .trigger('hidden')
877
-
878
- this.backdrop()
879
- }
880
-
881
- , removeBackdrop: function () {
882
- this.$backdrop.remove()
883
- this.$backdrop = null
884
- }
885
-
886
- , backdrop: function (callback) {
887
- var that = this
888
- , animate = this.$element.hasClass('fade') ? 'fade' : ''
889
-
890
- if (this.isShown && this.options.backdrop) {
891
- var doAnimate = $.support.transition && animate
892
-
893
- this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
894
- .appendTo(document.body)
895
-
896
- this.$backdrop.click(
897
- this.options.backdrop == 'static' ?
898
- $.proxy(this.$element[0].focus, this.$element[0])
899
- : $.proxy(this.hide, this)
900
- )
901
-
902
- if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
903
-
904
- this.$backdrop.addClass('in')
905
-
906
- doAnimate ?
907
- this.$backdrop.one($.support.transition.end, callback) :
908
- callback()
909
-
910
- } else if (!this.isShown && this.$backdrop) {
911
- this.$backdrop.removeClass('in')
912
-
913
- $.support.transition && this.$element.hasClass('fade')?
914
- this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) :
915
- this.removeBackdrop()
916
-
917
- } else if (callback) {
918
- callback()
919
- }
920
- }
921
- }
922
-
923
-
924
- /* MODAL PLUGIN DEFINITION
925
- * ======================= */
926
-
927
- $.fn.modal = function (option) {
928
- return this.each(function () {
929
- var $this = $(this)
930
- , data = $this.data('modal')
931
- , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
932
- if (!data) $this.data('modal', (data = new Modal(this, options)))
933
- if (typeof option == 'string') data[option]()
934
- else if (options.show) data.show()
935
- })
936
- }
937
-
938
- $.fn.modal.defaults = {
939
- backdrop: true
940
- , keyboard: true
941
- , show: true
942
- }
943
-
944
- $.fn.modal.Constructor = Modal
945
-
946
-
947
- /* MODAL DATA-API
948
- * ============== */
949
-
950
- $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
951
- var $this = $(this)
952
- , href = $this.attr('href')
953
- , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
954
- , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
955
-
956
- e.preventDefault()
957
-
958
- $target
959
- .modal(option)
960
- .one('hide', function () {
961
- $this.focus()
962
- })
963
- })
964
-
965
- }(window.jQuery);
966
- /* ===========================================================
967
- * bootstrap-tooltip.js v2.2.1
968
- * http://twitter.github.com/bootstrap/javascript.html#tooltips
969
- * Inspired by the original jQuery.tipsy by Jason Frame
970
- * ===========================================================
971
- * Copyright 2012 Twitter, Inc.
972
- *
973
- * Licensed under the Apache License, Version 2.0 (the "License");
974
- * you may not use this file except in compliance with the License.
975
- * You may obtain a copy of the License at
976
- *
977
- * http://www.apache.org/licenses/LICENSE-2.0
978
- *
979
- * Unless required by applicable law or agreed to in writing, software
980
- * distributed under the License is distributed on an "AS IS" BASIS,
981
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
982
- * See the License for the specific language governing permissions and
983
- * limitations under the License.
984
- * ========================================================== */
985
-
986
-
987
-
988
- !function ($) {
989
-
990
- "use strict"; // jshint ;_;
991
-
992
-
993
- /* TOOLTIP PUBLIC CLASS DEFINITION
994
- * =============================== */
995
-
996
- var Tooltip = function (element, options) {
997
- this.init('tooltip', element, options)
998
- }
999
-
1000
- Tooltip.prototype = {
1001
-
1002
- constructor: Tooltip
1003
-
1004
- , init: function (type, element, options) {
1005
- var eventIn
1006
- , eventOut
1007
-
1008
- this.type = type
1009
- this.$element = $(element)
1010
- this.options = this.getOptions(options)
1011
- this.enabled = true
1012
-
1013
- if (this.options.trigger == 'click') {
1014
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
1015
- } else if (this.options.trigger != 'manual') {
1016
- eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
1017
- eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
1018
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
1019
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
1020
- }
1021
-
1022
- this.options.selector ?
1023
- (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
1024
- this.fixTitle()
1025
- }
1026
-
1027
- , getOptions: function (options) {
1028
- options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
1029
-
1030
- if (options.delay && typeof options.delay == 'number') {
1031
- options.delay = {
1032
- show: options.delay
1033
- , hide: options.delay
1034
- }
1035
- }
1036
-
1037
- return options
1038
- }
1039
-
1040
- , enter: function (e) {
1041
- var self = $(e.currentTarget)[this.type](this._options).data(this.type)
1042
-
1043
- if (!self.options.delay || !self.options.delay.show) return self.show()
1044
-
1045
- clearTimeout(this.timeout)
1046
- self.hoverState = 'in'
1047
- this.timeout = setTimeout(function() {
1048
- if (self.hoverState == 'in') self.show()
1049
- }, self.options.delay.show)
1050
- }
1051
-
1052
- , leave: function (e) {
1053
- var self = $(e.currentTarget)[this.type](this._options).data(this.type)
1054
-
1055
- if (this.timeout) clearTimeout(this.timeout)
1056
- if (!self.options.delay || !self.options.delay.hide) return self.hide()
1057
-
1058
- self.hoverState = 'out'
1059
- this.timeout = setTimeout(function() {
1060
- if (self.hoverState == 'out') self.hide()
1061
- }, self.options.delay.hide)
1062
- }
1063
-
1064
- , show: function () {
1065
- var $tip
1066
- , inside
1067
- , pos
1068
- , actualWidth
1069
- , actualHeight
1070
- , placement
1071
- , tp
1072
-
1073
- if (this.hasContent() && this.enabled) {
1074
- $tip = this.tip()
1075
- this.setContent()
1076
-
1077
- if (this.options.animation) {
1078
- $tip.addClass('fade')
1079
- }
1080
-
1081
- placement = typeof this.options.placement == 'function' ?
1082
- this.options.placement.call(this, $tip[0], this.$element[0]) :
1083
- this.options.placement
1084
-
1085
- inside = /in/.test(placement)
1086
-
1087
- $tip
1088
- .detach()
1089
- .css({ top: 0, left: 0, display: 'block' })
1090
- .insertAfter(this.$element)
1091
-
1092
- pos = this.getPosition(inside)
1093
-
1094
- actualWidth = $tip[0].offsetWidth
1095
- actualHeight = $tip[0].offsetHeight
1096
-
1097
- switch (inside ? placement.split(' ')[1] : placement) {
1098
- case 'bottom':
1099
- tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
1100
- break
1101
- case 'top':
1102
- tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
1103
- break
1104
- case 'left':
1105
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
1106
- break
1107
- case 'right':
1108
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
1109
- break
1110
- }
1111
-
1112
- $tip
1113
- .offset(tp)
1114
- .addClass(placement)
1115
- .addClass('in')
1116
- }
1117
- }
1118
-
1119
- , setContent: function () {
1120
- var $tip = this.tip()
1121
- , title = this.getTitle()
1122
-
1123
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
1124
- $tip.removeClass('fade in top bottom left right')
1125
- }
1126
-
1127
- , hide: function () {
1128
- var that = this
1129
- , $tip = this.tip()
1130
-
1131
- $tip.removeClass('in')
1132
-
1133
- function removeWithAnimation() {
1134
- var timeout = setTimeout(function () {
1135
- $tip.off($.support.transition.end).detach()
1136
- }, 500)
1137
-
1138
- $tip.one($.support.transition.end, function () {
1139
- clearTimeout(timeout)
1140
- $tip.detach()
1141
- })
1142
- }
1143
-
1144
- $.support.transition && this.$tip.hasClass('fade') ?
1145
- removeWithAnimation() :
1146
- $tip.detach()
1147
-
1148
- return this
1149
- }
1150
-
1151
- , fixTitle: function () {
1152
- var $e = this.$element
1153
- if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
1154
- $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
1155
- }
1156
- }
1157
-
1158
- , hasContent: function () {
1159
- return this.getTitle()
1160
- }
1161
-
1162
- , getPosition: function (inside) {
1163
- return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
1164
- width: this.$element[0].offsetWidth
1165
- , height: this.$element[0].offsetHeight
1166
- })
1167
- }
1168
-
1169
- , getTitle: function () {
1170
- var title
1171
- , $e = this.$element
1172
- , o = this.options
1173
-
1174
- title = $e.attr('data-original-title')
1175
- || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
1176
-
1177
- return title
1178
- }
1179
-
1180
- , tip: function () {
1181
- return this.$tip = this.$tip || $(this.options.template)
1182
- }
1183
-
1184
- , validate: function () {
1185
- if (!this.$element[0].parentNode) {
1186
- this.hide()
1187
- this.$element = null
1188
- this.options = null
1189
- }
1190
- }
1191
-
1192
- , enable: function () {
1193
- this.enabled = true
1194
- }
1195
-
1196
- , disable: function () {
1197
- this.enabled = false
1198
- }
1199
-
1200
- , toggleEnabled: function () {
1201
- this.enabled = !this.enabled
1202
- }
1203
-
1204
- , toggle: function (e) {
1205
- var self = $(e.currentTarget)[this.type](this._options).data(this.type)
1206
- self[self.tip().hasClass('in') ? 'hide' : 'show']()
1207
- }
1208
-
1209
- , destroy: function () {
1210
- this.hide().$element.off('.' + this.type).removeData(this.type)
1211
- }
1212
-
1213
- }
1214
-
1215
-
1216
- /* TOOLTIP PLUGIN DEFINITION
1217
- * ========================= */
1218
-
1219
- $.fn.tooltip = function ( option ) {
1220
- return this.each(function () {
1221
- var $this = $(this)
1222
- , data = $this.data('tooltip')
1223
- , options = typeof option == 'object' && option
1224
- if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
1225
- if (typeof option == 'string') data[option]()
1226
- })
1227
- }
1228
-
1229
- $.fn.tooltip.Constructor = Tooltip
1230
-
1231
- $.fn.tooltip.defaults = {
1232
- animation: true
1233
- , placement: 'top'
1234
- , selector: false
1235
- , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
1236
- , trigger: 'hover'
1237
- , title: ''
1238
- , delay: 0
1239
- , html: false
1240
- }
1241
-
1242
- }(window.jQuery);
1243
- /* ===========================================================
1244
- * bootstrap-popover.js v2.2.1
1245
- * http://twitter.github.com/bootstrap/javascript.html#popovers
1246
- * ===========================================================
1247
- * Copyright 2012 Twitter, Inc.
1248
- *
1249
- * Licensed under the Apache License, Version 2.0 (the "License");
1250
- * you may not use this file except in compliance with the License.
1251
- * You may obtain a copy of the License at
1252
- *
1253
- * http://www.apache.org/licenses/LICENSE-2.0
1254
- *
1255
- * Unless required by applicable law or agreed to in writing, software
1256
- * distributed under the License is distributed on an "AS IS" BASIS,
1257
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1258
- * See the License for the specific language governing permissions and
1259
- * limitations under the License.
1260
- * =========================================================== */
1261
-
1262
-
1263
-
1264
- !function ($) {
1265
-
1266
- "use strict"; // jshint ;_;
1267
-
1268
-
1269
- /* POPOVER PUBLIC CLASS DEFINITION
1270
- * =============================== */
1271
-
1272
- var Popover = function (element, options) {
1273
- this.init('popover', element, options)
1274
- }
1275
-
1276
-
1277
- /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
1278
- ========================================== */
1279
-
1280
- Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
1281
-
1282
- constructor: Popover
1283
-
1284
- , setContent: function () {
1285
- var $tip = this.tip()
1286
- , title = this.getTitle()
1287
- , content = this.getContent()
1288
-
1289
- $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
1290
- $tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content)
1291
-
1292
- $tip.removeClass('fade top bottom left right in')
1293
- }
1294
-
1295
- , hasContent: function () {
1296
- return this.getTitle() || this.getContent()
1297
- }
1298
-
1299
- , getContent: function () {
1300
- var content
1301
- , $e = this.$element
1302
- , o = this.options
1303
-
1304
- content = $e.attr('data-content')
1305
- || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
1306
-
1307
- return content
1308
- }
1309
-
1310
- , tip: function () {
1311
- if (!this.$tip) {
1312
- this.$tip = $(this.options.template)
1313
- }
1314
- return this.$tip
1315
- }
1316
-
1317
- , destroy: function () {
1318
- this.hide().$element.off('.' + this.type).removeData(this.type)
1319
- }
1320
-
1321
- })
1322
-
1323
-
1324
- /* POPOVER PLUGIN DEFINITION
1325
- * ======================= */
1326
-
1327
- $.fn.popover = function (option) {
1328
- return this.each(function () {
1329
- var $this = $(this)
1330
- , data = $this.data('popover')
1331
- , options = typeof option == 'object' && option
1332
- if (!data) $this.data('popover', (data = new Popover(this, options)))
1333
- if (typeof option == 'string') data[option]()
1334
- })
1335
- }
1336
-
1337
- $.fn.popover.Constructor = Popover
1338
-
1339
- $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
1340
- placement: 'right'
1341
- , trigger: 'click'
1342
- , content: ''
1343
- , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
1344
- })
1345
-
1346
- }(window.jQuery);
1347
- /* =============================================================
1348
- * bootstrap-scrollspy.js v2.2.1
1349
- * http://twitter.github.com/bootstrap/javascript.html#scrollspy
1350
- * =============================================================
1351
- * Copyright 2012 Twitter, Inc.
1352
- *
1353
- * Licensed under the Apache License, Version 2.0 (the "License");
1354
- * you may not use this file except in compliance with the License.
1355
- * You may obtain a copy of the License at
1356
- *
1357
- * http://www.apache.org/licenses/LICENSE-2.0
1358
- *
1359
- * Unless required by applicable law or agreed to in writing, software
1360
- * distributed under the License is distributed on an "AS IS" BASIS,
1361
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1362
- * See the License for the specific language governing permissions and
1363
- * limitations under the License.
1364
- * ============================================================== */
1365
-
1366
-
1367
-
1368
- !function ($) {
1369
-
1370
- "use strict"; // jshint ;_;
1371
-
1372
-
1373
- /* SCROLLSPY CLASS DEFINITION
1374
- * ========================== */
1375
-
1376
- function ScrollSpy(element, options) {
1377
- var process = $.proxy(this.process, this)
1378
- , $element = $(element).is('body') ? $(window) : $(element)
1379
- , href
1380
- this.options = $.extend({}, $.fn.scrollspy.defaults, options)
1381
- this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
1382
- this.selector = (this.options.target
1383
- || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
1384
- || '') + ' .nav li > a'
1385
- this.$body = $('body')
1386
- this.refresh()
1387
- this.process()
1388
- }
1389
-
1390
- ScrollSpy.prototype = {
1391
-
1392
- constructor: ScrollSpy
1393
-
1394
- , refresh: function () {
1395
- var self = this
1396
- , $targets
1397
-
1398
- this.offsets = $([])
1399
- this.targets = $([])
1400
-
1401
- $targets = this.$body
1402
- .find(this.selector)
1403
- .map(function () {
1404
- var $el = $(this)
1405
- , href = $el.data('target') || $el.attr('href')
1406
- , $href = /^#\w/.test(href) && $(href)
1407
- return ( $href
1408
- && $href.length
1409
- && [[ $href.position().top, href ]] ) || null
1410
- })
1411
- .sort(function (a, b) { return a[0] - b[0] })
1412
- .each(function () {
1413
- self.offsets.push(this[0])
1414
- self.targets.push(this[1])
1415
- })
1416
- }
1417
-
1418
- , process: function () {
1419
- var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
1420
- , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
1421
- , maxScroll = scrollHeight - this.$scrollElement.height()
1422
- , offsets = this.offsets
1423
- , targets = this.targets
1424
- , activeTarget = this.activeTarget
1425
- , i
1426
-
1427
- if (scrollTop >= maxScroll) {
1428
- return activeTarget != (i = targets.last()[0])
1429
- && this.activate ( i )
1430
- }
1431
-
1432
- for (i = offsets.length; i--;) {
1433
- activeTarget != targets[i]
1434
- && scrollTop >= offsets[i]
1435
- && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
1436
- && this.activate( targets[i] )
1437
- }
1438
- }
1439
-
1440
- , activate: function (target) {
1441
- var active
1442
- , selector
1443
-
1444
- this.activeTarget = target
1445
-
1446
- $(this.selector)
1447
- .parent('.active')
1448
- .removeClass('active')
1449
-
1450
- selector = this.selector
1451
- + '[data-target="' + target + '"],'
1452
- + this.selector + '[href="' + target + '"]'
1453
-
1454
- active = $(selector)
1455
- .parent('li')
1456
- .addClass('active')
1457
-
1458
- if (active.parent('.dropdown-menu').length) {
1459
- active = active.closest('li.dropdown').addClass('active')
1460
- }
1461
-
1462
- active.trigger('activate')
1463
- }
1464
-
1465
- }
1466
-
1467
-
1468
- /* SCROLLSPY PLUGIN DEFINITION
1469
- * =========================== */
1470
-
1471
- $.fn.scrollspy = function (option) {
1472
- return this.each(function () {
1473
- var $this = $(this)
1474
- , data = $this.data('scrollspy')
1475
- , options = typeof option == 'object' && option
1476
- if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
1477
- if (typeof option == 'string') data[option]()
1478
- })
1479
- }
1480
-
1481
- $.fn.scrollspy.Constructor = ScrollSpy
1482
-
1483
- $.fn.scrollspy.defaults = {
1484
- offset: 10
1485
- }
1486
-
1487
-
1488
- /* SCROLLSPY DATA-API
1489
- * ================== */
1490
-
1491
- $(window).on('load', function () {
1492
- $('[data-spy="scroll"]').each(function () {
1493
- var $spy = $(this)
1494
- $spy.scrollspy($spy.data())
1495
- })
1496
- })
1497
-
1498
- }(window.jQuery);
1499
- /* ========================================================
1500
- * bootstrap-tab.js v2.2.1
1501
- * http://twitter.github.com/bootstrap/javascript.html#tabs
1502
- * ========================================================
1503
- * Copyright 2012 Twitter, Inc.
1504
- *
1505
- * Licensed under the Apache License, Version 2.0 (the "License");
1506
- * you may not use this file except in compliance with the License.
1507
- * You may obtain a copy of the License at
1508
- *
1509
- * http://www.apache.org/licenses/LICENSE-2.0
1510
- *
1511
- * Unless required by applicable law or agreed to in writing, software
1512
- * distributed under the License is distributed on an "AS IS" BASIS,
1513
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1514
- * See the License for the specific language governing permissions and
1515
- * limitations under the License.
1516
- * ======================================================== */
1517
-
1518
-
1519
-
1520
- !function ($) {
1521
-
1522
- "use strict"; // jshint ;_;
1523
-
1524
-
1525
- /* TAB CLASS DEFINITION
1526
- * ==================== */
1527
-
1528
- var Tab = function (element) {
1529
- this.element = $(element)
1530
- }
1531
-
1532
- Tab.prototype = {
1533
-
1534
- constructor: Tab
1535
-
1536
- , show: function () {
1537
- var $this = this.element
1538
- , $ul = $this.closest('ul:not(.dropdown-menu)')
1539
- , selector = $this.attr('data-target')
1540
- , previous
1541
- , $target
1542
- , e
1543
-
1544
- if (!selector) {
1545
- selector = $this.attr('href')
1546
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
1547
- }
1548
-
1549
- if ( $this.parent('li').hasClass('active') ) return
1550
-
1551
- previous = $ul.find('.active:last a')[0]
1552
-
1553
- e = $.Event('show', {
1554
- relatedTarget: previous
1555
- })
1556
-
1557
- $this.trigger(e)
1558
-
1559
- if (e.isDefaultPrevented()) return
1560
-
1561
- $target = $(selector)
1562
-
1563
- this.activate($this.parent('li'), $ul)
1564
- this.activate($target, $target.parent(), function () {
1565
- $this.trigger({
1566
- type: 'shown'
1567
- , relatedTarget: previous
1568
- })
1569
- })
1570
- }
1571
-
1572
- , activate: function ( element, container, callback) {
1573
- var $active = container.find('> .active')
1574
- , transition = callback
1575
- && $.support.transition
1576
- && $active.hasClass('fade')
1577
-
1578
- function next() {
1579
- $active
1580
- .removeClass('active')
1581
- .find('> .dropdown-menu > .active')
1582
- .removeClass('active')
1583
-
1584
- element.addClass('active')
1585
-
1586
- if (transition) {
1587
- element[0].offsetWidth // reflow for transition
1588
- element.addClass('in')
1589
- } else {
1590
- element.removeClass('fade')
1591
- }
1592
-
1593
- if ( element.parent('.dropdown-menu') ) {
1594
- element.closest('li.dropdown').addClass('active')
1595
- }
1596
-
1597
- callback && callback()
1598
- }
1599
-
1600
- transition ?
1601
- $active.one($.support.transition.end, next) :
1602
- next()
1603
-
1604
- $active.removeClass('in')
1605
- }
1606
- }
1607
-
1608
-
1609
- /* TAB PLUGIN DEFINITION
1610
- * ===================== */
1611
-
1612
- $.fn.tab = function ( option ) {
1613
- return this.each(function () {
1614
- var $this = $(this)
1615
- , data = $this.data('tab')
1616
- if (!data) $this.data('tab', (data = new Tab(this)))
1617
- if (typeof option == 'string') data[option]()
1618
- })
1619
- }
1620
-
1621
- $.fn.tab.Constructor = Tab
1622
-
1623
-
1624
- /* TAB DATA-API
1625
- * ============ */
1626
-
1627
- $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
1628
- e.preventDefault()
1629
- $(this).tab('show')
1630
- })
1631
-
1632
- }(window.jQuery);
1633
- /* =============================================================
1634
- * bootstrap-typeahead.js v2.2.1
1635
- * http://twitter.github.com/bootstrap/javascript.html#typeahead
1636
- * =============================================================
1637
- * Copyright 2012 Twitter, Inc.
1638
- *
1639
- * Licensed under the Apache License, Version 2.0 (the "License");
1640
- * you may not use this file except in compliance with the License.
1641
- * You may obtain a copy of the License at
1642
- *
1643
- * http://www.apache.org/licenses/LICENSE-2.0
1644
- *
1645
- * Unless required by applicable law or agreed to in writing, software
1646
- * distributed under the License is distributed on an "AS IS" BASIS,
1647
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1648
- * See the License for the specific language governing permissions and
1649
- * limitations under the License.
1650
- * ============================================================ */
1651
-
1652
-
1653
-
1654
- !function($){
1655
-
1656
- "use strict"; // jshint ;_;
1657
-
1658
-
1659
- /* TYPEAHEAD PUBLIC CLASS DEFINITION
1660
- * ================================= */
1661
-
1662
- var Typeahead = function (element, options) {
1663
- this.$element = $(element)
1664
- this.options = $.extend({}, $.fn.typeahead.defaults, options)
1665
- this.matcher = this.options.matcher || this.matcher
1666
- this.sorter = this.options.sorter || this.sorter
1667
- this.highlighter = this.options.highlighter || this.highlighter
1668
- this.updater = this.options.updater || this.updater
1669
- this.$menu = $(this.options.menu).appendTo('body')
1670
- this.source = this.options.source
1671
- this.shown = false
1672
- this.listen()
1673
- }
1674
-
1675
- Typeahead.prototype = {
1676
-
1677
- constructor: Typeahead
1678
-
1679
- , select: function () {
1680
- var val = this.$menu.find('.active').attr('data-value')
1681
- this.$element
1682
- .val(this.updater(val))
1683
- .change()
1684
- return this.hide()
1685
- }
1686
-
1687
- , updater: function (item) {
1688
- return item
1689
- }
1690
-
1691
- , show: function () {
1692
- var pos = $.extend({}, this.$element.offset(), {
1693
- height: this.$element[0].offsetHeight
1694
- })
1695
-
1696
- this.$menu.css({
1697
- top: pos.top + pos.height
1698
- , left: pos.left
1699
- })
1700
-
1701
- this.$menu.show()
1702
- this.shown = true
1703
- return this
1704
- }
1705
-
1706
- , hide: function () {
1707
- this.$menu.hide()
1708
- this.shown = false
1709
- return this
1710
- }
1711
-
1712
- , lookup: function (event) {
1713
- var items
1714
-
1715
- this.query = this.$element.val()
1716
-
1717
- if (!this.query || this.query.length < this.options.minLength) {
1718
- return this.shown ? this.hide() : this
1719
- }
1720
-
1721
- items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
1722
-
1723
- return items ? this.process(items) : this
1724
- }
1725
-
1726
- , process: function (items) {
1727
- var that = this
1728
-
1729
- items = $.grep(items, function (item) {
1730
- return that.matcher(item)
1731
- })
1732
-
1733
- items = this.sorter(items)
1734
-
1735
- if (!items.length) {
1736
- return this.shown ? this.hide() : this
1737
- }
1738
-
1739
- return this.render(items.slice(0, this.options.items)).show()
1740
- }
1741
-
1742
- , matcher: function (item) {
1743
- return ~item.toLowerCase().indexOf(this.query.toLowerCase())
1744
- }
1745
-
1746
- , sorter: function (items) {
1747
- var beginswith = []
1748
- , caseSensitive = []
1749
- , caseInsensitive = []
1750
- , item
1751
-
1752
- while (item = items.shift()) {
1753
- if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
1754
- else if (~item.indexOf(this.query)) caseSensitive.push(item)
1755
- else caseInsensitive.push(item)
1756
- }
1757
-
1758
- return beginswith.concat(caseSensitive, caseInsensitive)
1759
- }
1760
-
1761
- , highlighter: function (item) {
1762
- var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
1763
- return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
1764
- return '<strong>' + match + '</strong>'
1765
- })
1766
- }
1767
-
1768
- , render: function (items) {
1769
- var that = this
1770
-
1771
- items = $(items).map(function (i, item) {
1772
- i = $(that.options.item).attr('data-value', item)
1773
- i.find('a').html(that.highlighter(item))
1774
- return i[0]
1775
- })
1776
-
1777
- items.first().addClass('active')
1778
- this.$menu.html(items)
1779
- return this
1780
- }
1781
-
1782
- , next: function (event) {
1783
- var active = this.$menu.find('.active').removeClass('active')
1784
- , next = active.next()
1785
-
1786
- if (!next.length) {
1787
- next = $(this.$menu.find('li')[0])
1788
- }
1789
-
1790
- next.addClass('active')
1791
- }
1792
-
1793
- , prev: function (event) {
1794
- var active = this.$menu.find('.active').removeClass('active')
1795
- , prev = active.prev()
1796
-
1797
- if (!prev.length) {
1798
- prev = this.$menu.find('li').last()
1799
- }
1800
-
1801
- prev.addClass('active')
1802
- }
1803
-
1804
- , listen: function () {
1805
- this.$element
1806
- .on('blur', $.proxy(this.blur, this))
1807
- .on('keypress', $.proxy(this.keypress, this))
1808
- .on('keyup', $.proxy(this.keyup, this))
1809
-
1810
- if (this.eventSupported('keydown')) {
1811
- this.$element.on('keydown', $.proxy(this.keydown, this))
1812
- }
1813
-
1814
- this.$menu
1815
- .on('click', $.proxy(this.click, this))
1816
- .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
1817
- }
1818
-
1819
- , eventSupported: function(eventName) {
1820
- var isSupported = eventName in this.$element
1821
- if (!isSupported) {
1822
- this.$element.setAttribute(eventName, 'return;')
1823
- isSupported = typeof this.$element[eventName] === 'function'
1824
- }
1825
- return isSupported
1826
- }
1827
-
1828
- , move: function (e) {
1829
- if (!this.shown) return
1830
-
1831
- switch(e.keyCode) {
1832
- case 9: // tab
1833
- case 13: // enter
1834
- case 27: // escape
1835
- e.preventDefault()
1836
- break
1837
-
1838
- case 38: // up arrow
1839
- e.preventDefault()
1840
- this.prev()
1841
- break
1842
-
1843
- case 40: // down arrow
1844
- e.preventDefault()
1845
- this.next()
1846
- break
1847
- }
1848
-
1849
- e.stopPropagation()
1850
- }
1851
-
1852
- , keydown: function (e) {
1853
- this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27])
1854
- this.move(e)
1855
- }
1856
-
1857
- , keypress: function (e) {
1858
- if (this.suppressKeyPressRepeat) return
1859
- this.move(e)
1860
- }
1861
-
1862
- , keyup: function (e) {
1863
- switch(e.keyCode) {
1864
- case 40: // down arrow
1865
- case 38: // up arrow
1866
- case 16: // shift
1867
- case 17: // ctrl
1868
- case 18: // alt
1869
- break
1870
-
1871
- case 9: // tab
1872
- case 13: // enter
1873
- if (!this.shown) return
1874
- this.select()
1875
- break
1876
-
1877
- case 27: // escape
1878
- if (!this.shown) return
1879
- this.hide()
1880
- break
1881
-
1882
- default:
1883
- this.lookup()
1884
- }
1885
-
1886
- e.stopPropagation()
1887
- e.preventDefault()
1888
- }
1889
-
1890
- , blur: function (e) {
1891
- var that = this
1892
- setTimeout(function () { that.hide() }, 150)
1893
- }
1894
-
1895
- , click: function (e) {
1896
- e.stopPropagation()
1897
- e.preventDefault()
1898
- this.select()
1899
- }
1900
-
1901
- , mouseenter: function (e) {
1902
- this.$menu.find('.active').removeClass('active')
1903
- $(e.currentTarget).addClass('active')
1904
- }
1905
-
1906
- }
1907
-
1908
-
1909
- /* TYPEAHEAD PLUGIN DEFINITION
1910
- * =========================== */
1911
-
1912
- $.fn.typeahead = function (option) {
1913
- return this.each(function () {
1914
- var $this = $(this)
1915
- , data = $this.data('typeahead')
1916
- , options = typeof option == 'object' && option
1917
- if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
1918
- if (typeof option == 'string') data[option]()
1919
- })
1920
- }
1921
-
1922
- $.fn.typeahead.defaults = {
1923
- source: []
1924
- , items: 8
1925
- , menu: '<ul class="typeahead dropdown-menu"></ul>'
1926
- , item: '<li><a href="#"></a></li>'
1927
- , minLength: 1
1928
- }
1929
-
1930
- $.fn.typeahead.Constructor = Typeahead
1931
-
1932
-
1933
- /* TYPEAHEAD DATA-API
1934
- * ================== */
1935
-
1936
- $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
1937
- var $this = $(this)
1938
- if ($this.data('typeahead')) return
1939
- e.preventDefault()
1940
- $this.typeahead($this.data())
1941
- })
1942
-
1943
- }(window.jQuery);
1944
- /* ==========================================================
1945
- * bootstrap-affix.js v2.2.1
1946
- * http://twitter.github.com/bootstrap/javascript.html#affix
1947
- * ==========================================================
1948
- * Copyright 2012 Twitter, Inc.
1949
- *
1950
- * Licensed under the Apache License, Version 2.0 (the "License");
1951
- * you may not use this file except in compliance with the License.
1952
- * You may obtain a copy of the License at
1953
- *
1954
- * http://www.apache.org/licenses/LICENSE-2.0
1955
- *
1956
- * Unless required by applicable law or agreed to in writing, software
1957
- * distributed under the License is distributed on an "AS IS" BASIS,
1958
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1959
- * See the License for the specific language governing permissions and
1960
- * limitations under the License.
1961
- * ========================================================== */
1962
-
1963
-
1964
-
1965
- !function ($) {
1966
-
1967
- "use strict"; // jshint ;_;
1968
-
1969
-
1970
- /* AFFIX CLASS DEFINITION
1971
- * ====================== */
1972
-
1973
- var Affix = function (element, options) {
1974
- this.options = $.extend({}, $.fn.affix.defaults, options)
1975
- this.$window = $(window)
1976
- .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
1977
- .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
1978
- this.$element = $(element)
1979
- this.checkPosition()
1980
- }
1981
-
1982
- Affix.prototype.checkPosition = function () {
1983
- if (!this.$element.is(':visible')) return
1984
-
1985
- var scrollHeight = $(document).height()
1986
- , scrollTop = this.$window.scrollTop()
1987
- , position = this.$element.offset()
1988
- , offset = this.options.offset
1989
- , offsetBottom = offset.bottom
1990
- , offsetTop = offset.top
1991
- , reset = 'affix affix-top affix-bottom'
1992
- , affix
1993
-
1994
- if (typeof offset != 'object') offsetBottom = offsetTop = offset
1995
- if (typeof offsetTop == 'function') offsetTop = offset.top()
1996
- if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
1997
-
1998
- affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
1999
- false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
2000
- 'bottom' : offsetTop != null && scrollTop <= offsetTop ?
2001
- 'top' : false
2002
-
2003
- if (this.affixed === affix) return
2004
-
2005
- this.affixed = affix
2006
- this.unpin = affix == 'bottom' ? position.top - scrollTop : null
2007
-
2008
- this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
2009
- }
2010
-
2011
-
2012
- /* AFFIX PLUGIN DEFINITION
2013
- * ======================= */
2014
-
2015
- $.fn.affix = function (option) {
2016
- return this.each(function () {
2017
- var $this = $(this)
2018
- , data = $this.data('affix')
2019
- , options = typeof option == 'object' && option
2020
- if (!data) $this.data('affix', (data = new Affix(this, options)))
2021
- if (typeof option == 'string') data[option]()
2022
- })
2023
- }
2024
-
2025
- $.fn.affix.Constructor = Affix
2026
-
2027
- $.fn.affix.defaults = {
2028
- offset: 0
2029
- }
2030
-
2031
-
2032
- /* AFFIX DATA-API
2033
- * ============== */
2034
-
2035
- $(window).on('load', function () {
2036
- $('[data-spy="affix"]').each(function () {
2037
- var $spy = $(this)
2038
- , data = $spy.data()
2039
-
2040
- data.offset = data.offset || {}
2041
-
2042
- data.offsetBottom && (data.offset.bottom = data.offsetBottom)
2043
- data.offsetTop && (data.offset.top = data.offsetTop)
2044
-
2045
- $spy.affix(data)
2046
- })
2047
- })
2048
-
2049
-
2050
- }(window.jQuery);
2051
-
2052
- $(document).ready(function(){...});:
2053
- ;
2054
- ;
2055
- FI"
2056
- F"%9370c624234123375b3b32be387d3ac5