active_admin_jcrop 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (337) hide show
  1. checksums.yaml +4 -4
  2. data/lib/active_admin_jcrop/version.rb +1 -1
  3. data/{test → spec}/dummy/README.rdoc +0 -0
  4. data/{test → spec}/dummy/Rakefile +0 -0
  5. data/{test → spec}/dummy/app/admin/dashboard.rb +0 -0
  6. data/{test → spec}/dummy/app/admin/post.rb +0 -0
  7. data/{test → spec}/dummy/app/assets/javascripts/active_admin.js.coffee +0 -0
  8. data/{test → spec}/dummy/app/assets/javascripts/application.js +0 -0
  9. data/{test → spec}/dummy/app/assets/stylesheets/active_admin.css.scss +0 -0
  10. data/{test → spec}/dummy/app/assets/stylesheets/application.css +0 -0
  11. data/{test → spec}/dummy/app/controllers/application_controller.rb +0 -0
  12. data/{test → spec}/dummy/app/helpers/application_helper.rb +0 -0
  13. data/{test → spec}/dummy/app/models/post.rb +0 -0
  14. data/{test → spec}/dummy/app/uploaders/image_uploader.rb +0 -0
  15. data/{test → spec}/dummy/app/views/layouts/application.html.erb +0 -0
  16. data/{test → spec}/dummy/bin/bundle +0 -0
  17. data/{test → spec}/dummy/bin/rails +0 -0
  18. data/{test → spec}/dummy/bin/rake +0 -0
  19. data/{test → spec}/dummy/config.ru +0 -0
  20. data/{test → spec}/dummy/config/application.rb +2 -2
  21. data/{test → spec}/dummy/config/boot.rb +1 -1
  22. data/{test → spec}/dummy/config/database.yml +0 -0
  23. data/{test → spec}/dummy/config/environment.rb +0 -0
  24. data/{test → spec}/dummy/config/environments/development.rb +0 -0
  25. data/{test → spec}/dummy/config/environments/production.rb +0 -0
  26. data/{test → spec}/dummy/config/environments/test.rb +10 -3
  27. data/{test → spec}/dummy/config/initializers/active_admin.rb +2 -2
  28. data/{test → spec}/dummy/config/initializers/backtrace_silencers.rb +0 -0
  29. data/{test → spec}/dummy/config/initializers/cookies_serializer.rb +0 -0
  30. data/{test → spec}/dummy/config/initializers/filter_parameter_logging.rb +0 -0
  31. data/{test → spec}/dummy/config/initializers/inflections.rb +0 -0
  32. data/{test → spec}/dummy/config/initializers/mime_types.rb +0 -0
  33. data/{test → spec}/dummy/config/initializers/session_store.rb +0 -0
  34. data/{test → spec}/dummy/config/initializers/wrap_parameters.rb +0 -0
  35. data/{test → spec}/dummy/config/locales/devise.en.yml +0 -0
  36. data/{test → spec}/dummy/config/locales/en.yml +0 -0
  37. data/{test → spec}/dummy/config/routes.rb +4 -2
  38. data/{test → spec}/dummy/config/secrets.yml +0 -0
  39. data/{test → spec}/dummy/db/migrate/20140609195344_create_posts.rb +0 -0
  40. data/{test → spec}/dummy/db/migrate/20140609200814_create_active_admin_comments.rb +0 -0
  41. data/{test → spec}/dummy/db/migrate/20140609202215_devise_create_admin_users.rb +1 -1
  42. data/spec/dummy/db/migrate/20140619201236_drop_admin_user_table.rb +5 -0
  43. data/{test → spec}/dummy/db/schema.rb +1 -19
  44. data/{test → spec}/dummy/log/development.log +3403 -0
  45. data/spec/dummy/log/test.log +3948 -0
  46. data/{test → spec}/dummy/public/404.html +0 -0
  47. data/{test → spec}/dummy/public/422.html +0 -0
  48. data/{test → spec}/dummy/public/500.html +0 -0
  49. data/{test → spec}/dummy/public/favicon.ico +0 -0
  50. data/{test → spec}/dummy/public/uploads/post/image/1/caminhao.jpeg +0 -0
  51. data/spec/dummy/public/uploads/post/image/1/thumb_caminhao.jpeg +0 -0
  52. data/{test → spec}/dummy/public/uploads/tmp/1402854070-53359-7950/caminhao.jpeg +0 -0
  53. data/{test → spec}/dummy/public/uploads/tmp/1402854070-53359-7950/thumb_caminhao.jpeg +0 -0
  54. data/{test → spec}/dummy/public/uploads/tmp/1402854510-53557-6949/caminhao.jpeg +0 -0
  55. data/{test → spec}/dummy/public/uploads/tmp/1402854510-53557-6949/thumb_caminhao.jpeg +0 -0
  56. data/{test → spec}/dummy/public/uploads/tmp/1402854728-53655-1717/caminhao.jpeg +0 -0
  57. data/{test → spec}/dummy/public/uploads/tmp/1402854728-53655-1717/thumb_caminhao.jpeg +0 -0
  58. data/{test → spec}/dummy/public/uploads/tmp/1402855138-53797-0268/caminhao.jpeg +0 -0
  59. data/{test → spec}/dummy/public/uploads/tmp/1402855138-53797-0268/thumb_caminhao.jpeg +0 -0
  60. data/{test → spec}/dummy/public/uploads/tmp/1402856174-54150-2897/caminhao.jpeg +0 -0
  61. data/{test → spec}/dummy/public/uploads/tmp/1402856174-54150-2897/thumb_caminhao.jpeg +0 -0
  62. data/{test → spec}/dummy/public/uploads/tmp/1402856561-54391-5701/caminhao.jpeg +0 -0
  63. data/{test → spec}/dummy/public/uploads/tmp/1402856561-54391-5701/thumb_caminhao.jpeg +0 -0
  64. data/{test → spec}/dummy/public/uploads/tmp/1402884860-59723-5663/caminhao.jpeg +0 -0
  65. data/{test → spec}/dummy/public/uploads/tmp/1402884860-59723-5663/thumb_caminhao.jpeg +0 -0
  66. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/01cc28ef6cf61e838f8df3854de4e76b +0 -0
  67. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/04815176b18d23ced953077cdab6c799 +0 -0
  68. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/05329eaf5e8ad8c55f7356cd6f1a208d +0 -0
  69. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/09b3ba6de4c7b276240b56d755d22193 +0 -0
  70. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/0c410be62a5a11fa5bd31553203370c9 +0 -0
  71. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/11666820d5c80bd008d64048ad423cf2 +0 -0
  72. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/153271d97599450d4419ff64c0096e7a +0 -0
  73. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/198ca7c8448aa0272e8b33c7c8f7f85b +0 -0
  74. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/1c328d420a3818d37452e98c6001b467 +0 -0
  75. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/1ce4a7570f4520b8014c358d0e417201 +0 -0
  76. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/1d7d77c0ef36a03c1a532428dc56fb43 +0 -0
  77. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/1e7ffade48952c7cdfc8672bad4eb410 +0 -0
  78. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/2469f5828ec5a821a8e3a1fa52f62ecc +0 -0
  79. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/280b1fab7672e0fd9bb4f1578ca14a9c +0 -0
  80. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/2894eb75de440448b3c40d69d7c3daf1 +0 -0
  81. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/2de35a92daa792d65be049f319e98640 +0 -0
  82. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/2e6efe9c42b17ddcbc206cb7029a6435 +0 -0
  83. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/37ac2b1140ba52b9c49281dfaaeb0a5c +0 -0
  84. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/39d5b668acdaf4ac39dfbec7998c6088 +0 -0
  85. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/3dbddfc04cc1ce845cea75a5d053eb78 +0 -0
  86. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/3f8d2b3750a2c4a35e2fc80119be599b +0 -0
  87. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/4168e815a6e3b7f527bae1357a3b4a88 +0 -0
  88. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/42599e7e19d0844f558bf6755147af8a +0 -0
  89. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/43f5bd66cd4b99ca8a25a3a3585dc10f +0 -0
  90. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/4806b0909dd0f9ef46c0f8529c16d0cb +0 -0
  91. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/49366e6a8a305846f3b6e35412b622be +0 -0
  92. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/4abf4453141fa8280d3e92b9d6f95893 +0 -0
  93. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/4e10e25ed23161425328c0e86fd2d964 +0 -0
  94. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/4f3ac0b41fcb58bba41dd8990f521960 +0 -0
  95. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/50868216b236752b04eac5d3ee00f04c +0 -0
  96. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/517db557c9ab037fe61fcc4135e67a97 +0 -0
  97. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/51a626ab0064c74348ca0076f2464081 +0 -0
  98. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/5248fc2c7af1008d55cc8c390c5aadfd +0 -0
  99. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/52ec38bf0b8162c3a0b60334179fd9d8 +0 -0
  100. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/542ba2c861120c117755b256e75fc931 +0 -0
  101. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/58242bae329210944c12eef4b21e74fc +0 -0
  102. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/586f47ea7b97a5a0c2864cafc7fa681a +0 -0
  103. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/59f28a7fdd955b2eb441b3ede79d6634 +0 -0
  104. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/5e5c38446431a684f7d95b931dd29845 +0 -0
  105. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/5e978a23006b9bf0e8cb8e01af6b830e +0 -0
  106. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/63f0e112cc9f52fcc19a660011424d4d +0 -0
  107. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/63f701be894a406a83f338a15dbbff5b +0 -0
  108. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/66ecbfb3aaaec21a5dd4da1c53b09474 +0 -0
  109. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/6e600d6b6e57393c380d4f34b7e462c1 +0 -0
  110. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/7058e63d0f91885601240f901d028889 +0 -0
  111. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/7863b5114d0b7761ee50ab47927118ee +0 -0
  112. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/79a9f34b9b567a41a3c023f6c31b6251 +0 -0
  113. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/7aa6ca65af176c54e4e7c93c8eee5a7f +0 -0
  114. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/7f8b2599f8306c1dc7d1e3e5b9deded8 +0 -0
  115. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/81dd6767e418fdc1ab0263c94cd79d8b +0 -0
  116. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/8247e64103aa55a761ab0f354ff45c16 +0 -0
  117. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/82a4b11f94b10449d88fc04cf6df3a18 +0 -0
  118. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/82a8bc708c97f88caaf13018bf6b279d +0 -0
  119. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/83054e22209abf270f4394486dd2629b +0 -0
  120. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/833571bbb8aac2c2d7ead0bb6c360747 +0 -0
  121. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/8546b8d3c7ef5ea3e50ac4a872f661cb +0 -0
  122. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/857ecd2092cee11f740b3cf2e373ad2a +0 -0
  123. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/8636ac646366920af1a3b008b51ceed1 +0 -0
  124. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/86a0e6da188e8b595d42390ae7c686d9 +0 -0
  125. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/870b072c21a14943e77df52a2cda1b73 +0 -0
  126. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/8811d2e446647a23d3edf4b867ad0c02 +0 -0
  127. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/88197c7050fe981f868afc887b2ce0ba +0 -0
  128. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/887d9abab3188ec82c44b8c157617ca7 +0 -0
  129. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/88887cda2e4b689f7b1af350c003d0d2 +0 -0
  130. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/88b9d244297285b4704261b08355377c +0 -0
  131. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/8a7d09231ebe79adabff0fbb009fea25 +0 -0
  132. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/8a88e7d4780f75cec7a24872a705b76b +0 -0
  133. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/8bd0b3620014ec125304f9605c337077 +0 -0
  134. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/8d39cc657ceec60e0d5ea1fa37e5e1a0 +0 -0
  135. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/8f2e727a35967938c7f3368ad0e1fd17 +0 -0
  136. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/9181c05dfda585ad6bf9ddb219eb15a1 +0 -0
  137. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/921e258c04378d5f0ecf0f3ee547195e +0 -0
  138. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/95682c5bcf707ffdac00772b90de8e9d +0 -0
  139. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/963d3f2d23c24941fe0b9c0231b8849d +0 -0
  140. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/99f0365331f36952dca860bcc6e8fd4a +0 -0
  141. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/9b9cde87d5e9f732acdc4fb18077c71d +0 -0
  142. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/9ba436ceb3644f8f052f05eeff94a880 +0 -0
  143. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/9f495611485125fd9772059d732fd3ec +0 -0
  144. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/a60a6f908e1d257971c558b8c6db7ae5 +0 -0
  145. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/a6b936ad9b28fb786d3135a007e5d5b8 +0 -0
  146. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/a6eedf5e824ca04685c9da227f406b8f +0 -0
  147. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/a759d4068225951d142110473dd6c8b3 +0 -0
  148. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/aae43c2efd29f832dccb299bfa566e44 +0 -0
  149. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/abafd28d094dec608d1a73ec02e75c34 +0 -0
  150. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/ae3ffb8f5a8c49bb8253a13ef5d1d2a4 +0 -0
  151. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/af888b78046ad78708407984ecb3c8a6 +0 -0
  152. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/b09cd2d5bea8a15151b6022c038dda5c +0 -0
  153. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/b461b3c64042d0c6dbaf73e92275300e +0 -0
  154. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/b4948b52a9f8e7cdd8a77902409545c0 +0 -0
  155. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/c1de6e9cb5f12e4481b52b1cf8d38d31 +0 -0
  156. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/c6698cd7d2263b8d2095648c2ac0fe79 +0 -0
  157. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/c72957ff133a3fd942c3ab9960d1d423 +0 -0
  158. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/c8c8162f2a41f8578ba98c9a1f37e46b +0 -0
  159. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/c962852af3d1e3dc670690c90a7b070e +0 -0
  160. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/ca13fe06919030ff6b989ec199d70a44 +0 -0
  161. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/cb1fc3f2ce1b7f41695e590c097b311b +0 -0
  162. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/cc6dcaa815625d7d4b57e3972e144bda +0 -0
  163. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/ccbc9b9b1eb80fbb7865bc756ce55b87 +0 -0
  164. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/ce5e8cfd00d9fb6c6fde000c5e03662d +0 -0
  165. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/cfc55116cc6269b60cf1be77557f0fa0 +0 -0
  166. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/d295569fa361346a1980638387ef138b +0 -0
  167. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/d46eab415cde36a1cf5eace3991cf63a +0 -0
  168. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/d7e88e6d648deff48df25b735ddc1826 +0 -0
  169. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/db631d9298c9a2f7e02011d47fd3ccca +0 -0
  170. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/e1f04589fe51a214b3d97f4b9d693db2 +0 -0
  171. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/e41a3d9a4ba0bd341c8da19fb9e53cca +0 -0
  172. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/e574af4ac554c85b5795e56916e5264e +0 -0
  173. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/e641d229c53e2926a5ed4ab6ce79eada +0 -0
  174. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/e73b7841ac8e835c29aeb4fc4bf27e40 +0 -0
  175. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/e88a13629d2c3498c801d061a01f6bf1 +0 -0
  176. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/ed9f0de1b65ae8d7ef89087c83728461 +0 -0
  177. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/f0f4cedded536278ec7f580408e6e60f +0 -0
  178. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/f156de297b7d2034db1844f92f4f92ba +0 -0
  179. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/f2f4ef8251bfbaced240dfbd93538a90 +0 -0
  180. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/f655e2d083e4e5fc8b2c6a8064178998 +0 -0
  181. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/f6667183705babbc5a9efea96e26953b +0 -0
  182. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/f669eeb6c0059dbcab647979cad28c4b +0 -0
  183. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/f985e5d99fd0dcf330b2a243b63c71f8 +0 -0
  184. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/fa4cfa52c2f50e31e33e69d54e6694dc +0 -0
  185. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/fb8b186d5bf0307f86f65fc787d2adeb +0 -0
  186. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/fd2f0ae1c70d86cc45823b51d707e220 +0 -0
  187. data/{test → spec}/dummy/tmp/cache/assets/development/sprockets/ff328cfd9b51b215b0db24b8bb3c63f4 +0 -0
  188. data/spec/dummy/tmp/cache/assets/test/sprockets/01cc28ef6cf61e838f8df3854de4e76b +0 -0
  189. data/spec/dummy/tmp/cache/assets/test/sprockets/04815176b18d23ced953077cdab6c799 +0 -0
  190. data/spec/dummy/tmp/cache/assets/test/sprockets/05329eaf5e8ad8c55f7356cd6f1a208d +0 -0
  191. data/spec/dummy/tmp/cache/assets/test/sprockets/09b3ba6de4c7b276240b56d755d22193 +0 -0
  192. data/spec/dummy/tmp/cache/assets/test/sprockets/0c410be62a5a11fa5bd31553203370c9 +0 -0
  193. data/spec/dummy/tmp/cache/assets/test/sprockets/11666820d5c80bd008d64048ad423cf2 +0 -0
  194. data/spec/dummy/tmp/cache/assets/test/sprockets/153271d97599450d4419ff64c0096e7a +0 -0
  195. data/spec/dummy/tmp/cache/assets/test/sprockets/198ca7c8448aa0272e8b33c7c8f7f85b +0 -0
  196. data/spec/dummy/tmp/cache/assets/test/sprockets/1c328d420a3818d37452e98c6001b467 +0 -0
  197. data/spec/dummy/tmp/cache/assets/test/sprockets/1ce4a7570f4520b8014c358d0e417201 +0 -0
  198. data/spec/dummy/tmp/cache/assets/test/sprockets/1d7d77c0ef36a03c1a532428dc56fb43 +0 -0
  199. data/spec/dummy/tmp/cache/assets/test/sprockets/2469f5828ec5a821a8e3a1fa52f62ecc +0 -0
  200. data/spec/dummy/tmp/cache/assets/test/sprockets/280b1fab7672e0fd9bb4f1578ca14a9c +0 -0
  201. data/spec/dummy/tmp/cache/assets/test/sprockets/2894eb75de440448b3c40d69d7c3daf1 +0 -0
  202. data/spec/dummy/tmp/cache/assets/test/sprockets/2de35a92daa792d65be049f319e98640 +0 -0
  203. data/spec/dummy/tmp/cache/assets/test/sprockets/2e6efe9c42b17ddcbc206cb7029a6435 +0 -0
  204. data/spec/dummy/tmp/cache/assets/test/sprockets/37ac2b1140ba52b9c49281dfaaeb0a5c +0 -0
  205. data/spec/dummy/tmp/cache/assets/test/sprockets/39d5b668acdaf4ac39dfbec7998c6088 +0 -0
  206. data/spec/dummy/tmp/cache/assets/test/sprockets/3dbddfc04cc1ce845cea75a5d053eb78 +0 -0
  207. data/spec/dummy/tmp/cache/assets/test/sprockets/3f8d2b3750a2c4a35e2fc80119be599b +0 -0
  208. data/spec/dummy/tmp/cache/assets/test/sprockets/42599e7e19d0844f558bf6755147af8a +0 -0
  209. data/spec/dummy/tmp/cache/assets/test/sprockets/43f5bd66cd4b99ca8a25a3a3585dc10f +0 -0
  210. data/spec/dummy/tmp/cache/assets/test/sprockets/4806b0909dd0f9ef46c0f8529c16d0cb +0 -0
  211. data/spec/dummy/tmp/cache/assets/test/sprockets/49366e6a8a305846f3b6e35412b622be +0 -0
  212. data/spec/dummy/tmp/cache/assets/test/sprockets/4abf4453141fa8280d3e92b9d6f95893 +0 -0
  213. data/spec/dummy/tmp/cache/assets/test/sprockets/4e10e25ed23161425328c0e86fd2d964 +0 -0
  214. data/spec/dummy/tmp/cache/assets/test/sprockets/4f3ac0b41fcb58bba41dd8990f521960 +0 -0
  215. data/spec/dummy/tmp/cache/assets/test/sprockets/50868216b236752b04eac5d3ee00f04c +0 -0
  216. data/spec/dummy/tmp/cache/assets/test/sprockets/517db557c9ab037fe61fcc4135e67a97 +0 -0
  217. data/spec/dummy/tmp/cache/assets/test/sprockets/51a626ab0064c74348ca0076f2464081 +0 -0
  218. data/spec/dummy/tmp/cache/assets/test/sprockets/5248fc2c7af1008d55cc8c390c5aadfd +0 -0
  219. data/spec/dummy/tmp/cache/assets/test/sprockets/52ec38bf0b8162c3a0b60334179fd9d8 +0 -0
  220. data/spec/dummy/tmp/cache/assets/test/sprockets/542ba2c861120c117755b256e75fc931 +0 -0
  221. data/spec/dummy/tmp/cache/assets/test/sprockets/58242bae329210944c12eef4b21e74fc +0 -0
  222. data/spec/dummy/tmp/cache/assets/test/sprockets/586f47ea7b97a5a0c2864cafc7fa681a +0 -0
  223. data/spec/dummy/tmp/cache/assets/test/sprockets/59f28a7fdd955b2eb441b3ede79d6634 +0 -0
  224. data/spec/dummy/tmp/cache/assets/test/sprockets/5e5c38446431a684f7d95b931dd29845 +0 -0
  225. data/spec/dummy/tmp/cache/assets/test/sprockets/5e978a23006b9bf0e8cb8e01af6b830e +0 -0
  226. data/spec/dummy/tmp/cache/assets/test/sprockets/63f0e112cc9f52fcc19a660011424d4d +0 -0
  227. data/spec/dummy/tmp/cache/assets/test/sprockets/63f701be894a406a83f338a15dbbff5b +0 -0
  228. data/spec/dummy/tmp/cache/assets/test/sprockets/66ecbfb3aaaec21a5dd4da1c53b09474 +0 -0
  229. data/spec/dummy/tmp/cache/assets/test/sprockets/6e600d6b6e57393c380d4f34b7e462c1 +0 -0
  230. data/spec/dummy/tmp/cache/assets/test/sprockets/7058e63d0f91885601240f901d028889 +0 -0
  231. data/spec/dummy/tmp/cache/assets/test/sprockets/7863b5114d0b7761ee50ab47927118ee +0 -0
  232. data/spec/dummy/tmp/cache/assets/test/sprockets/79a9f34b9b567a41a3c023f6c31b6251 +0 -0
  233. data/spec/dummy/tmp/cache/assets/test/sprockets/7aa6ca65af176c54e4e7c93c8eee5a7f +0 -0
  234. data/spec/dummy/tmp/cache/assets/test/sprockets/7f8b2599f8306c1dc7d1e3e5b9deded8 +0 -0
  235. data/spec/dummy/tmp/cache/assets/test/sprockets/81dd6767e418fdc1ab0263c94cd79d8b +0 -0
  236. data/spec/dummy/tmp/cache/assets/test/sprockets/8247e64103aa55a761ab0f354ff45c16 +0 -0
  237. data/spec/dummy/tmp/cache/assets/test/sprockets/82a8bc708c97f88caaf13018bf6b279d +0 -0
  238. data/spec/dummy/tmp/cache/assets/test/sprockets/83054e22209abf270f4394486dd2629b +0 -0
  239. data/spec/dummy/tmp/cache/assets/test/sprockets/833571bbb8aac2c2d7ead0bb6c360747 +0 -0
  240. data/spec/dummy/tmp/cache/assets/test/sprockets/8546b8d3c7ef5ea3e50ac4a872f661cb +0 -0
  241. data/spec/dummy/tmp/cache/assets/test/sprockets/857ecd2092cee11f740b3cf2e373ad2a +0 -0
  242. data/spec/dummy/tmp/cache/assets/test/sprockets/8636ac646366920af1a3b008b51ceed1 +0 -0
  243. data/spec/dummy/tmp/cache/assets/test/sprockets/870b072c21a14943e77df52a2cda1b73 +0 -0
  244. data/spec/dummy/tmp/cache/assets/test/sprockets/8811d2e446647a23d3edf4b867ad0c02 +0 -0
  245. data/spec/dummy/tmp/cache/assets/test/sprockets/88197c7050fe981f868afc887b2ce0ba +0 -0
  246. data/spec/dummy/tmp/cache/assets/test/sprockets/887d9abab3188ec82c44b8c157617ca7 +0 -0
  247. data/spec/dummy/tmp/cache/assets/test/sprockets/88887cda2e4b689f7b1af350c003d0d2 +0 -0
  248. data/spec/dummy/tmp/cache/assets/test/sprockets/88b9d244297285b4704261b08355377c +0 -0
  249. data/spec/dummy/tmp/cache/assets/test/sprockets/8a7d09231ebe79adabff0fbb009fea25 +0 -0
  250. data/spec/dummy/tmp/cache/assets/test/sprockets/8a88e7d4780f75cec7a24872a705b76b +0 -0
  251. data/spec/dummy/tmp/cache/assets/test/sprockets/8bd0b3620014ec125304f9605c337077 +0 -0
  252. data/spec/dummy/tmp/cache/assets/test/sprockets/8d39cc657ceec60e0d5ea1fa37e5e1a0 +0 -0
  253. data/spec/dummy/tmp/cache/assets/test/sprockets/8f2e727a35967938c7f3368ad0e1fd17 +0 -0
  254. data/spec/dummy/tmp/cache/assets/test/sprockets/9181c05dfda585ad6bf9ddb219eb15a1 +0 -0
  255. data/spec/dummy/tmp/cache/assets/test/sprockets/921e258c04378d5f0ecf0f3ee547195e +0 -0
  256. data/spec/dummy/tmp/cache/assets/test/sprockets/95682c5bcf707ffdac00772b90de8e9d +0 -0
  257. data/spec/dummy/tmp/cache/assets/test/sprockets/963d3f2d23c24941fe0b9c0231b8849d +0 -0
  258. data/spec/dummy/tmp/cache/assets/test/sprockets/99f0365331f36952dca860bcc6e8fd4a +0 -0
  259. data/spec/dummy/tmp/cache/assets/test/sprockets/9b9cde87d5e9f732acdc4fb18077c71d +0 -0
  260. data/spec/dummy/tmp/cache/assets/test/sprockets/9ba436ceb3644f8f052f05eeff94a880 +0 -0
  261. data/spec/dummy/tmp/cache/assets/test/sprockets/9f495611485125fd9772059d732fd3ec +0 -0
  262. data/spec/dummy/tmp/cache/assets/test/sprockets/a6b936ad9b28fb786d3135a007e5d5b8 +0 -0
  263. data/spec/dummy/tmp/cache/assets/test/sprockets/a6eedf5e824ca04685c9da227f406b8f +0 -0
  264. data/spec/dummy/tmp/cache/assets/test/sprockets/a759d4068225951d142110473dd6c8b3 +0 -0
  265. data/spec/dummy/tmp/cache/assets/test/sprockets/aae43c2efd29f832dccb299bfa566e44 +0 -0
  266. data/spec/dummy/tmp/cache/assets/test/sprockets/abafd28d094dec608d1a73ec02e75c34 +0 -0
  267. data/spec/dummy/tmp/cache/assets/test/sprockets/ae3ffb8f5a8c49bb8253a13ef5d1d2a4 +0 -0
  268. data/spec/dummy/tmp/cache/assets/test/sprockets/af888b78046ad78708407984ecb3c8a6 +0 -0
  269. data/spec/dummy/tmp/cache/assets/test/sprockets/b09cd2d5bea8a15151b6022c038dda5c +0 -0
  270. data/spec/dummy/tmp/cache/assets/test/sprockets/b461b3c64042d0c6dbaf73e92275300e +0 -0
  271. data/spec/dummy/tmp/cache/assets/test/sprockets/b4948b52a9f8e7cdd8a77902409545c0 +0 -0
  272. data/spec/dummy/tmp/cache/assets/test/sprockets/c1de6e9cb5f12e4481b52b1cf8d38d31 +0 -0
  273. data/spec/dummy/tmp/cache/assets/test/sprockets/c6698cd7d2263b8d2095648c2ac0fe79 +0 -0
  274. data/spec/dummy/tmp/cache/assets/test/sprockets/c72957ff133a3fd942c3ab9960d1d423 +0 -0
  275. data/spec/dummy/tmp/cache/assets/test/sprockets/c8c8162f2a41f8578ba98c9a1f37e46b +0 -0
  276. data/spec/dummy/tmp/cache/assets/test/sprockets/c962852af3d1e3dc670690c90a7b070e +0 -0
  277. data/spec/dummy/tmp/cache/assets/test/sprockets/ca13fe06919030ff6b989ec199d70a44 +0 -0
  278. data/spec/dummy/tmp/cache/assets/test/sprockets/cb1fc3f2ce1b7f41695e590c097b311b +0 -0
  279. data/spec/dummy/tmp/cache/assets/test/sprockets/cc6dcaa815625d7d4b57e3972e144bda +0 -0
  280. data/spec/dummy/tmp/cache/assets/test/sprockets/ccbc9b9b1eb80fbb7865bc756ce55b87 +0 -0
  281. data/spec/dummy/tmp/cache/assets/test/sprockets/ce5e8cfd00d9fb6c6fde000c5e03662d +0 -0
  282. data/spec/dummy/tmp/cache/assets/test/sprockets/cfc55116cc6269b60cf1be77557f0fa0 +0 -0
  283. data/spec/dummy/tmp/cache/assets/test/sprockets/d295569fa361346a1980638387ef138b +0 -0
  284. data/spec/dummy/tmp/cache/assets/test/sprockets/d46eab415cde36a1cf5eace3991cf63a +0 -0
  285. data/spec/dummy/tmp/cache/assets/test/sprockets/d7e88e6d648deff48df25b735ddc1826 +0 -0
  286. data/spec/dummy/tmp/cache/assets/test/sprockets/db631d9298c9a2f7e02011d47fd3ccca +0 -0
  287. data/spec/dummy/tmp/cache/assets/test/sprockets/e1f04589fe51a214b3d97f4b9d693db2 +0 -0
  288. data/spec/dummy/tmp/cache/assets/test/sprockets/e41a3d9a4ba0bd341c8da19fb9e53cca +0 -0
  289. data/spec/dummy/tmp/cache/assets/test/sprockets/e574af4ac554c85b5795e56916e5264e +0 -0
  290. data/spec/dummy/tmp/cache/assets/test/sprockets/e641d229c53e2926a5ed4ab6ce79eada +0 -0
  291. data/spec/dummy/tmp/cache/assets/test/sprockets/e73b7841ac8e835c29aeb4fc4bf27e40 +0 -0
  292. data/spec/dummy/tmp/cache/assets/test/sprockets/e88a13629d2c3498c801d061a01f6bf1 +0 -0
  293. data/spec/dummy/tmp/cache/assets/test/sprockets/ed9f0de1b65ae8d7ef89087c83728461 +0 -0
  294. data/spec/dummy/tmp/cache/assets/test/sprockets/f0f4cedded536278ec7f580408e6e60f +0 -0
  295. data/spec/dummy/tmp/cache/assets/test/sprockets/f156de297b7d2034db1844f92f4f92ba +0 -0
  296. data/spec/dummy/tmp/cache/assets/test/sprockets/f2f4ef8251bfbaced240dfbd93538a90 +0 -0
  297. data/spec/dummy/tmp/cache/assets/test/sprockets/f655e2d083e4e5fc8b2c6a8064178998 +0 -0
  298. data/spec/dummy/tmp/cache/assets/test/sprockets/f6667183705babbc5a9efea96e26953b +0 -0
  299. data/spec/dummy/tmp/cache/assets/test/sprockets/f669eeb6c0059dbcab647979cad28c4b +0 -0
  300. data/spec/dummy/tmp/cache/assets/test/sprockets/f985e5d99fd0dcf330b2a243b63c71f8 +0 -0
  301. data/spec/dummy/tmp/cache/assets/test/sprockets/fa4cfa52c2f50e31e33e69d54e6694dc +0 -0
  302. data/spec/dummy/tmp/cache/assets/test/sprockets/fb8b186d5bf0307f86f65fc787d2adeb +0 -0
  303. data/spec/dummy/tmp/cache/assets/test/sprockets/fd2f0ae1c70d86cc45823b51d707e220 +0 -0
  304. data/spec/dummy/tmp/cache/assets/test/sprockets/ff328cfd9b51b215b0db24b8bb3c63f4 +0 -0
  305. data/spec/dummy/tmp/capybara/capybara-201406201333154448559003.html +40 -0
  306. data/spec/dummy/tmp/capybara/capybara-201406201334471332489322.html +40 -0
  307. data/spec/dummy/tmp/capybara/capybara-20140620133457504347654.html +40 -0
  308. data/spec/dummy/tmp/capybara/capybara-201406201339146009119774.html +40 -0
  309. data/spec/dummy/tmp/capybara/capybara-201406201435033322913505.html +46 -0
  310. data/spec/dummy/tmp/capybara/capybara-201406201436161732509467.html +13 -0
  311. data/spec/dummy/tmp/capybara/capybara-201406201437066148983056.html +75 -0
  312. data/spec/factories.rb +7 -0
  313. data/spec/features/post_jcrop_feature_spec.rb +15 -0
  314. data/spec/images/example.jpeg +0 -0
  315. data/spec/spec_helper.rb +112 -0
  316. data/spec/support/active_record.rb +12 -0
  317. data/spec/support/carrierwave.rb +23 -0
  318. data/spec/support/uploads/post/image/7/example.jpeg +0 -0
  319. data/spec/support/uploads/post/image/7/thumb_example.jpeg +0 -0
  320. data/vendor/assets/images/active_admin_jcrop/Jcrop.gif +0 -0
  321. data/vendor/assets/javascripts/active_admin_jcrop/jquery.Jcrop.js +1699 -0
  322. data/vendor/assets/javascripts/active_admin_jcrop/jquery.Jcrop.min.js +22 -0
  323. data/vendor/assets/javascripts/active_admin_jcrop/jquery.color.js +661 -0
  324. data/vendor/assets/stylesheets/active_admin_jcrop/Jcrop.gif +0 -0
  325. data/vendor/assets/stylesheets/active_admin_jcrop/jquery.Jcrop.css +165 -0
  326. data/vendor/assets/stylesheets/active_admin_jcrop/jquery.Jcrop.min.css +29 -0
  327. metadata +718 -391
  328. data/test/active_admin_jcrop_test.rb +0 -7
  329. data/test/dummy/app/admin/admin_user.rb +0 -28
  330. data/test/dummy/app/models/admin_user.rb +0 -6
  331. data/test/dummy/config/initializers/devise.rb +0 -256
  332. data/test/dummy/public/uploads/post/image/1/thumb_caminhao.jpeg +0 -0
  333. data/test/dummy/test/fixtures/admin_users.yml +0 -11
  334. data/test/dummy/test/fixtures/posts.yml +0 -9
  335. data/test/dummy/test/models/admin_user_test.rb +0 -7
  336. data/test/dummy/test/models/post_test.rb +0 -7
  337. data/test/test_helper.rb +0 -15
@@ -0,0 +1,22 @@
1
+ /**
2
+ * jquery.Jcrop.min.js v0.9.12 (build:20130202)
3
+ * jQuery Image Cropping Plugin - released under MIT License
4
+ * Copyright (c) 2008-2013 Tapmodo Interactive LLC
5
+ * https://github.com/tapmodo/Jcrop
6
+ */
7
+ (function(a){a.Jcrop=function(b,c){function i(a){return Math.round(a)+"px"}function j(a){return d.baseClass+"-"+a}function k(){return a.fx.step.hasOwnProperty("backgroundColor")}function l(b){var c=a(b).offset();return[c.left,c.top]}function m(a){return[a.pageX-e[0],a.pageY-e[1]]}function n(b){typeof b!="object"&&(b={}),d=a.extend(d,b),a.each(["onChange","onSelect","onRelease","onDblClick"],function(a,b){typeof d[b]!="function"&&(d[b]=function(){})})}function o(a,b,c){e=l(D),bc.setCursor(a==="move"?a:a+"-resize");if(a==="move")return bc.activateHandlers(q(b),v,c);var d=_.getFixed(),f=r(a),g=_.getCorner(r(f));_.setPressed(_.getCorner(f)),_.setCurrent(g),bc.activateHandlers(p(a,d),v,c)}function p(a,b){return function(c){if(!d.aspectRatio)switch(a){case"e":c[1]=b.y2;break;case"w":c[1]=b.y2;break;case"n":c[0]=b.x2;break;case"s":c[0]=b.x2}else switch(a){case"e":c[1]=b.y+1;break;case"w":c[1]=b.y+1;break;case"n":c[0]=b.x+1;break;case"s":c[0]=b.x+1}_.setCurrent(c),bb.update()}}function q(a){var b=a;return bd.watchKeys
8
+ (),function(a){_.moveOffset([a[0]-b[0],a[1]-b[1]]),b=a,bb.update()}}function r(a){switch(a){case"n":return"sw";case"s":return"nw";case"e":return"nw";case"w":return"ne";case"ne":return"sw";case"nw":return"se";case"se":return"nw";case"sw":return"ne"}}function s(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=l(D),W=!0,o(a,m(b)),b.stopPropagation(),b.preventDefault(),!1)}}function t(a,b,c){var d=a.width(),e=a.height();d>b&&b>0&&(d=b,e=b/a.width()*a.height()),e>c&&c>0&&(e=c,d=c/a.height()*a.width()),T=a.width()/d,U=a.height()/e,a.width(d).height(e)}function u(a){return{x:a.x*T,y:a.y*U,x2:a.x2*T,y2:a.y2*U,w:a.w*T,h:a.h*U}}function v(a){var b=_.getFixed();b.w>d.minSelect[0]&&b.h>d.minSelect[1]?(bb.enableHandles(),bb.done()):bb.release(),bc.setCursor(d.allowSelect?"crosshair":"default")}function w(a){if(d.disabled)return!1;if(!d.allowSelect)return!1;W=!0,e=l(D),bb.disableHandles(),bc.setCursor("crosshair");var b=m(a);return _.setPressed(b),bb.update(),bc.activateHandlers(x,v,a.type.substring
9
+ (0,5)==="touch"),bd.watchKeys(),a.stopPropagation(),a.preventDefault(),!1}function x(a){_.setCurrent(a),bb.update()}function y(){var b=a("<div></div>").addClass(j("tracker"));return g&&b.css({opacity:0,backgroundColor:"white"}),b}function be(a){G.removeClass().addClass(j("holder")).addClass(a)}function bf(a,b){function t(){window.setTimeout(u,l)}var c=a[0]/T,e=a[1]/U,f=a[2]/T,g=a[3]/U;if(X)return;var h=_.flipCoords(c,e,f,g),i=_.getFixed(),j=[i.x,i.y,i.x2,i.y2],k=j,l=d.animationDelay,m=h[0]-j[0],n=h[1]-j[1],o=h[2]-j[2],p=h[3]-j[3],q=0,r=d.swingSpeed;c=k[0],e=k[1],f=k[2],g=k[3],bb.animMode(!0);var s,u=function(){return function(){q+=(100-q)/r,k[0]=Math.round(c+q/100*m),k[1]=Math.round(e+q/100*n),k[2]=Math.round(f+q/100*o),k[3]=Math.round(g+q/100*p),q>=99.8&&(q=100),q<100?(bh(k),t()):(bb.done(),bb.animMode(!1),typeof b=="function"&&b.call(bs))}}();t()}function bg(a){bh([a[0]/T,a[1]/U,a[2]/T,a[3]/U]),d.onSelect.call(bs,u(_.getFixed())),bb.enableHandles()}function bh(a){_.setPressed([a[0],a[1]]),_.setCurrent([a[2],
10
+ a[3]]),bb.update()}function bi(){return u(_.getFixed())}function bj(){return _.getFixed()}function bk(a){n(a),br()}function bl(){d.disabled=!0,bb.disableHandles(),bb.setCursor("default"),bc.setCursor("default")}function bm(){d.disabled=!1,br()}function bn(){bb.done(),bc.activateHandlers(null,null)}function bo(){G.remove(),A.show(),A.css("visibility","visible"),a(b).removeData("Jcrop")}function bp(a,b){bb.release(),bl();var c=new Image;c.onload=function(){var e=c.width,f=c.height,g=d.boxWidth,h=d.boxHeight;D.width(e).height(f),D.attr("src",a),H.attr("src",a),t(D,g,h),E=D.width(),F=D.height(),H.width(E).height(F),M.width(E+L*2).height(F+L*2),G.width(E).height(F),ba.resize(E,F),bm(),typeof b=="function"&&b.call(bs)},c.src=a}function bq(a,b,c){var e=b||d.bgColor;d.bgFade&&k()&&d.fadeTime&&!c?a.animate({backgroundColor:e},{queue:!1,duration:d.fadeTime}):a.css("backgroundColor",e)}function br(a){d.allowResize?a?bb.enableOnly():bb.enableHandles():bb.disableHandles(),bc.setCursor(d.allowSelect?"crosshair":"default"),bb
11
+ .setCursor(d.allowMove?"move":"default"),d.hasOwnProperty("trueSize")&&(T=d.trueSize[0]/E,U=d.trueSize[1]/F),d.hasOwnProperty("setSelect")&&(bg(d.setSelect),bb.done(),delete d.setSelect),ba.refresh(),d.bgColor!=N&&(bq(d.shade?ba.getShades():G,d.shade?d.shadeColor||d.bgColor:d.bgColor),N=d.bgColor),O!=d.bgOpacity&&(O=d.bgOpacity,d.shade?ba.refresh():bb.setBgOpacity(O)),P=d.maxSize[0]||0,Q=d.maxSize[1]||0,R=d.minSize[0]||0,S=d.minSize[1]||0,d.hasOwnProperty("outerImage")&&(D.attr("src",d.outerImage),delete d.outerImage),bb.refresh()}var d=a.extend({},a.Jcrop.defaults),e,f=navigator.userAgent.toLowerCase(),g=/msie/.test(f),h=/msie [1-6]\./.test(f);typeof b!="object"&&(b=a(b)[0]),typeof c!="object"&&(c={}),n(c);var z={border:"none",visibility:"visible",margin:0,padding:0,position:"absolute",top:0,left:0},A=a(b),B=!0;if(b.tagName=="IMG"){if(A[0].width!=0&&A[0].height!=0)A.width(A[0].width),A.height(A[0].height);else{var C=new Image;C.src=A[0].src,A.width(C.width),A.height(C.height)}var D=A.clone().removeAttr("id").
12
+ css(z).show();D.width(A.width()),D.height(A.height()),A.after(D).hide()}else D=A.css(z).show(),B=!1,d.shade===null&&(d.shade=!0);t(D,d.boxWidth,d.boxHeight);var E=D.width(),F=D.height(),G=a("<div />").width(E).height(F).addClass(j("holder")).css({position:"relative",backgroundColor:d.bgColor}).insertAfter(A).append(D);d.addClass&&G.addClass(d.addClass);var H=a("<div />"),I=a("<div />").width("100%").height("100%").css({zIndex:310,position:"absolute",overflow:"hidden"}),J=a("<div />").width("100%").height("100%").css("zIndex",320),K=a("<div />").css({position:"absolute",zIndex:600}).dblclick(function(){var a=_.getFixed();d.onDblClick.call(bs,a)}).insertBefore(D).append(I,J);B&&(H=a("<img />").attr("src",D.attr("src")).css(z).width(E).height(F),I.append(H)),h&&K.css({overflowY:"hidden"});var L=d.boundary,M=y().width(E+L*2).height(F+L*2).css({position:"absolute",top:i(-L),left:i(-L),zIndex:290}).mousedown(w),N=d.bgColor,O=d.bgOpacity,P,Q,R,S,T,U,V=!0,W,X,Y;e=l(D);var Z=function(){function a(){var a={},b=["touchstart"
13
+ ,"touchmove","touchend"],c=document.createElement("div"),d;try{for(d=0;d<b.length;d++){var e=b[d];e="on"+e;var f=e in c;f||(c.setAttribute(e,"return;"),f=typeof c[e]=="function"),a[b[d]]=f}return a.touchstart&&a.touchend&&a.touchmove}catch(g){return!1}}function b(){return d.touchSupport===!0||d.touchSupport===!1?d.touchSupport:a()}return{createDragger:function(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=l(D),W=!0,o(a,m(Z.cfilter(b)),!0),b.stopPropagation(),b.preventDefault(),!1)}},newSelection:function(a){return w(Z.cfilter(a))},cfilter:function(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,a},isSupported:a,support:b()}}(),_=function(){function h(d){d=n(d),c=a=d[0],e=b=d[1]}function i(a){a=n(a),f=a[0]-c,g=a[1]-e,c=a[0],e=a[1]}function j(){return[f,g]}function k(d){var f=d[0],g=d[1];0>a+f&&(f-=f+a),0>b+g&&(g-=g+b),F<e+g&&(g+=F-(e+g)),E<c+f&&(f+=E-(c+f)),a+=f,c+=f,b+=g,e+=g}function l(a){var b=m();switch(a){case"ne":return[
14
+ b.x2,b.y];case"nw":return[b.x,b.y];case"se":return[b.x2,b.y2];case"sw":return[b.x,b.y2]}}function m(){if(!d.aspectRatio)return p();var f=d.aspectRatio,g=d.minSize[0]/T,h=d.maxSize[0]/T,i=d.maxSize[1]/U,j=c-a,k=e-b,l=Math.abs(j),m=Math.abs(k),n=l/m,r,s,t,u;return h===0&&(h=E*10),i===0&&(i=F*10),n<f?(s=e,t=m*f,r=j<0?a-t:t+a,r<0?(r=0,u=Math.abs((r-a)/f),s=k<0?b-u:u+b):r>E&&(r=E,u=Math.abs((r-a)/f),s=k<0?b-u:u+b)):(r=c,u=l/f,s=k<0?b-u:b+u,s<0?(s=0,t=Math.abs((s-b)*f),r=j<0?a-t:t+a):s>F&&(s=F,t=Math.abs(s-b)*f,r=j<0?a-t:t+a)),r>a?(r-a<g?r=a+g:r-a>h&&(r=a+h),s>b?s=b+(r-a)/f:s=b-(r-a)/f):r<a&&(a-r<g?r=a-g:a-r>h&&(r=a-h),s>b?s=b+(a-r)/f:s=b-(a-r)/f),r<0?(a-=r,r=0):r>E&&(a-=r-E,r=E),s<0?(b-=s,s=0):s>F&&(b-=s-F,s=F),q(o(a,b,r,s))}function n(a){return a[0]<0&&(a[0]=0),a[1]<0&&(a[1]=0),a[0]>E&&(a[0]=E),a[1]>F&&(a[1]=F),[Math.round(a[0]),Math.round(a[1])]}function o(a,b,c,d){var e=a,f=c,g=b,h=d;return c<a&&(e=c,f=a),d<b&&(g=d,h=b),[e,g,f,h]}function p(){var d=c-a,f=e-b,g;return P&&Math.abs(d)>P&&(c=d>0?a+P:a-P),Q&&Math.abs
15
+ (f)>Q&&(e=f>0?b+Q:b-Q),S/U&&Math.abs(f)<S/U&&(e=f>0?b+S/U:b-S/U),R/T&&Math.abs(d)<R/T&&(c=d>0?a+R/T:a-R/T),a<0&&(c-=a,a-=a),b<0&&(e-=b,b-=b),c<0&&(a-=c,c-=c),e<0&&(b-=e,e-=e),c>E&&(g=c-E,a-=g,c-=g),e>F&&(g=e-F,b-=g,e-=g),a>E&&(g=a-F,e-=g,b-=g),b>F&&(g=b-F,e-=g,b-=g),q(o(a,b,c,e))}function q(a){return{x:a[0],y:a[1],x2:a[2],y2:a[3],w:a[2]-a[0],h:a[3]-a[1]}}var a=0,b=0,c=0,e=0,f,g;return{flipCoords:o,setPressed:h,setCurrent:i,getOffset:j,moveOffset:k,getCorner:l,getFixed:m}}(),ba=function(){function f(a,b){e.left.css({height:i(b)}),e.right.css({height:i(b)})}function g(){return h(_.getFixed())}function h(a){e.top.css({left:i(a.x),width:i(a.w),height:i(a.y)}),e.bottom.css({top:i(a.y2),left:i(a.x),width:i(a.w),height:i(F-a.y2)}),e.right.css({left:i(a.x2),width:i(E-a.x2)}),e.left.css({width:i(a.x)})}function j(){return a("<div />").css({position:"absolute",backgroundColor:d.shadeColor||d.bgColor}).appendTo(c)}function k(){b||(b=!0,c.insertBefore(D),g(),bb.setBgOpacity(1,0,1),H.hide(),l(d.shadeColor||d.bgColor,1),bb.
16
+ isAwake()?n(d.bgOpacity,1):n(1,1))}function l(a,b){bq(p(),a,b)}function m(){b&&(c.remove(),H.show(),b=!1,bb.isAwake()?bb.setBgOpacity(d.bgOpacity,1,1):(bb.setBgOpacity(1,1,1),bb.disableHandles()),bq(G,0,1))}function n(a,e){b&&(d.bgFade&&!e?c.animate({opacity:1-a},{queue:!1,duration:d.fadeTime}):c.css({opacity:1-a}))}function o(){d.shade?k():m(),bb.isAwake()&&n(d.bgOpacity)}function p(){return c.children()}var b=!1,c=a("<div />").css({position:"absolute",zIndex:240,opacity:0}),e={top:j(),left:j().height(F),right:j().height(F),bottom:j()};return{update:g,updateRaw:h,getShades:p,setBgColor:l,enable:k,disable:m,resize:f,refresh:o,opacity:n}}(),bb=function(){function k(b){var c=a("<div />").css({position:"absolute",opacity:d.borderOpacity}).addClass(j(b));return I.append(c),c}function l(b,c){var d=a("<div />").mousedown(s(b)).css({cursor:b+"-resize",position:"absolute",zIndex:c}).addClass("ord-"+b);return Z.support&&d.bind("touchstart.jcrop",Z.createDragger(b)),J.append(d),d}function m(a){var b=d.handleSize,e=l(a,c++
17
+ ).css({opacity:d.handleOpacity}).addClass(j("handle"));return b&&e.width(b).height(b),e}function n(a){return l(a,c++).addClass("jcrop-dragbar")}function o(a){var b;for(b=0;b<a.length;b++)g[a[b]]=n(a[b])}function p(a){var b,c;for(c=0;c<a.length;c++){switch(a[c]){case"n":b="hline";break;case"s":b="hline bottom";break;case"e":b="vline right";break;case"w":b="vline"}e[a[c]]=k(b)}}function q(a){var b;for(b=0;b<a.length;b++)f[a[b]]=m(a[b])}function r(a,b){d.shade||H.css({top:i(-b),left:i(-a)}),K.css({top:i(b),left:i(a)})}function t(a,b){K.width(Math.round(a)).height(Math.round(b))}function v(){var a=_.getFixed();_.setPressed([a.x,a.y]),_.setCurrent([a.x2,a.y2]),w()}function w(a){if(b)return x(a)}function x(a){var c=_.getFixed();t(c.w,c.h),r(c.x,c.y),d.shade&&ba.updateRaw(c),b||A(),a?d.onSelect.call(bs,u(c)):d.onChange.call(bs,u(c))}function z(a,c,e){if(!b&&!c)return;d.bgFade&&!e?D.animate({opacity:a},{queue:!1,duration:d.fadeTime}):D.css("opacity",a)}function A(){K.show(),d.shade?ba.opacity(O):z(O,!0),b=!0}function B
18
+ (){F(),K.hide(),d.shade?ba.opacity(1):z(1),b=!1,d.onRelease.call(bs)}function C(){h&&J.show()}function E(){h=!0;if(d.allowResize)return J.show(),!0}function F(){h=!1,J.hide()}function G(a){a?(X=!0,F()):(X=!1,E())}function L(){G(!1),v()}var b,c=370,e={},f={},g={},h=!1;d.dragEdges&&a.isArray(d.createDragbars)&&o(d.createDragbars),a.isArray(d.createHandles)&&q(d.createHandles),d.drawBorders&&a.isArray(d.createBorders)&&p(d.createBorders),a(document).bind("touchstart.jcrop-ios",function(b){a(b.currentTarget).hasClass("jcrop-tracker")&&b.stopPropagation()});var M=y().mousedown(s("move")).css({cursor:"move",position:"absolute",zIndex:360});return Z.support&&M.bind("touchstart.jcrop",Z.createDragger("move")),I.append(M),F(),{updateVisible:w,update:x,release:B,refresh:v,isAwake:function(){return b},setCursor:function(a){M.css("cursor",a)},enableHandles:E,enableOnly:function(){h=!0},showHandles:C,disableHandles:F,animMode:G,setBgOpacity:z,done:L}}(),bc=function(){function f(b){M.css({zIndex:450}),b?a(document).bind("touchmove.jcrop"
19
+ ,k).bind("touchend.jcrop",l):e&&a(document).bind("mousemove.jcrop",h).bind("mouseup.jcrop",i)}function g(){M.css({zIndex:290}),a(document).unbind(".jcrop")}function h(a){return b(m(a)),!1}function i(a){return a.preventDefault(),a.stopPropagation(),W&&(W=!1,c(m(a)),bb.isAwake()&&d.onSelect.call(bs,u(_.getFixed())),g(),b=function(){},c=function(){}),!1}function j(a,d,e){return W=!0,b=a,c=d,f(e),!1}function k(a){return b(m(Z.cfilter(a))),!1}function l(a){return i(Z.cfilter(a))}function n(a){M.css("cursor",a)}var b=function(){},c=function(){},e=d.trackDocument;return e||M.mousemove(h).mouseup(i).mouseout(i),D.before(M),{activateHandlers:j,setCursor:n}}(),bd=function(){function e(){d.keySupport&&(b.show(),b.focus())}function f(a){b.hide()}function g(a,b,c){d.allowMove&&(_.moveOffset([b,c]),bb.updateVisible(!0)),a.preventDefault(),a.stopPropagation()}function i(a){if(a.ctrlKey||a.metaKey)return!0;Y=a.shiftKey?!0:!1;var b=Y?10:1;switch(a.keyCode){case 37:g(a,-b,0);break;case 39:g(a,b,0);break;case 38:g(a,0,-b);break;
20
+ case 40:g(a,0,b);break;case 27:d.allowSelect&&bb.release();break;case 9:return!0}return!1}var b=a('<input type="radio" />').css({position:"fixed",left:"-120px",width:"12px"}).addClass("jcrop-keymgr"),c=a("<div />").css({position:"absolute",overflow:"hidden"}).append(b);return d.keySupport&&(b.keydown(i).blur(f),h||!d.fixedSupport?(b.css({position:"absolute",left:"-20px"}),c.append(b).insertBefore(D)):b.insertBefore(D)),{watchKeys:e}}();Z.support&&M.bind("touchstart.jcrop",Z.newSelection),J.hide(),br(!0);var bs={setImage:bp,animateTo:bf,setSelect:bg,setOptions:bk,tellSelect:bi,tellScaled:bj,setClass:be,disable:bl,enable:bm,cancel:bn,release:bb.release,destroy:bo,focus:bd.watchKeys,getBounds:function(){return[E*T,F*U]},getWidgetSize:function(){return[E,F]},getScaleFactor:function(){return[T,U]},getOptions:function(){return d},ui:{holder:G,selection:K}};return g&&G.bind("selectstart",function(){return!1}),A.data("Jcrop",bs),bs},a.fn.Jcrop=function(b,c){var d;return this.each(function(){if(a(this).data("Jcrop")){if(
21
+ b==="api")return a(this).data("Jcrop");a(this).data("Jcrop").setOptions(b)}else this.tagName=="IMG"?a.Jcrop.Loader(this,function(){a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d)}):(a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d))}),this},a.Jcrop.Loader=function(b,c,d){function g(){f.complete?(e.unbind(".jcloader"),a.isFunction(c)&&c.call(f)):window.setTimeout(g,50)}var e=a(b),f=e[0];e.bind("load.jcloader",g).bind("error.jcloader",function(b){e.unbind(".jcloader"),a.isFunction(d)&&d.call(f)}),f.complete&&a.isFunction(c)&&(e.unbind(".jcloader"),c.call(f))},a.Jcrop.defaults={allowSelect:!0,allowMove:!0,allowResize:!0,trackDocument:!0,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,bgFade:!1,borderOpacity:.4,handleOpacity:.5,handleSize:null,aspectRatio:0,keySupport:!0,createHandles:["n","s","e","w","nw","ne","se","sw"],createDragbars:["n","s","e","w"],createBorders:["n","s","e","w"],drawBorders:!0,dragEdges
22
+ :!0,fixedSupport:!0,touchSupport:null,shade:null,boxWidth:0,boxHeight:0,boundary:2,fadeTime:400,animationDelay:20,swingSpeed:3,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){},onDblClick:function(){},onRelease:function(){}}})(jQuery);
@@ -0,0 +1,661 @@
1
+ /*!
2
+ * jQuery Color Animations v2.0pre
3
+ * http://jquery.org/
4
+ *
5
+ * Copyright 2011 John Resig
6
+ * Dual licensed under the MIT or GPL Version 2 licenses.
7
+ * http://jquery.org/license
8
+ */
9
+
10
+ (function( jQuery, undefined ){
11
+ var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color outlineColor".split(" "),
12
+
13
+ // plusequals test for += 100 -= 100
14
+ rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
15
+ // a set of RE's that can match strings and generate color tuples.
16
+ stringParsers = [{
17
+ re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
18
+ parse: function( execResult ) {
19
+ return [
20
+ execResult[ 1 ],
21
+ execResult[ 2 ],
22
+ execResult[ 3 ],
23
+ execResult[ 4 ]
24
+ ];
25
+ }
26
+ }, {
27
+ re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
28
+ parse: function( execResult ) {
29
+ return [
30
+ 2.55 * execResult[1],
31
+ 2.55 * execResult[2],
32
+ 2.55 * execResult[3],
33
+ execResult[ 4 ]
34
+ ];
35
+ }
36
+ }, {
37
+ re: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,
38
+ parse: function( execResult ) {
39
+ return [
40
+ parseInt( execResult[ 1 ], 16 ),
41
+ parseInt( execResult[ 2 ], 16 ),
42
+ parseInt( execResult[ 3 ], 16 )
43
+ ];
44
+ }
45
+ }, {
46
+ re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,
47
+ parse: function( execResult ) {
48
+ return [
49
+ parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
50
+ parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
51
+ parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
52
+ ];
53
+ }
54
+ }, {
55
+ re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
56
+ space: "hsla",
57
+ parse: function( execResult ) {
58
+ return [
59
+ execResult[1],
60
+ execResult[2] / 100,
61
+ execResult[3] / 100,
62
+ execResult[4]
63
+ ];
64
+ }
65
+ }],
66
+
67
+ // jQuery.Color( )
68
+ color = jQuery.Color = function( color, green, blue, alpha ) {
69
+ return new jQuery.Color.fn.parse( color, green, blue, alpha );
70
+ },
71
+ spaces = {
72
+ rgba: {
73
+ cache: "_rgba",
74
+ props: {
75
+ red: {
76
+ idx: 0,
77
+ type: "byte",
78
+ empty: true
79
+ },
80
+ green: {
81
+ idx: 1,
82
+ type: "byte",
83
+ empty: true
84
+ },
85
+ blue: {
86
+ idx: 2,
87
+ type: "byte",
88
+ empty: true
89
+ },
90
+ alpha: {
91
+ idx: 3,
92
+ type: "percent",
93
+ def: 1
94
+ }
95
+ }
96
+ },
97
+ hsla: {
98
+ cache: "_hsla",
99
+ props: {
100
+ hue: {
101
+ idx: 0,
102
+ type: "degrees",
103
+ empty: true
104
+ },
105
+ saturation: {
106
+ idx: 1,
107
+ type: "percent",
108
+ empty: true
109
+ },
110
+ lightness: {
111
+ idx: 2,
112
+ type: "percent",
113
+ empty: true
114
+ }
115
+ }
116
+ }
117
+ },
118
+ propTypes = {
119
+ "byte": {
120
+ floor: true,
121
+ min: 0,
122
+ max: 255
123
+ },
124
+ "percent": {
125
+ min: 0,
126
+ max: 1
127
+ },
128
+ "degrees": {
129
+ mod: 360,
130
+ floor: true
131
+ }
132
+ },
133
+ rgbaspace = spaces.rgba.props,
134
+ support = color.support = {},
135
+
136
+ // colors = jQuery.Color.names
137
+ colors,
138
+
139
+ // local aliases of functions called often
140
+ each = jQuery.each;
141
+
142
+ spaces.hsla.props.alpha = rgbaspace.alpha;
143
+
144
+ function clamp( value, prop, alwaysAllowEmpty ) {
145
+ var type = propTypes[ prop.type ] || {},
146
+ allowEmpty = prop.empty || alwaysAllowEmpty;
147
+
148
+ if ( allowEmpty && value == null ) {
149
+ return null;
150
+ }
151
+ if ( prop.def && value == null ) {
152
+ return prop.def;
153
+ }
154
+ if ( type.floor ) {
155
+ value = ~~value;
156
+ } else {
157
+ value = parseFloat( value );
158
+ }
159
+ if ( value == null || isNaN( value ) ) {
160
+ return prop.def;
161
+ }
162
+ if ( type.mod ) {
163
+ value = value % type.mod;
164
+ // -10 -> 350
165
+ return value < 0 ? type.mod + value : value;
166
+ }
167
+
168
+ // for now all property types without mod have min and max
169
+ return type.min > value ? type.min : type.max < value ? type.max : value;
170
+ }
171
+
172
+ function stringParse( string ) {
173
+ var inst = color(),
174
+ rgba = inst._rgba = [];
175
+
176
+ string = string.toLowerCase();
177
+
178
+ each( stringParsers, function( i, parser ) {
179
+ var match = parser.re.exec( string ),
180
+ values = match && parser.parse( match ),
181
+ parsed,
182
+ spaceName = parser.space || "rgba",
183
+ cache = spaces[ spaceName ].cache;
184
+
185
+
186
+ if ( values ) {
187
+ parsed = inst[ spaceName ]( values );
188
+
189
+ // if this was an rgba parse the assignment might happen twice
190
+ // oh well....
191
+ inst[ cache ] = parsed[ cache ];
192
+ rgba = inst._rgba = parsed._rgba;
193
+
194
+ // exit each( stringParsers ) here because we matched
195
+ return false;
196
+ }
197
+ });
198
+
199
+ // Found a stringParser that handled it
200
+ if ( rgba.length !== 0 ) {
201
+
202
+ // if this came from a parsed string, force "transparent" when alpha is 0
203
+ // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
204
+ if ( Math.max.apply( Math, rgba ) === 0 ) {
205
+ jQuery.extend( rgba, colors.transparent );
206
+ }
207
+ return inst;
208
+ }
209
+
210
+ // named colors / default - filter back through parse function
211
+ if ( string = colors[ string ] ) {
212
+ return string;
213
+ }
214
+ }
215
+
216
+ color.fn = color.prototype = {
217
+ constructor: color,
218
+ parse: function( red, green, blue, alpha ) {
219
+ if ( red === undefined ) {
220
+ this._rgba = [ null, null, null, null ];
221
+ return this;
222
+ }
223
+ if ( red instanceof jQuery || red.nodeType ) {
224
+ red = red instanceof jQuery ? red.css( green ) : jQuery( red ).css( green );
225
+ green = undefined;
226
+ }
227
+
228
+ var inst = this,
229
+ type = jQuery.type( red ),
230
+ rgba = this._rgba = [],
231
+ source;
232
+
233
+ // more than 1 argument specified - assume ( red, green, blue, alpha )
234
+ if ( green !== undefined ) {
235
+ red = [ red, green, blue, alpha ];
236
+ type = "array";
237
+ }
238
+
239
+ if ( type === "string" ) {
240
+ return this.parse( stringParse( red ) || colors._default );
241
+ }
242
+
243
+ if ( type === "array" ) {
244
+ each( rgbaspace, function( key, prop ) {
245
+ rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
246
+ });
247
+ return this;
248
+ }
249
+
250
+ if ( type === "object" ) {
251
+ if ( red instanceof color ) {
252
+ each( spaces, function( spaceName, space ) {
253
+ if ( red[ space.cache ] ) {
254
+ inst[ space.cache ] = red[ space.cache ].slice();
255
+ }
256
+ });
257
+ } else {
258
+ each( spaces, function( spaceName, space ) {
259
+ each( space.props, function( key, prop ) {
260
+ var cache = space.cache;
261
+
262
+ // if the cache doesn't exist, and we know how to convert
263
+ if ( !inst[ cache ] && space.to ) {
264
+
265
+ // if the value was null, we don't need to copy it
266
+ // if the key was alpha, we don't need to copy it either
267
+ if ( red[ key ] == null || key === "alpha") {
268
+ return;
269
+ }
270
+ inst[ cache ] = space.to( inst._rgba );
271
+ }
272
+
273
+ // this is the only case where we allow nulls for ALL properties.
274
+ // call clamp with alwaysAllowEmpty
275
+ inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
276
+ });
277
+ });
278
+ }
279
+ return this;
280
+ }
281
+ },
282
+ is: function( compare ) {
283
+ var is = color( compare ),
284
+ same = true,
285
+ myself = this;
286
+
287
+ each( spaces, function( _, space ) {
288
+ var isCache = is[ space.cache ],
289
+ localCache;
290
+ if (isCache) {
291
+ localCache = myself[ space.cache ] || space.to && space.to( myself._rgba ) || [];
292
+ each( space.props, function( _, prop ) {
293
+ if ( isCache[ prop.idx ] != null ) {
294
+ same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
295
+ return same;
296
+ }
297
+ });
298
+ }
299
+ return same;
300
+ });
301
+ return same;
302
+ },
303
+ _space: function() {
304
+ var used = [],
305
+ inst = this;
306
+ each( spaces, function( spaceName, space ) {
307
+ if ( inst[ space.cache ] ) {
308
+ used.push( spaceName );
309
+ }
310
+ });
311
+ return used.pop();
312
+ },
313
+ transition: function( other, distance ) {
314
+ var end = color( other ),
315
+ spaceName = end._space(),
316
+ space = spaces[ spaceName ],
317
+ start = this[ space.cache ] || space.to( this._rgba ),
318
+ result = start.slice();
319
+
320
+ end = end[ space.cache ];
321
+ each( space.props, function( key, prop ) {
322
+ var index = prop.idx,
323
+ startValue = start[ index ],
324
+ endValue = end[ index ],
325
+ type = propTypes[ prop.type ] || {};
326
+
327
+ // if null, don't override start value
328
+ if ( endValue === null ) {
329
+ return;
330
+ }
331
+ // if null - use end
332
+ if ( startValue === null ) {
333
+ result[ index ] = endValue;
334
+ } else {
335
+ if ( type.mod ) {
336
+ if ( endValue - startValue > type.mod / 2 ) {
337
+ startValue += type.mod;
338
+ } else if ( startValue - endValue > type.mod / 2 ) {
339
+ startValue -= type.mod;
340
+ }
341
+ }
342
+ result[ prop.idx ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
343
+ }
344
+ });
345
+ return this[ spaceName ]( result );
346
+ },
347
+ blend: function( opaque ) {
348
+ // if we are already opaque - return ourself
349
+ if ( this._rgba[ 3 ] === 1 ) {
350
+ return this;
351
+ }
352
+
353
+ var rgb = this._rgba.slice(),
354
+ a = rgb.pop(),
355
+ blend = color( opaque )._rgba;
356
+
357
+ return color( jQuery.map( rgb, function( v, i ) {
358
+ return ( 1 - a ) * blend[ i ] + a * v;
359
+ }));
360
+ },
361
+ toRgbaString: function() {
362
+ var prefix = "rgba(",
363
+ rgba = jQuery.map( this._rgba, function( v, i ) {
364
+ return v == null ? ( i > 2 ? 1 : 0 ) : v;
365
+ });
366
+
367
+ if ( rgba[ 3 ] === 1 ) {
368
+ rgba.pop();
369
+ prefix = "rgb(";
370
+ }
371
+
372
+ return prefix + rgba.join(",") + ")";
373
+ },
374
+ toHslaString: function() {
375
+ var prefix = "hsla(",
376
+ hsla = jQuery.map( this.hsla(), function( v, i ) {
377
+ if ( v == null ) {
378
+ v = i > 2 ? 1 : 0;
379
+ }
380
+
381
+ // catch 1 and 2
382
+ if ( i && i < 3 ) {
383
+ v = Math.round( v * 100 ) + "%";
384
+ }
385
+ return v;
386
+ });
387
+
388
+ if ( hsla[ 3 ] === 1 ) {
389
+ hsla.pop();
390
+ prefix = "hsl(";
391
+ }
392
+ return prefix + hsla.join(",") + ")";
393
+ },
394
+ toHexString: function( includeAlpha ) {
395
+ var rgba = this._rgba.slice(),
396
+ alpha = rgba.pop();
397
+
398
+ if ( includeAlpha ) {
399
+ rgba.push( ~~( alpha * 255 ) );
400
+ }
401
+
402
+ return "#" + jQuery.map( rgba, function( v, i ) {
403
+
404
+ // default to 0 when nulls exist
405
+ v = ( v || 0 ).toString( 16 );
406
+ return v.length === 1 ? "0" + v : v;
407
+ }).join("");
408
+ },
409
+ toString: function() {
410
+ return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
411
+ }
412
+ };
413
+ color.fn.parse.prototype = color.fn;
414
+
415
+ // hsla conversions adapted from:
416
+ // http://www.google.com/codesearch/p#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/inspector/front-end/Color.js&d=7&l=193
417
+
418
+ function hue2rgb( p, q, h ) {
419
+ h = ( h + 1 ) % 1;
420
+ if ( h * 6 < 1 ) {
421
+ return p + (q - p) * 6 * h;
422
+ }
423
+ if ( h * 2 < 1) {
424
+ return q;
425
+ }
426
+ if ( h * 3 < 2 ) {
427
+ return p + (q - p) * ((2/3) - h) * 6;
428
+ }
429
+ return p;
430
+ }
431
+
432
+ spaces.hsla.to = function ( rgba ) {
433
+ if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
434
+ return [ null, null, null, rgba[ 3 ] ];
435
+ }
436
+ var r = rgba[ 0 ] / 255,
437
+ g = rgba[ 1 ] / 255,
438
+ b = rgba[ 2 ] / 255,
439
+ a = rgba[ 3 ],
440
+ max = Math.max( r, g, b ),
441
+ min = Math.min( r, g, b ),
442
+ diff = max - min,
443
+ add = max + min,
444
+ l = add * 0.5,
445
+ h, s;
446
+
447
+ if ( min === max ) {
448
+ h = 0;
449
+ } else if ( r === max ) {
450
+ h = ( 60 * ( g - b ) / diff ) + 360;
451
+ } else if ( g === max ) {
452
+ h = ( 60 * ( b - r ) / diff ) + 120;
453
+ } else {
454
+ h = ( 60 * ( r - g ) / diff ) + 240;
455
+ }
456
+
457
+ if ( l === 0 || l === 1 ) {
458
+ s = l;
459
+ } else if ( l <= 0.5 ) {
460
+ s = diff / add;
461
+ } else {
462
+ s = diff / ( 2 - add );
463
+ }
464
+ return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
465
+ };
466
+
467
+ spaces.hsla.from = function ( hsla ) {
468
+ if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
469
+ return [ null, null, null, hsla[ 3 ] ];
470
+ }
471
+ var h = hsla[ 0 ] / 360,
472
+ s = hsla[ 1 ],
473
+ l = hsla[ 2 ],
474
+ a = hsla[ 3 ],
475
+ q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
476
+ p = 2 * l - q,
477
+ r, g, b;
478
+
479
+ return [
480
+ Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
481
+ Math.round( hue2rgb( p, q, h ) * 255 ),
482
+ Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
483
+ a
484
+ ];
485
+ };
486
+
487
+
488
+ each( spaces, function( spaceName, space ) {
489
+ var props = space.props,
490
+ cache = space.cache,
491
+ to = space.to,
492
+ from = space.from;
493
+
494
+ // makes rgba() and hsla()
495
+ color.fn[ spaceName ] = function( value ) {
496
+
497
+ // generate a cache for this space if it doesn't exist
498
+ if ( to && !this[ cache ] ) {
499
+ this[ cache ] = to( this._rgba );
500
+ }
501
+ if ( value === undefined ) {
502
+ return this[ cache ].slice();
503
+ }
504
+
505
+ var type = jQuery.type( value ),
506
+ arr = ( type === "array" || type === "object" ) ? value : arguments,
507
+ local = this[ cache ].slice(),
508
+ ret;
509
+
510
+ each( props, function( key, prop ) {
511
+ var val = arr[ type === "object" ? key : prop.idx ];
512
+ if ( val == null ) {
513
+ val = local[ prop.idx ];
514
+ }
515
+ local[ prop.idx ] = clamp( val, prop );
516
+ });
517
+
518
+ if ( from ) {
519
+ ret = color( from( local ) );
520
+ ret[ cache ] = local;
521
+ return ret;
522
+ } else {
523
+ return color( local );
524
+ }
525
+ };
526
+
527
+ // makes red() green() blue() alpha() hue() saturation() lightness()
528
+ each( props, function( key, prop ) {
529
+ // alpha is included in more than one space
530
+ if ( color.fn[ key ] ) {
531
+ return;
532
+ }
533
+ color.fn[ key ] = function( value ) {
534
+ var vtype = jQuery.type( value ),
535
+ fn = ( key === 'alpha' ? ( this._hsla ? 'hsla' : 'rgba' ) : spaceName ),
536
+ local = this[ fn ](),
537
+ cur = local[ prop.idx ],
538
+ match;
539
+
540
+ if ( vtype === "undefined" ) {
541
+ return cur;
542
+ }
543
+
544
+ if ( vtype === "function" ) {
545
+ value = value.call( this, cur );
546
+ vtype = jQuery.type( value );
547
+ }
548
+ if ( value == null && prop.empty ) {
549
+ return this;
550
+ }
551
+ if ( vtype === "string" ) {
552
+ match = rplusequals.exec( value );
553
+ if ( match ) {
554
+ value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
555
+ }
556
+ }
557
+ local[ prop.idx ] = value;
558
+ return this[ fn ]( local );
559
+ };
560
+ });
561
+ });
562
+
563
+ // add .fx.step functions
564
+ each( stepHooks, function( i, hook ) {
565
+ jQuery.cssHooks[ hook ] = {
566
+ set: function( elem, value ) {
567
+ var parsed, backgroundColor, curElem;
568
+
569
+ if ( jQuery.type( value ) !== 'string' || ( parsed = stringParse( value ) ) )
570
+ {
571
+ value = color( parsed || value );
572
+ if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
573
+ curElem = hook === "backgroundColor" ? elem.parentNode : elem;
574
+ do {
575
+ backgroundColor = jQuery.curCSS( curElem, "backgroundColor" );
576
+ } while (
577
+ ( backgroundColor === "" || backgroundColor === "transparent" ) &&
578
+ ( curElem = curElem.parentNode ) &&
579
+ curElem.style
580
+ );
581
+
582
+ value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
583
+ backgroundColor :
584
+ "_default" );
585
+ }
586
+
587
+ value = value.toRgbaString();
588
+ }
589
+ elem.style[ hook ] = value;
590
+ }
591
+ };
592
+ jQuery.fx.step[ hook ] = function( fx ) {
593
+ if ( !fx.colorInit ) {
594
+ fx.start = color( fx.elem, hook );
595
+ fx.end = color( fx.end );
596
+ fx.colorInit = true;
597
+ }
598
+ jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
599
+ };
600
+ });
601
+
602
+ // detect rgba support
603
+ jQuery(function() {
604
+ var div = document.createElement( "div" ),
605
+ div_style = div.style;
606
+
607
+ div_style.cssText = "background-color:rgba(1,1,1,.5)";
608
+ support.rgba = div_style.backgroundColor.indexOf( "rgba" ) > -1;
609
+ });
610
+
611
+ // Some named colors to work with
612
+ // From Interface by Stefan Petre
613
+ // http://interface.eyecon.ro/
614
+ colors = jQuery.Color.names = {
615
+ aqua: "#00ffff",
616
+ azure: "#f0ffff",
617
+ beige: "#f5f5dc",
618
+ black: "#000000",
619
+ blue: "#0000ff",
620
+ brown: "#a52a2a",
621
+ cyan: "#00ffff",
622
+ darkblue: "#00008b",
623
+ darkcyan: "#008b8b",
624
+ darkgrey: "#a9a9a9",
625
+ darkgreen: "#006400",
626
+ darkkhaki: "#bdb76b",
627
+ darkmagenta: "#8b008b",
628
+ darkolivegreen: "#556b2f",
629
+ darkorange: "#ff8c00",
630
+ darkorchid: "#9932cc",
631
+ darkred: "#8b0000",
632
+ darksalmon: "#e9967a",
633
+ darkviolet: "#9400d3",
634
+ fuchsia: "#ff00ff",
635
+ gold: "#ffd700",
636
+ green: "#008000",
637
+ indigo: "#4b0082",
638
+ khaki: "#f0e68c",
639
+ lightblue: "#add8e6",
640
+ lightcyan: "#e0ffff",
641
+ lightgreen: "#90ee90",
642
+ lightgrey: "#d3d3d3",
643
+ lightpink: "#ffb6c1",
644
+ lightyellow: "#ffffe0",
645
+ lime: "#00ff00",
646
+ magenta: "#ff00ff",
647
+ maroon: "#800000",
648
+ navy: "#000080",
649
+ olive: "#808000",
650
+ orange: "#ffa500",
651
+ pink: "#ffc0cb",
652
+ purple: "#800080",
653
+ violet: "#800080",
654
+ red: "#ff0000",
655
+ silver: "#c0c0c0",
656
+ white: "#ffffff",
657
+ yellow: "#ffff00",
658
+ transparent: [ null, null, null, 0 ],
659
+ _default: "#ffffff"
660
+ };
661
+ })( jQuery );