typus 3.0.2 → 3.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (343) hide show
  1. data/Gemfile +20 -9
  2. data/Gemfile.lock +93 -65
  3. data/MIT-LICENSE +1 -1
  4. data/README.md +61 -0
  5. data/Rakefile +5 -0
  6. data/app/controllers/admin/account_controller.rb +7 -10
  7. data/app/controllers/admin/base_controller.rb +16 -1
  8. data/app/controllers/admin/resources_controller.rb +270 -159
  9. data/app/controllers/admin/session_controller.rb +8 -9
  10. data/app/helpers/admin/base_helper.rb +13 -28
  11. data/app/helpers/admin/dashboard_helper.rb +4 -10
  12. data/app/helpers/admin/file_preview_helper.rb +70 -0
  13. data/app/helpers/admin/filters_helper.rb +64 -45
  14. data/app/helpers/admin/form_helper.rb +37 -62
  15. data/app/helpers/admin/relationships_helper.rb +63 -78
  16. data/app/helpers/admin/resources_helper.rb +10 -31
  17. data/app/helpers/admin/search_helper.rb +6 -9
  18. data/app/helpers/admin/sidebar_helper.rb +15 -20
  19. data/app/helpers/admin/table_helper.rb +79 -170
  20. data/app/mailers/admin/mailer.rb +1 -1
  21. data/app/views/admin/account/forgot_password.html.erb +2 -2
  22. data/app/views/admin/account/new.html.erb +8 -4
  23. data/app/views/admin/base/user_guide.html.erb +85 -0
  24. data/app/views/admin/dashboard/_sidebar.html.erb +3 -1
  25. data/app/views/admin/dashboard/show.html.erb +2 -2
  26. data/app/views/admin/dashboard/styles.html.erb +2 -2
  27. data/app/views/admin/helpers/_apps.html.erb +5 -4
  28. data/app/views/admin/helpers/_file_preview.html.erb +3 -0
  29. data/app/views/admin/helpers/_header.html.erb +3 -3
  30. data/app/views/admin/helpers/_login_info.html.erb +2 -2
  31. data/app/views/admin/helpers/dashboard/_applications.html.erb +6 -9
  32. data/app/views/admin/helpers/dashboard/_resources.html.erb +2 -3
  33. data/app/views/admin/helpers/filters/_filters.html.erb +1 -1
  34. data/app/views/admin/helpers/resources/_display_link_to_previous.html.erb +1 -1
  35. data/app/views/admin/helpers/resources/_errors.html.erb +10 -0
  36. data/app/views/admin/helpers/search/_search.html.erb +1 -1
  37. data/app/views/admin/helpers/sidebar/_sidebar.html.erb +6 -3
  38. data/app/views/admin/helpers/table/_table.html.erb +17 -5
  39. data/app/views/admin/mailer/reset_password_link.text.erb +2 -2
  40. data/app/views/admin/resources/_form.html.erb +3 -12
  41. data/app/views/admin/resources/edit.html.erb +7 -5
  42. data/app/views/admin/resources/index.html.erb +13 -18
  43. data/app/views/admin/resources/new.html.erb +4 -4
  44. data/app/views/admin/resources/show.html.erb +9 -13
  45. data/app/views/admin/session/new.html.erb +8 -4
  46. data/app/views/admin/templates/_belongs_to.html.erb +1 -1
  47. data/app/views/admin/templates/_boolean.html.erb +2 -2
  48. data/app/views/admin/templates/_date.html.erb +2 -2
  49. data/app/views/admin/templates/_datetime.html.erb +2 -2
  50. data/app/views/admin/templates/_file.html.erb +3 -19
  51. data/app/views/admin/templates/_has_n.html.erb +4 -4
  52. data/app/views/admin/templates/_has_one.html.erb +14 -0
  53. data/app/views/admin/templates/_password.html.erb +2 -2
  54. data/app/views/admin/templates/_profile_sidebar.html.erb +3 -0
  55. data/app/views/admin/templates/_relate_form.html.erb +2 -1
  56. data/app/views/admin/templates/_selector.html.erb +1 -1
  57. data/app/views/admin/templates/_string.html.erb +6 -6
  58. data/app/views/admin/templates/_text.html.erb +11 -4
  59. data/app/views/admin/templates/_time.html.erb +2 -2
  60. data/app/views/admin/templates/_tree.html.erb +1 -1
  61. data/app/views/layouts/admin/base.html.erb +7 -6
  62. data/app/views/layouts/admin/session.html.erb +4 -14
  63. data/config/{available_locales/ca_models.yml → locales/typus.ca.models.yml} +5 -4
  64. data/config/locales/typus.ca.yml +81 -0
  65. data/config/{available_locales/de_models.yml → locales/typus.de.models.yml} +6 -2
  66. data/config/locales/typus.de.yml +80 -0
  67. data/config/locales/typus.el.models.yml +17 -0
  68. data/config/locales/typus.el.yml +82 -0
  69. data/config/{available_locales/es_models.yml → locales/typus.es.models.yml} +9 -4
  70. data/config/locales/typus.es.yml +82 -0
  71. data/config/{available_locales/fr_models.yml → locales/typus.fr.models.yml} +8 -3
  72. data/config/locales/typus.fr.yml +87 -0
  73. data/config/{available_locales/hu_models.yml → locales/typus.hu.models.yml} +6 -2
  74. data/config/locales/typus.hu.yml +80 -0
  75. data/config/{available_locales/it_models.yml → locales/typus.it.models.yml} +7 -4
  76. data/config/locales/typus.it.yml +89 -0
  77. data/config/{available_locales/language_models.yml.template → locales/typus.locale.models.yml.template} +8 -4
  78. data/config/locales/typus.locale.yml.template +81 -0
  79. data/config/{available_locales/pt-BR_models.yml → locales/typus.pt-BR.models.yml} +6 -2
  80. data/config/locales/typus.pt-BR.yml +80 -0
  81. data/config/{available_locales/ru_models.yml → locales/typus.ru.models.yml} +6 -2
  82. data/config/locales/typus.ru.yml +80 -0
  83. data/config/locales/typus.zh-CN.models.yml +17 -0
  84. data/config/locales/typus.zh-CN.yml +79 -0
  85. data/config/routes.rb +11 -7
  86. data/lib/generators/templates/config/initializers/typus.rb +8 -5
  87. data/lib/generators/templates/config/initializers/typus_resources.rb +0 -3
  88. data/lib/generators/templates/config/typus/README +6 -6
  89. data/lib/generators/templates/config/typus/typus.yml +5 -5
  90. data/lib/generators/templates/controller.rb +1 -1
  91. data/lib/generators/templates/migration.rb +1 -0
  92. data/lib/generators/templates/public/admin/javascripts/application.js +0 -4
  93. data/lib/generators/templates/public/admin/javascripts/jquery-1.4.4.min.js +167 -0
  94. data/lib/generators/templates/public/admin/javascripts/jquery.application.js +16 -0
  95. data/lib/generators/templates/public/admin/javascripts/jquery.rails.js +50 -22
  96. data/lib/generators/templates/public/admin/stylesheets/screen.css +43 -34
  97. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_loading.png +0 -0
  98. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.easing-1.3.pack.js +32 -32
  99. data/lib/generators/templates/public/admin/vendor/fancybox/{jquery.fancybox-1.3.1.css → jquery.fancybox-1.3.4.css} +359 -363
  100. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.4.js +1156 -0
  101. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.4.pack.js +46 -0
  102. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.mousewheel-3.0.4.pack.js +14 -0
  103. data/lib/generators/typus/assets_generator.rb +23 -0
  104. data/lib/generators/typus/controller_generator.rb +29 -0
  105. data/lib/generators/typus/migration_generator.rb +39 -20
  106. data/lib/generators/typus/typus_generator.rb +17 -57
  107. data/lib/generators/typus/views_generator.rb +2 -6
  108. data/lib/support/active_record.rb +8 -20
  109. data/lib/support/fake_user.rb +6 -1
  110. data/lib/support/hash.rb +1 -2
  111. data/lib/support/object.rb +4 -17
  112. data/lib/support/string.rb +34 -3
  113. data/lib/tasks/typus.rake +1 -1
  114. data/lib/typus.rb +60 -48
  115. data/lib/typus/actions.rb +27 -0
  116. data/lib/typus/authentication/base.rb +3 -4
  117. data/lib/typus/authentication/http_basic.rb +1 -1
  118. data/lib/typus/authentication/none.rb +1 -1
  119. data/lib/typus/authentication/session.rb +53 -108
  120. data/lib/typus/configuration.rb +13 -11
  121. data/lib/typus/filters.rb +12 -0
  122. data/lib/typus/format.rb +9 -13
  123. data/lib/typus/i18n.rb +30 -0
  124. data/lib/typus/orm/active_record.rb +97 -194
  125. data/lib/typus/orm/active_record/search.rb +91 -0
  126. data/lib/typus/resources.rb +6 -10
  127. data/lib/typus/user.rb +20 -40
  128. data/lib/typus/version.rb +1 -1
  129. metadata +77 -231
  130. data/CHANGELOG +0 -102
  131. data/README.rdoc +0 -48
  132. data/app/helpers/admin/preview_helper.rb +0 -46
  133. data/app/views/admin/helpers/_preview.html.erb +0 -13
  134. data/app/views/admin/templates/_has_many.html.erb +0 -22
  135. data/config/available_locales/ca.yml +0 -122
  136. data/config/available_locales/de.yml +0 -122
  137. data/config/available_locales/es.yml +0 -122
  138. data/config/available_locales/fr.yml +0 -127
  139. data/config/available_locales/hu.yml +0 -122
  140. data/config/available_locales/it.yml +0 -132
  141. data/config/available_locales/language.yml.template +0 -120
  142. data/config/available_locales/pt-BR.yml +0 -122
  143. data/config/available_locales/ru.yml +0 -122
  144. data/lib/generators/templates/functional_test.rb +0 -10
  145. data/lib/generators/templates/model.rb +0 -8
  146. data/lib/generators/templates/public/admin/images/ui-icons.png +0 -0
  147. data/lib/generators/templates/public/admin/javascripts/jquery-1.4.2.min.js +0 -154
  148. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.js +0 -1077
  149. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.pack.js +0 -44
  150. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.mousewheel-3.0.2.pack.js +0 -13
  151. data/lib/typus/pagination.rb +0 -18
  152. data/test/factories.rb +0 -43
  153. data/test/fixtures/config/broken/application.yml +0 -68
  154. data/test/fixtures/config/broken/application_roles.yml +0 -20
  155. data/test/fixtures/config/broken/empty.yml +0 -0
  156. data/test/fixtures/config/broken/empty_roles.yml +0 -0
  157. data/test/fixtures/config/broken/undefined.yml +0 -3
  158. data/test/fixtures/config/broken/undefined_roles.yml +0 -6
  159. data/test/fixtures/config/default/typus.yml +0 -13
  160. data/test/fixtures/config/default/typus_roles.yml +0 -2
  161. data/test/fixtures/config/empty/empty_01.yml +0 -0
  162. data/test/fixtures/config/empty/empty_01_roles.yml +0 -0
  163. data/test/fixtures/config/empty/empty_02.yml +0 -0
  164. data/test/fixtures/config/empty/empty_02_roles.yml +0 -0
  165. data/test/fixtures/config/locales/es.yml +0 -10
  166. data/test/fixtures/config/namespaced/application.yml +0 -5
  167. data/test/fixtures/config/namespaced/application_roles.yml +0 -2
  168. data/test/fixtures/config/ordered/001_roles.yml +0 -2
  169. data/test/fixtures/config/ordered/002_roles.yml +0 -2
  170. data/test/fixtures/config/unordered/app_one_roles.yml +0 -2
  171. data/test/fixtures/config/unordered/app_two_roles.yml +0 -2
  172. data/test/fixtures/config/working/application.yml +0 -73
  173. data/test/fixtures/config/working/application_roles.yml +0 -24
  174. data/test/fixtures/config/working/typus.yml +0 -13
  175. data/test/fixtures/config/working/typus_roles.yml +0 -2
  176. data/test/fixtures/rails_app/Rakefile +0 -7
  177. data/test/fixtures/rails_app/app/controllers/admin/assets_controller.rb +0 -2
  178. data/test/fixtures/rails_app/app/controllers/admin/categories_controller.rb +0 -2
  179. data/test/fixtures/rails_app/app/controllers/admin/comments_controller.rb +0 -2
  180. data/test/fixtures/rails_app/app/controllers/admin/pages_controller.rb +0 -2
  181. data/test/fixtures/rails_app/app/controllers/admin/pictures_controller.rb +0 -2
  182. data/test/fixtures/rails_app/app/controllers/admin/posts_controller.rb +0 -2
  183. data/test/fixtures/rails_app/app/controllers/admin/status_controller.rb +0 -2
  184. data/test/fixtures/rails_app/app/controllers/admin/typus_users_controller.rb +0 -2
  185. data/test/fixtures/rails_app/app/controllers/admin/watch_dog_controller.rb +0 -2
  186. data/test/fixtures/rails_app/app/controllers/application_controller.rb +0 -3
  187. data/test/fixtures/rails_app/app/models/asset.rb +0 -5
  188. data/test/fixtures/rails_app/app/models/category.rb +0 -11
  189. data/test/fixtures/rails_app/app/models/comment.rb +0 -6
  190. data/test/fixtures/rails_app/app/models/custom_user.rb +0 -2
  191. data/test/fixtures/rails_app/app/models/delayed/task.rb +0 -5
  192. data/test/fixtures/rails_app/app/models/page.rb +0 -5
  193. data/test/fixtures/rails_app/app/models/picture.rb +0 -6
  194. data/test/fixtures/rails_app/app/models/post.rb +0 -21
  195. data/test/fixtures/rails_app/app/models/typus_user.rb +0 -8
  196. data/test/fixtures/rails_app/app/models/view.rb +0 -5
  197. data/test/fixtures/rails_app/app/views/admin/categories/_form.html.erb +0 -1
  198. data/test/fixtures/rails_app/app/views/admin/dashboard/_sidebar.html.erb +0 -1
  199. data/test/fixtures/rails_app/app/views/admin/mailer/reset_password_link.text.erb +0 -6
  200. data/test/fixtures/rails_app/app/views/admin/posts/_edit.html.erb +0 -1
  201. data/test/fixtures/rails_app/app/views/admin/posts/_index.html.erb +0 -1
  202. data/test/fixtures/rails_app/app/views/admin/posts/_new.html.erb +0 -1
  203. data/test/fixtures/rails_app/app/views/admin/posts/_show.html.erb +0 -1
  204. data/test/fixtures/rails_app/app/views/admin/posts/_sidebar.html.erb +0 -1
  205. data/test/fixtures/rails_app/app/views/admin/resources/_sidebar.html.erb +0 -1
  206. data/test/fixtures/rails_app/app/views/admin/status/index.html.erb +0 -1
  207. data/test/fixtures/rails_app/app/views/admin/templates/_datepicker.html.erb +0 -1
  208. data/test/fixtures/rails_app/config.ru +0 -4
  209. data/test/fixtures/rails_app/config/application.rb +0 -53
  210. data/test/fixtures/rails_app/config/boot.rb +0 -13
  211. data/test/fixtures/rails_app/config/database.yml +0 -14
  212. data/test/fixtures/rails_app/config/environment.rb +0 -5
  213. data/test/fixtures/rails_app/config/environments/test.rb +0 -34
  214. data/test/fixtures/rails_app/config/initializers/secret_token.rb +0 -7
  215. data/test/fixtures/rails_app/config/initializers/session_store.rb +0 -8
  216. data/test/fixtures/rails_app/config/initializers/typus.rb +0 -6
  217. data/test/fixtures/rails_app/config/routes.rb +0 -5
  218. data/test/fixtures/rails_app/config/typus/application.yml +0 -79
  219. data/test/fixtures/rails_app/config/typus/application_roles.yml +0 -25
  220. data/test/fixtures/rails_app/config/typus/typus.yml +0 -12
  221. data/test/fixtures/rails_app/config/typus/typus_roles.yml +0 -2
  222. data/test/fixtures/rails_app/db/test.sqlite3 +0 -0
  223. data/test/fixtures/rails_app/tmp/export-posts-20101012213057.csv +0 -2
  224. data/test/fixtures/rails_app/tmp/export-posts-20101012213132.csv +0 -2
  225. data/test/fixtures/rails_app/tmp/export-posts-20101012213234.csv +0 -2
  226. data/test/fixtures/rails_app/tmp/export-posts-20101012213506.csv +0 -2
  227. data/test/fixtures/rails_app/tmp/export-posts-20101012215057.csv +0 -2
  228. data/test/fixtures/rails_app/tmp/export-posts-20101012215217.csv +0 -2
  229. data/test/fixtures/rails_app/tmp/export-posts-20101012215415.csv +0 -2
  230. data/test/fixtures/rails_app/tmp/export-posts-20101012215443.csv +0 -2
  231. data/test/fixtures/rails_app/tmp/export-posts-20101012215509.csv +0 -2
  232. data/test/fixtures/rails_app/tmp/export-posts-20101012215528.csv +0 -2
  233. data/test/fixtures/rails_app/tmp/export-posts-20101012215551.csv +0 -2
  234. data/test/fixtures/rails_app/tmp/export-posts-20101012215615.csv +0 -2
  235. data/test/fixtures/rails_app/tmp/export-posts-20101012215640.csv +0 -2
  236. data/test/fixtures/rails_app/tmp/export-posts-20101012215714.csv +0 -2
  237. data/test/fixtures/rails_app/tmp/export-posts-20101012215744.csv +0 -2
  238. data/test/fixtures/rails_app/tmp/export-posts-20101012215814.csv +0 -2
  239. data/test/fixtures/rails_app/tmp/export-posts-20101012215836.csv +0 -2
  240. data/test/fixtures/rails_app/tmp/export-posts-20101012215906.csv +0 -2
  241. data/test/fixtures/rails_app/tmp/export-posts-20101012220659.csv +0 -2
  242. data/test/fixtures/rails_app/tmp/export-posts-20101012221043.csv +0 -2
  243. data/test/fixtures/rails_app/tmp/export-posts-20101012221258.csv +0 -2
  244. data/test/fixtures/rails_app/tmp/export-posts-20101012222558.csv +0 -2
  245. data/test/fixtures/rails_app/tmp/export-posts-20101012222752.csv +0 -2
  246. data/test/fixtures/rails_app/tmp/export-posts-20101012222848.csv +0 -2
  247. data/test/fixtures/rails_app/tmp/export-posts-20101012223433.csv +0 -2
  248. data/test/fixtures/rails_app/tmp/export-posts-20101012223535.csv +0 -2
  249. data/test/fixtures/rails_app/tmp/export-posts-20101012224003.csv +0 -2
  250. data/test/fixtures/rails_app/tmp/export-posts-20101012224052.csv +0 -2
  251. data/test/fixtures/rails_app/tmp/export-posts-20101012224109.csv +0 -2
  252. data/test/fixtures/rails_app/tmp/export-posts-20101012224139.csv +0 -2
  253. data/test/fixtures/rails_app/tmp/export-posts-20101012224205.csv +0 -2
  254. data/test/fixtures/rails_app/tmp/export-posts-20101012224243.csv +0 -2
  255. data/test/fixtures/rails_app/tmp/export-posts-20101012225119.csv +0 -2
  256. data/test/fixtures/rails_app/tmp/export-posts-20101013063215.csv +0 -2
  257. data/test/fixtures/rails_app/tmp/export-posts-20101013063300.csv +0 -2
  258. data/test/fixtures/rails_app/tmp/export-posts-20101013063352.csv +0 -2
  259. data/test/fixtures/rails_app/tmp/export-posts-20101013063427.csv +0 -2
  260. data/test/fixtures/rails_app/tmp/export-posts-20101013063448.csv +0 -2
  261. data/test/fixtures/rails_app/tmp/export-posts-20101013063530.csv +0 -2
  262. data/test/fixtures/rails_app/tmp/export-posts-20101013063559.csv +0 -2
  263. data/test/fixtures/rails_app/tmp/export-posts-20101013063646.csv +0 -2
  264. data/test/fixtures/rails_app/tmp/export-posts-20101013063737.csv +0 -2
  265. data/test/fixtures/rails_app/tmp/export-posts-20101013063822.csv +0 -2
  266. data/test/fixtures/rails_app/tmp/export-posts-20101013063837.csv +0 -2
  267. data/test/fixtures/rails_app/tmp/export-posts-20101013063919.csv +0 -2
  268. data/test/fixtures/rails_app/tmp/export-posts-20101013063939.csv +0 -2
  269. data/test/fixtures/rails_app/tmp/export-posts-20101013063952.csv +0 -2
  270. data/test/fixtures/rails_app/tmp/export-posts-20101013064220.csv +0 -2
  271. data/test/fixtures/rails_app/tmp/export-posts-20101013064253.csv +0 -2
  272. data/test/fixtures/rails_app/tmp/export-posts-20101013064318.csv +0 -2
  273. data/test/fixtures/rails_app/tmp/export-posts-20101013064404.csv +0 -2
  274. data/test/fixtures/rails_app/tmp/export-posts-20101013064452.csv +0 -2
  275. data/test/fixtures/rails_app/tmp/export-posts-20101013064536.csv +0 -2
  276. data/test/fixtures/rails_app/tmp/export-posts-20101013064652.csv +0 -2
  277. data/test/fixtures/rails_app/tmp/export-posts-20101013064845.csv +0 -2
  278. data/test/fixtures/rails_app/tmp/export-posts-20101013065023.csv +0 -2
  279. data/test/fixtures/rails_app/tmp/export-posts-20101013065137.csv +0 -2
  280. data/test/fixtures/rails_app/tmp/export-posts-20101013065713.csv +0 -2
  281. data/test/fixtures/rails_app/tmp/export-posts-20101013065954.csv +0 -2
  282. data/test/fixtures/rails_app/tmp/export-posts-20101013070057.csv +0 -2
  283. data/test/fixtures/rails_app/tmp/export-posts-20101013070116.csv +0 -2
  284. data/test/fixtures/rails_app/tmp/export-posts-20101013070156.csv +0 -2
  285. data/test/fixtures/rails_app/tmp/export-posts-20101013070349.csv +0 -2
  286. data/test/fixtures/rails_app/tmp/export-posts-20101013070429.csv +0 -2
  287. data/test/fixtures/rails_app/tmp/export-posts-20101013070448.csv +0 -2
  288. data/test/fixtures/rails_app/tmp/export-posts-20101013070514.csv +0 -2
  289. data/test/fixtures/rails_app/tmp/export-posts-20101013070709.csv +0 -2
  290. data/test/fixtures/rails_app/tmp/export-posts-20101013070745.csv +0 -2
  291. data/test/fixtures/rails_app/tmp/export-posts-20101013070809.csv +0 -2
  292. data/test/fixtures/rails_app/tmp/export-posts-20101013070905.csv +0 -2
  293. data/test/fixtures/rails_app/tmp/export-posts-20101013070955.csv +0 -2
  294. data/test/fixtures/rails_app/tmp/export-posts-20101013071116.csv +0 -2
  295. data/test/fixtures/rails_app/tmp/export-posts-20101013071209.csv +0 -2
  296. data/test/fixtures/rails_app/tmp/export-posts-20101013071335.csv +0 -2
  297. data/test/fixtures/rails_app/tmp/export-posts-20101013071632.csv +0 -2
  298. data/test/fixtures/rails_app/tmp/export-posts-20101013071643.csv +0 -2
  299. data/test/fixtures/rails_app/tmp/export-posts-20101013071735.csv +0 -2
  300. data/test/fixtures/rails_app/tmp/export-posts-20101013071749.csv +0 -2
  301. data/test/fixtures/rails_app/tmp/export-posts-20101013072030.csv +0 -2
  302. data/test/fixtures/rails_app/tmp/export-posts-20101013072050.csv +0 -2
  303. data/test/fixtures/rails_app/tmp/export-posts-20101013072108.csv +0 -2
  304. data/test/fixtures/rails_app/tmp/export-posts-20101013072713.csv +0 -2
  305. data/test/fixtures/rails_app/tmp/export-posts-20101013072751.csv +0 -2
  306. data/test/fixtures/rails_app/tmp/export-posts-20101013072912.csv +0 -2
  307. data/test/fixtures/rails_app/tmp/export-posts-20101013074546.csv +0 -2
  308. data/test/fixtures/rails_app/tmp/export-posts-20101018180512.csv +0 -2
  309. data/test/fixtures/rails_app/tmp/export-posts-20101018183359.csv +0 -2
  310. data/test/fixtures/rails_app/tmp/export-posts-20101018183608.csv +0 -2
  311. data/test/fixtures/rails_app/tmp/export-posts-20101018183759.csv +0 -2
  312. data/test/functional/admin/account_controller_test.rb +0 -90
  313. data/test/functional/admin/assets_controller_test.rb +0 -55
  314. data/test/functional/admin/categories_controller_test.rb +0 -62
  315. data/test/functional/admin/comments_controller_test.rb +0 -21
  316. data/test/functional/admin/dashboard_controller_test.rb +0 -138
  317. data/test/functional/admin/posts_controller_test.rb +0 -548
  318. data/test/functional/admin/session_controller_test.rb +0 -85
  319. data/test/functional/admin/status_controller_test.rb +0 -46
  320. data/test/functional/admin/typus_users_controller_test.rb +0 -159
  321. data/test/helpers/admin/base_helper_test.rb +0 -67
  322. data/test/helpers/admin/dashboard_helper_test.rb +0 -19
  323. data/test/helpers/admin/form_helper_test.rb +0 -117
  324. data/test/helpers/admin/resources_helper_test.rb +0 -64
  325. data/test/helpers/admin/sidebar_helper_test.rb +0 -274
  326. data/test/helpers/admin/table_helper_test.rb +0 -219
  327. data/test/integration/login_test.rb +0 -13
  328. data/test/integration_test_helper.rb +0 -21
  329. data/test/lib/support/active_record_test.rb +0 -86
  330. data/test/lib/support/array_test.rb +0 -11
  331. data/test/lib/support/hash_test.rb +0 -11
  332. data/test/lib/support/string_test.rb +0 -39
  333. data/test/lib/typus/active_record_test.rb +0 -451
  334. data/test/lib/typus/configuration_test.rb +0 -52
  335. data/test/lib/typus/resource_test.rb +0 -17
  336. data/test/lib/typus/routes_test.rb +0 -29
  337. data/test/lib/typus_test.rb +0 -107
  338. data/test/schema.rb +0 -100
  339. data/test/test_helper.rb +0 -16
  340. data/test/unit/admin/mailer_test.rb +0 -32
  341. data/test/unit/typus_user_roles_test.rb +0 -105
  342. data/test/unit/typus_user_test.rb +0 -142
  343. data/typus.gemspec +0 -25
@@ -1,1077 +0,0 @@
1
- /*
2
- * FancyBox - jQuery Plugin
3
- * Simple and fancy lightbox alternative
4
- *
5
- * Examples and documentation at: http://fancybox.net
6
- *
7
- * Copyright (c) 2008 - 2010 Janis Skarnelis
8
- *
9
- * Version: 1.3.1 (05/03/2010)
10
- * Requires: jQuery v1.3+
11
- *
12
- * Dual licensed under the MIT and GPL licenses:
13
- * http://www.opensource.org/licenses/mit-license.php
14
- * http://www.gnu.org/licenses/gpl.html
15
- */
16
-
17
- (function($) {
18
-
19
- var tmp, loading, overlay, wrap, outer, inner, close, nav_left, nav_right,
20
-
21
- selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [],
22
-
23
- ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i,
24
-
25
- loadingTimer, loadingFrame = 1,
26
-
27
- start_pos, final_pos, busy = false, shadow = 20, fx = $.extend($('<div/>')[0], { prop: 0 }), titleh = 0,
28
-
29
- isIE6 = !$.support.opacity && !window.XMLHttpRequest,
30
-
31
- /*
32
- * Private methods
33
- */
34
-
35
- fancybox_abort = function() {
36
- loading.hide();
37
-
38
- imgPreloader.onerror = imgPreloader.onload = null;
39
-
40
- if (ajaxLoader) {
41
- ajaxLoader.abort();
42
- }
43
-
44
- tmp.empty();
45
- },
46
-
47
- fancybox_error = function() {
48
- $.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>', {
49
- 'scrolling' : 'no',
50
- 'padding' : 20,
51
- 'transitionIn' : 'none',
52
- 'transitionOut' : 'none'
53
- });
54
- },
55
-
56
- fancybox_get_viewport = function() {
57
- return [ $(window).width(), $(window).height(), $(document).scrollLeft(), $(document).scrollTop() ];
58
- },
59
-
60
- fancybox_get_zoom_to = function () {
61
- var view = fancybox_get_viewport(),
62
- to = {},
63
-
64
- margin = currentOpts.margin,
65
- resize = currentOpts.autoScale,
66
-
67
- horizontal_space = (shadow + margin) * 2,
68
- vertical_space = (shadow + margin) * 2,
69
- double_padding = (currentOpts.padding * 2),
70
-
71
- ratio;
72
-
73
- if (currentOpts.width.toString().indexOf('%') > -1) {
74
- to.width = ((view[0] * parseFloat(currentOpts.width)) / 100) - (shadow * 2) ;
75
- resize = false;
76
-
77
- } else {
78
- to.width = currentOpts.width + double_padding;
79
- }
80
-
81
- if (currentOpts.height.toString().indexOf('%') > -1) {
82
- to.height = ((view[1] * parseFloat(currentOpts.height)) / 100) - (shadow * 2);
83
- resize = false;
84
-
85
- } else {
86
- to.height = currentOpts.height + double_padding;
87
- }
88
-
89
- if (resize && (to.width > (view[0] - horizontal_space) || to.height > (view[1] - vertical_space))) {
90
- if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') {
91
- horizontal_space += double_padding;
92
- vertical_space += double_padding;
93
-
94
- ratio = Math.min(Math.min( view[0] - horizontal_space, currentOpts.width) / currentOpts.width, Math.min( view[1] - vertical_space, currentOpts.height) / currentOpts.height);
95
-
96
- to.width = Math.round(ratio * (to.width - double_padding)) + double_padding;
97
- to.height = Math.round(ratio * (to.height - double_padding)) + double_padding;
98
-
99
- } else {
100
- to.width = Math.min(to.width, (view[0] - horizontal_space));
101
- to.height = Math.min(to.height, (view[1] - vertical_space));
102
- }
103
- }
104
-
105
- to.top = view[3] + ((view[1] - (to.height + (shadow * 2 ))) * 0.5);
106
- to.left = view[2] + ((view[0] - (to.width + (shadow * 2 ))) * 0.5);
107
-
108
- if (currentOpts.autoScale === false) {
109
- to.top = Math.max(view[3] + margin, to.top);
110
- to.left = Math.max(view[2] + margin, to.left);
111
- }
112
-
113
- return to;
114
- },
115
-
116
- fancybox_format_title = function(title) {
117
- if (title && title.length) {
118
- switch (currentOpts.titlePosition) {
119
- case 'inside':
120
- return title;
121
- case 'over':
122
- return '<span id="fancybox-title-over">' + title + '</span>';
123
- default:
124
- return '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">' + title + '</span><span id="fancybox-title-right"></span></span>';
125
- }
126
- }
127
-
128
- return false;
129
- },
130
-
131
- fancybox_process_title = function() {
132
- var title = currentOpts.title,
133
- width = final_pos.width - (currentOpts.padding * 2),
134
- titlec = 'fancybox-title-' + currentOpts.titlePosition;
135
-
136
- $('#fancybox-title').remove();
137
-
138
- titleh = 0;
139
-
140
- if (currentOpts.titleShow === false) {
141
- return;
142
- }
143
-
144
- title = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(title, currentArray, currentIndex, currentOpts) : fancybox_format_title(title);
145
-
146
- if (!title || title === '') {
147
- return;
148
- }
149
-
150
- $('<div id="fancybox-title" class="' + titlec + '" />').css({
151
- 'width' : width,
152
- 'paddingLeft' : currentOpts.padding,
153
- 'paddingRight' : currentOpts.padding
154
- }).html(title).appendTo('body');
155
-
156
- switch (currentOpts.titlePosition) {
157
- case 'inside':
158
- titleh = $("#fancybox-title").outerHeight(true) - currentOpts.padding;
159
- final_pos.height += titleh;
160
- break;
161
-
162
- case 'over':
163
- $('#fancybox-title').css('bottom', currentOpts.padding);
164
- break;
165
-
166
- default:
167
- $('#fancybox-title').css('bottom', $("#fancybox-title").outerHeight(true) * -1);
168
- break;
169
- }
170
-
171
- $('#fancybox-title').appendTo( outer ).hide();
172
- },
173
-
174
- fancybox_set_navigation = function() {
175
- $(document).unbind('keydown.fb').bind('keydown.fb', function(e) {
176
- if (e.keyCode == 27 && currentOpts.enableEscapeButton) {
177
- e.preventDefault();
178
- $.fancybox.close();
179
-
180
- } else if (e.keyCode == 37) {
181
- e.preventDefault();
182
- $.fancybox.prev();
183
-
184
- } else if (e.keyCode == 39) {
185
- e.preventDefault();
186
- $.fancybox.next();
187
- }
188
- });
189
-
190
- if ($.fn.mousewheel) {
191
- wrap.unbind('mousewheel.fb');
192
-
193
- if (currentArray.length > 1) {
194
- wrap.bind('mousewheel.fb', function(e, delta) {
195
- e.preventDefault();
196
-
197
- if (busy || delta === 0) {
198
- return;
199
- }
200
-
201
- if (delta > 0) {
202
- $.fancybox.prev();
203
- } else {
204
- $.fancybox.next();
205
- }
206
- });
207
- }
208
- }
209
-
210
- if (!currentOpts.showNavArrows) { return; }
211
-
212
- if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) {
213
- nav_left.show();
214
- }
215
-
216
- if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) {
217
- nav_right.show();
218
- }
219
- },
220
-
221
- fancybox_preload_images = function() {
222
- var href,
223
- objNext;
224
-
225
- if ((currentArray.length -1) > currentIndex) {
226
- href = currentArray[ currentIndex + 1 ].href;
227
-
228
- if (typeof href !== 'undefined' && href.match(imgRegExp)) {
229
- objNext = new Image();
230
- objNext.src = href;
231
- }
232
- }
233
-
234
- if (currentIndex > 0) {
235
- href = currentArray[ currentIndex - 1 ].href;
236
-
237
- if (typeof href !== 'undefined' && href.match(imgRegExp)) {
238
- objNext = new Image();
239
- objNext.src = href;
240
- }
241
- }
242
- },
243
-
244
- _finish = function () {
245
- inner.css('overflow', (currentOpts.scrolling == 'auto' ? (currentOpts.type == 'image' || currentOpts.type == 'iframe' || currentOpts.type == 'swf' ? 'hidden' : 'auto') : (currentOpts.scrolling == 'yes' ? 'auto' : 'visible')));
246
-
247
- if (!$.support.opacity) {
248
- inner.get(0).style.removeAttribute('filter');
249
- wrap.get(0).style.removeAttribute('filter');
250
- }
251
-
252
- $('#fancybox-title').show();
253
-
254
- if (currentOpts.hideOnContentClick) {
255
- inner.one('click', $.fancybox.close);
256
- }
257
- if (currentOpts.hideOnOverlayClick) {
258
- overlay.one('click', $.fancybox.close);
259
- }
260
-
261
- if (currentOpts.showCloseButton) {
262
- close.show();
263
- }
264
-
265
- fancybox_set_navigation();
266
-
267
- $(window).bind("resize.fb", $.fancybox.center);
268
-
269
- if (currentOpts.centerOnScroll) {
270
- $(window).bind("scroll.fb", $.fancybox.center);
271
- } else {
272
- $(window).unbind("scroll.fb");
273
- }
274
-
275
- if ($.isFunction(currentOpts.onComplete)) {
276
- currentOpts.onComplete(currentArray, currentIndex, currentOpts);
277
- }
278
-
279
- busy = false;
280
-
281
- fancybox_preload_images();
282
- },
283
-
284
- fancybox_draw = function(pos) {
285
- var width = Math.round(start_pos.width + (final_pos.width - start_pos.width) * pos),
286
- height = Math.round(start_pos.height + (final_pos.height - start_pos.height) * pos),
287
-
288
- top = Math.round(start_pos.top + (final_pos.top - start_pos.top) * pos),
289
- left = Math.round(start_pos.left + (final_pos.left - start_pos.left) * pos);
290
-
291
- wrap.css({
292
- 'width' : width + 'px',
293
- 'height' : height + 'px',
294
- 'top' : top + 'px',
295
- 'left' : left + 'px'
296
- });
297
-
298
- width = Math.max(width - currentOpts.padding * 2, 0);
299
- height = Math.max(height - (currentOpts.padding * 2 + (titleh * pos)), 0);
300
-
301
- inner.css({
302
- 'width' : width + 'px',
303
- 'height' : height + 'px'
304
- });
305
-
306
- if (typeof final_pos.opacity !== 'undefined') {
307
- wrap.css('opacity', (pos < 0.5 ? 0.5 : pos));
308
- }
309
- },
310
-
311
- fancybox_get_obj_pos = function(obj) {
312
- var pos = obj.offset();
313
-
314
- pos.top += parseFloat( obj.css('paddingTop') ) || 0;
315
- pos.left += parseFloat( obj.css('paddingLeft') ) || 0;
316
-
317
- pos.top += parseFloat( obj.css('border-top-width') ) || 0;
318
- pos.left += parseFloat( obj.css('border-left-width') ) || 0;
319
-
320
- pos.width = obj.width();
321
- pos.height = obj.height();
322
-
323
- return pos;
324
- },
325
-
326
- fancybox_get_zoom_from = function() {
327
- var orig = selectedOpts.orig ? $(selectedOpts.orig) : false,
328
- from = {},
329
- pos,
330
- view;
331
-
332
- if (orig && orig.length) {
333
- pos = fancybox_get_obj_pos(orig);
334
-
335
- from = {
336
- width : (pos.width + (currentOpts.padding * 2)),
337
- height : (pos.height + (currentOpts.padding * 2)),
338
- top : (pos.top - currentOpts.padding - shadow),
339
- left : (pos.left - currentOpts.padding - shadow)
340
- };
341
-
342
- } else {
343
- view = fancybox_get_viewport();
344
-
345
- from = {
346
- width : 1,
347
- height : 1,
348
- top : view[3] + view[1] * 0.5,
349
- left : view[2] + view[0] * 0.5
350
- };
351
- }
352
-
353
- return from;
354
- },
355
-
356
- fancybox_show = function() {
357
- loading.hide();
358
-
359
- if (wrap.is(":visible") && $.isFunction(currentOpts.onCleanup)) {
360
- if (currentOpts.onCleanup(currentArray, currentIndex, currentOpts) === false) {
361
- $.event.trigger('fancybox-cancel');
362
-
363
- busy = false;
364
- return;
365
- }
366
- }
367
-
368
- currentArray = selectedArray;
369
- currentIndex = selectedIndex;
370
- currentOpts = selectedOpts;
371
-
372
- inner.get(0).scrollTop = 0;
373
- inner.get(0).scrollLeft = 0;
374
-
375
- if (currentOpts.overlayShow) {
376
- if (isIE6) {
377
- $('select:not(#fancybox-tmp select)').filter(function() {
378
- return this.style.visibility !== 'hidden';
379
- }).css({'visibility':'hidden'}).one('fancybox-cleanup', function() {
380
- this.style.visibility = 'inherit';
381
- });
382
- }
383
-
384
- overlay.css({
385
- 'background-color' : currentOpts.overlayColor,
386
- 'opacity' : currentOpts.overlayOpacity
387
- }).unbind().show();
388
- }
389
-
390
- final_pos = fancybox_get_zoom_to();
391
-
392
- fancybox_process_title();
393
-
394
- if (wrap.is(":visible")) {
395
- $( close.add( nav_left ).add( nav_right ) ).hide();
396
-
397
- var pos = wrap.position(),
398
- equal;
399
-
400
- start_pos = {
401
- top : pos.top ,
402
- left : pos.left,
403
- width : wrap.width(),
404
- height : wrap.height()
405
- };
406
-
407
- equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height);
408
-
409
- inner.fadeOut(currentOpts.changeFade, function() {
410
- var finish_resizing = function() {
411
- inner.html( tmp.contents() ).fadeIn(currentOpts.changeFade, _finish);
412
- };
413
-
414
- $.event.trigger('fancybox-change');
415
-
416
- inner.empty().css('overflow', 'hidden');
417
-
418
- if (equal) {
419
- inner.css({
420
- top : currentOpts.padding,
421
- left : currentOpts.padding,
422
- width : Math.max(final_pos.width - (currentOpts.padding * 2), 1),
423
- height : Math.max(final_pos.height - (currentOpts.padding * 2) - titleh, 1)
424
- });
425
-
426
- finish_resizing();
427
-
428
- } else {
429
- inner.css({
430
- top : currentOpts.padding,
431
- left : currentOpts.padding,
432
- width : Math.max(start_pos.width - (currentOpts.padding * 2), 1),
433
- height : Math.max(start_pos.height - (currentOpts.padding * 2), 1)
434
- });
435
-
436
- fx.prop = 0;
437
-
438
- $(fx).animate({ prop: 1 }, {
439
- duration : currentOpts.changeSpeed,
440
- easing : currentOpts.easingChange,
441
- step : fancybox_draw,
442
- complete : finish_resizing
443
- });
444
- }
445
- });
446
-
447
- return;
448
- }
449
-
450
- wrap.css('opacity', 1);
451
-
452
- if (currentOpts.transitionIn == 'elastic') {
453
- start_pos = fancybox_get_zoom_from();
454
-
455
- inner.css({
456
- top : currentOpts.padding,
457
- left : currentOpts.padding,
458
- width : Math.max(start_pos.width - (currentOpts.padding * 2), 1),
459
- height : Math.max(start_pos.height - (currentOpts.padding * 2), 1)
460
- })
461
- .html( tmp.contents() );
462
-
463
- wrap.css(start_pos).show();
464
-
465
- if (currentOpts.opacity) {
466
- final_pos.opacity = 0;
467
- }
468
-
469
- fx.prop = 0;
470
-
471
- $(fx).animate({ prop: 1 }, {
472
- duration : currentOpts.speedIn,
473
- easing : currentOpts.easingIn,
474
- step : fancybox_draw,
475
- complete : _finish
476
- });
477
-
478
- } else {
479
- inner.css({
480
- top : currentOpts.padding,
481
- left : currentOpts.padding,
482
- width : Math.max(final_pos.width - (currentOpts.padding * 2), 1),
483
- height : Math.max(final_pos.height - (currentOpts.padding * 2) - titleh, 1)
484
- })
485
- .html( tmp.contents() );
486
-
487
- wrap.css( final_pos ).fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish );
488
- }
489
- },
490
-
491
- fancybox_process_inline = function() {
492
- tmp.width( selectedOpts.width );
493
- tmp.height( selectedOpts.height );
494
-
495
- if (selectedOpts.width == 'auto') {
496
- selectedOpts.width = tmp.width();
497
- }
498
- if (selectedOpts.height == 'auto') {
499
- selectedOpts.height = tmp.height();
500
- }
501
-
502
- fancybox_show();
503
- },
504
-
505
- fancybox_process_image = function() {
506
- busy = true;
507
-
508
- selectedOpts.width = imgPreloader.width;
509
- selectedOpts.height = imgPreloader.height;
510
-
511
- $("<img />").attr({
512
- 'id' : 'fancybox-img',
513
- 'src' : imgPreloader.src,
514
- 'alt' : selectedOpts.title
515
- }).appendTo( tmp );
516
-
517
- fancybox_show();
518
- },
519
-
520
- fancybox_start = function() {
521
- fancybox_abort();
522
-
523
- var obj = selectedArray[ selectedIndex ],
524
- href,
525
- type,
526
- title,
527
- str,
528
- emb,
529
- selector,
530
- data;
531
-
532
- selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox')));
533
- title = obj.title || $(obj).title || selectedOpts.title || '';
534
-
535
- if (obj.nodeName && !selectedOpts.orig) {
536
- selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj);
537
- }
538
-
539
- if (title === '' && selectedOpts.orig) {
540
- title = selectedOpts.orig.attr('alt');
541
- }
542
-
543
- if (obj.nodeName && (/^(?:javascript|#)/i).test(obj.href)) {
544
- href = selectedOpts.href || null;
545
- } else {
546
- href = selectedOpts.href || obj.href || null;
547
- }
548
-
549
- if (selectedOpts.type) {
550
- type = selectedOpts.type;
551
-
552
- if (!href) {
553
- href = selectedOpts.content;
554
- }
555
-
556
- } else if (selectedOpts.content) {
557
- type = 'html';
558
-
559
- } else if (href) {
560
- if (href.match(imgRegExp)) {
561
- type = 'image';
562
-
563
- } else if (href.match(swfRegExp)) {
564
- type = 'swf';
565
-
566
- } else if ($(obj).hasClass("iframe")) {
567
- type = 'iframe';
568
-
569
- } else if (href.match(/#/)) {
570
- obj = href.substr(href.indexOf("#"));
571
-
572
- type = $(obj).length > 0 ? 'inline' : 'ajax';
573
- } else {
574
- type = 'ajax';
575
- }
576
- } else {
577
- type = 'inline';
578
- }
579
-
580
- selectedOpts.type = type;
581
- selectedOpts.href = href;
582
- selectedOpts.title = title;
583
-
584
- if (selectedOpts.autoDimensions && selectedOpts.type !== 'iframe' && selectedOpts.type !== 'swf') {
585
- selectedOpts.width = 'auto';
586
- selectedOpts.height = 'auto';
587
- }
588
-
589
- if (selectedOpts.modal) {
590
- selectedOpts.overlayShow = true;
591
- selectedOpts.hideOnOverlayClick = false;
592
- selectedOpts.hideOnContentClick = false;
593
- selectedOpts.enableEscapeButton = false;
594
- selectedOpts.showCloseButton = false;
595
- }
596
-
597
- if ($.isFunction(selectedOpts.onStart)) {
598
- if (selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts) === false) {
599
- busy = false;
600
- return;
601
- }
602
- }
603
-
604
- tmp.css('padding', (shadow + selectedOpts.padding + selectedOpts.margin));
605
-
606
- $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() {
607
- $(this).replaceWith(inner.children());
608
- });
609
-
610
- switch (type) {
611
- case 'html' :
612
- tmp.html( selectedOpts.content );
613
- fancybox_process_inline();
614
- break;
615
-
616
- case 'inline' :
617
- $('<div class="fancybox-inline-tmp" />').hide().insertBefore( $(obj) ).bind('fancybox-cleanup', function() {
618
- $(this).replaceWith(inner.children());
619
- }).bind('fancybox-cancel', function() {
620
- $(this).replaceWith(tmp.children());
621
- });
622
-
623
- $(obj).appendTo(tmp);
624
-
625
- fancybox_process_inline();
626
- break;
627
-
628
- case 'image':
629
- busy = false;
630
-
631
- $.fancybox.showActivity();
632
-
633
- imgPreloader = new Image();
634
-
635
- imgPreloader.onerror = function() {
636
- fancybox_error();
637
- };
638
-
639
- imgPreloader.onload = function() {
640
- imgPreloader.onerror = null;
641
- imgPreloader.onload = null;
642
- fancybox_process_image();
643
- };
644
-
645
- imgPreloader.src = href;
646
-
647
- break;
648
-
649
- case 'swf':
650
- str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
651
- emb = '';
652
-
653
- $.each(selectedOpts.swf, function(name, val) {
654
- str += '<param name="' + name + '" value="' + val + '"></param>';
655
- emb += ' ' + name + '="' + val + '"';
656
- });
657
-
658
- str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';
659
-
660
- tmp.html(str);
661
-
662
- fancybox_process_inline();
663
- break;
664
-
665
- case 'ajax':
666
- selector = href.split('#', 2);
667
- data = selectedOpts.ajax.data || {};
668
-
669
- if (selector.length > 1) {
670
- href = selector[0];
671
-
672
- if (typeof data == "string") {
673
- data += '&selector=' + selector[1];
674
- } else {
675
- data.selector = selector[1];
676
- }
677
- }
678
-
679
- busy = false;
680
- $.fancybox.showActivity();
681
-
682
- ajaxLoader = $.ajax($.extend(selectedOpts.ajax, {
683
- url : href,
684
- data : data,
685
- error : fancybox_error,
686
- success : function(data, textStatus, XMLHttpRequest) {
687
- if (ajaxLoader.status == 200) {
688
- tmp.html( data );
689
- fancybox_process_inline();
690
- }
691
- }
692
- }));
693
-
694
- break;
695
-
696
- case 'iframe' :
697
- $('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" scrolling="' + selectedOpts.scrolling + '" src="' + selectedOpts.href + '"></iframe>').appendTo(tmp);
698
- fancybox_show();
699
- break;
700
- }
701
- },
702
-
703
- fancybox_animate_loading = function() {
704
- if (!loading.is(':visible')){
705
- clearInterval(loadingTimer);
706
- return;
707
- }
708
-
709
- $('div', loading).css('top', (loadingFrame * -40) + 'px');
710
-
711
- loadingFrame = (loadingFrame + 1) % 12;
712
- },
713
-
714
- fancybox_init = function() {
715
- if ($("#fancybox-wrap").length) {
716
- return;
717
- }
718
-
719
- $('body').append(
720
- tmp = $('<div id="fancybox-tmp"></div>'),
721
- loading = $('<div id="fancybox-loading"><div></div></div>'),
722
- overlay = $('<div id="fancybox-overlay"></div>'),
723
- wrap = $('<div id="fancybox-wrap"></div>')
724
- );
725
-
726
- if (!$.support.opacity) {
727
- wrap.addClass('fancybox-ie');
728
- loading.addClass('fancybox-ie');
729
- }
730
-
731
- outer = $('<div id="fancybox-outer"></div>')
732
- .append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>')
733
- .appendTo( wrap );
734
-
735
- outer.append(
736
- inner = $('<div id="fancybox-inner"></div>'),
737
- close = $('<a id="fancybox-close"></a>'),
738
-
739
- nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
740
- nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
741
- );
742
-
743
- close.click($.fancybox.close);
744
- loading.click($.fancybox.cancel);
745
-
746
- nav_left.click(function(e) {
747
- e.preventDefault();
748
- $.fancybox.prev();
749
- });
750
-
751
- nav_right.click(function(e) {
752
- e.preventDefault();
753
- $.fancybox.next();
754
- });
755
-
756
- if (isIE6) {
757
- overlay.get(0).style.setExpression('height', "document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");
758
- loading.get(0).style.setExpression('top', "(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");
759
-
760
- outer.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>');
761
- }
762
- };
763
-
764
- /*
765
- * Public methods
766
- */
767
-
768
- $.fn.fancybox = function(options) {
769
- $(this)
770
- .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {})))
771
- .unbind('click.fb').bind('click.fb', function(e) {
772
- e.preventDefault();
773
-
774
- if (busy) {
775
- return;
776
- }
777
-
778
- busy = true;
779
-
780
- $(this).blur();
781
-
782
- selectedArray = [];
783
- selectedIndex = 0;
784
-
785
- var rel = $(this).attr('rel') || '';
786
-
787
- if (!rel || rel == '' || rel === 'nofollow') {
788
- selectedArray.push(this);
789
-
790
- } else {
791
- selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]");
792
- selectedIndex = selectedArray.index( this );
793
- }
794
-
795
- fancybox_start();
796
-
797
- return false;
798
- });
799
-
800
- return this;
801
- };
802
-
803
- $.fancybox = function(obj) {
804
- if (busy) {
805
- return;
806
- }
807
-
808
- busy = true;
809
-
810
- var opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {};
811
-
812
- selectedArray = [];
813
- selectedIndex = opts.index || 0;
814
-
815
- if ($.isArray(obj)) {
816
- for (var i = 0, j = obj.length; i < j; i++) {
817
- if (typeof obj[i] == 'object') {
818
- $(obj[i]).data('fancybox', $.extend({}, opts, obj[i]));
819
- } else {
820
- obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts));
821
- }
822
- }
823
-
824
- selectedArray = jQuery.merge(selectedArray, obj);
825
-
826
- } else {
827
- if (typeof obj == 'object') {
828
- $(obj).data('fancybox', $.extend({}, opts, obj));
829
- } else {
830
- obj = $({}).data('fancybox', $.extend({content : obj}, opts));
831
- }
832
-
833
- selectedArray.push(obj);
834
- }
835
-
836
- if (selectedIndex > selectedArray.length || selectedIndex < 0) {
837
- selectedIndex = 0;
838
- }
839
-
840
- fancybox_start();
841
- };
842
-
843
- $.fancybox.showActivity = function() {
844
- clearInterval(loadingTimer);
845
-
846
- loading.show();
847
- loadingTimer = setInterval(fancybox_animate_loading, 66);
848
- };
849
-
850
- $.fancybox.hideActivity = function() {
851
- loading.hide();
852
- };
853
-
854
- $.fancybox.next = function() {
855
- return $.fancybox.pos( currentIndex + 1);
856
- };
857
-
858
- $.fancybox.prev = function() {
859
- return $.fancybox.pos( currentIndex - 1);
860
- };
861
-
862
- $.fancybox.pos = function(pos) {
863
- if (busy) {
864
- return;
865
- }
866
-
867
- pos = parseInt(pos, 10);
868
-
869
- if (pos > -1 && currentArray.length > pos) {
870
- selectedIndex = pos;
871
- fancybox_start();
872
- }
873
-
874
- if (currentOpts.cyclic && currentArray.length > 1 && pos < 0) {
875
- selectedIndex = currentArray.length - 1;
876
- fancybox_start();
877
- }
878
-
879
- if (currentOpts.cyclic && currentArray.length > 1 && pos >= currentArray.length) {
880
- selectedIndex = 0;
881
- fancybox_start();
882
- }
883
-
884
- return;
885
- };
886
-
887
- $.fancybox.cancel = function() {
888
- if (busy) {
889
- return;
890
- }
891
-
892
- busy = true;
893
-
894
- $.event.trigger('fancybox-cancel');
895
-
896
- fancybox_abort();
897
-
898
- if (selectedOpts && $.isFunction(selectedOpts.onCancel)) {
899
- selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts);
900
- }
901
-
902
- busy = false;
903
- };
904
-
905
- // Note: within an iframe use - parent.$.fancybox.close();
906
- $.fancybox.close = function() {
907
- if (busy || wrap.is(':hidden')) {
908
- return;
909
- }
910
-
911
- busy = true;
912
-
913
- if (currentOpts && $.isFunction(currentOpts.onCleanup)) {
914
- if (currentOpts.onCleanup(currentArray, currentIndex, currentOpts) === false) {
915
- busy = false;
916
- return;
917
- }
918
- }
919
-
920
- fancybox_abort();
921
-
922
- $(close.add( nav_left ).add( nav_right )).hide();
923
-
924
- $('#fancybox-title').remove();
925
-
926
- wrap.add(inner).add(overlay).unbind();
927
-
928
- $(window).unbind("resize.fb scroll.fb");
929
- $(document).unbind('keydown.fb');
930
-
931
- function _cleanup() {
932
- overlay.fadeOut('fast');
933
-
934
- wrap.hide();
935
-
936
- $.event.trigger('fancybox-cleanup');
937
-
938
- inner.empty();
939
-
940
- if ($.isFunction(currentOpts.onClosed)) {
941
- currentOpts.onClosed(currentArray, currentIndex, currentOpts);
942
- }
943
-
944
- currentArray = selectedOpts = [];
945
- currentIndex = selectedIndex = 0;
946
- currentOpts = selectedOpts = {};
947
-
948
- busy = false;
949
- }
950
-
951
- inner.css('overflow', 'hidden');
952
-
953
- if (currentOpts.transitionOut == 'elastic') {
954
- start_pos = fancybox_get_zoom_from();
955
-
956
- var pos = wrap.position();
957
-
958
- final_pos = {
959
- top : pos.top ,
960
- left : pos.left,
961
- width : wrap.width(),
962
- height : wrap.height()
963
- };
964
-
965
- if (currentOpts.opacity) {
966
- final_pos.opacity = 1;
967
- }
968
-
969
- fx.prop = 1;
970
-
971
- $(fx).animate({ prop: 0 }, {
972
- duration : currentOpts.speedOut,
973
- easing : currentOpts.easingOut,
974
- step : fancybox_draw,
975
- complete : _cleanup
976
- });
977
-
978
- } else {
979
- wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup);
980
- }
981
- };
982
-
983
- $.fancybox.resize = function() {
984
- var c, h;
985
-
986
- if (busy || wrap.is(':hidden')) {
987
- return;
988
- }
989
-
990
- busy = true;
991
-
992
- c = inner.wrapInner("<div style='overflow:auto'></div>").children();
993
- h = c.height();
994
-
995
- wrap.css({height: h + (currentOpts.padding * 2) + titleh});
996
- inner.css({height: h});
997
-
998
- c.replaceWith(c.children());
999
-
1000
- $.fancybox.center();
1001
- };
1002
-
1003
- $.fancybox.center = function() {
1004
- busy = true;
1005
-
1006
- var view = fancybox_get_viewport(),
1007
- margin = currentOpts.margin,
1008
- to = {};
1009
-
1010
- to.top = view[3] + ((view[1] - ((wrap.height() - titleh) + (shadow * 2 ))) * 0.5);
1011
- to.left = view[2] + ((view[0] - (wrap.width() + (shadow * 2 ))) * 0.5);
1012
-
1013
- to.top = Math.max(view[3] + margin, to.top);
1014
- to.left = Math.max(view[2] + margin, to.left);
1015
-
1016
- wrap.css(to);
1017
-
1018
- busy = false;
1019
- };
1020
-
1021
- $.fn.fancybox.defaults = {
1022
- padding : 10,
1023
- margin : 20,
1024
- opacity : false,
1025
- modal : false,
1026
- cyclic : false,
1027
- scrolling : 'auto', // 'auto', 'yes' or 'no'
1028
-
1029
- width : 560,
1030
- height : 340,
1031
-
1032
- autoScale : true,
1033
- autoDimensions : true,
1034
- centerOnScroll : false,
1035
-
1036
- ajax : {},
1037
- swf : { wmode: 'transparent' },
1038
-
1039
- hideOnOverlayClick : true,
1040
- hideOnContentClick : false,
1041
-
1042
- overlayShow : true,
1043
- overlayOpacity : 0.3,
1044
- overlayColor : '#666',
1045
-
1046
- titleShow : true,
1047
- titlePosition : 'outside', // 'outside', 'inside' or 'over'
1048
- titleFormat : null,
1049
-
1050
- transitionIn : 'fade', // 'elastic', 'fade' or 'none'
1051
- transitionOut : 'fade', // 'elastic', 'fade' or 'none'
1052
-
1053
- speedIn : 300,
1054
- speedOut : 300,
1055
-
1056
- changeSpeed : 300,
1057
- changeFade : 'fast',
1058
-
1059
- easingIn : 'swing',
1060
- easingOut : 'swing',
1061
-
1062
- showCloseButton : true,
1063
- showNavArrows : true,
1064
- enableEscapeButton : true,
1065
-
1066
- onStart : null,
1067
- onCancel : null,
1068
- onComplete : null,
1069
- onCleanup : null,
1070
- onClosed : null
1071
- };
1072
-
1073
- $(document).ready(function() {
1074
- fancybox_init();
1075
- });
1076
-
1077
- })(jQuery);