zen 0.1a → 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (414) hide show
  1. data/CHANGELOG.md +17 -0
  2. data/MANIFEST +161 -264
  3. data/README.md +114 -0
  4. data/ROADMAP.md +31 -0
  5. data/Thorfile +8 -0
  6. data/lib/zen.rb +13 -10
  7. data/lib/zen/base/database.rb +34 -28
  8. data/lib/zen/base/language.rb +174 -92
  9. data/lib/zen/base/logger.rb +8 -6
  10. data/lib/zen/base/package.rb +36 -29
  11. data/lib/zen/base/version.rb +2 -1
  12. data/lib/zen/bin/zen_binary.rb +7 -71
  13. data/lib/zen/controller/admin_controller.rb +31 -11
  14. data/lib/zen/controller/base_controller.rb +13 -13
  15. data/lib/zen/controller/frontend_controller.rb +2 -0
  16. data/lib/zen/controller/main_controller.rb +9 -8
  17. data/lib/zen/helper/acl.rb +4 -1
  18. data/lib/zen/helper/asset.rb +5 -3
  19. data/lib/zen/helper/breadcrumb.rb +10 -8
  20. data/lib/zen/helper/common.rb +28 -13
  21. data/lib/zen/language/en/zen_general.yml +31 -0
  22. data/lib/zen/language/en/zen_models.yml +13 -0
  23. data/lib/zen/layout/admin.xhtml +76 -68
  24. data/lib/zen/layout/login.xhtml +48 -42
  25. data/lib/zen/liquid/controller_behavior.rb +2 -0
  26. data/lib/zen/liquid/general.rb +60 -9
  27. data/lib/zen/liquid/redirect.rb +29 -6
  28. data/lib/zen/liquid/strip.rb +3 -1
  29. data/lib/zen/model/methods.rb +7 -5
  30. data/lib/zen/model/settings.rb +69 -18
  31. data/lib/zen/package/all.rb +7 -0
  32. data/lib/zen/{packages → package}/categories/lib/categories.rb +3 -3
  33. data/lib/zen/package/categories/lib/categories/controller/categories.rb +250 -0
  34. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +216 -0
  35. data/lib/zen/package/categories/lib/categories/language/en/categories.yml +35 -0
  36. data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +32 -0
  37. data/lib/zen/package/categories/lib/categories/liquid/categories.rb +16 -0
  38. data/lib/zen/{packages → package}/categories/lib/categories/model/category.rb +9 -9
  39. data/lib/zen/{packages → package}/categories/lib/categories/model/category_group.rb +6 -4
  40. data/lib/zen/package/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
  41. data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +59 -0
  42. data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +78 -0
  43. data/lib/zen/package/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
  44. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/edit.xhtml +7 -0
  45. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +31 -0
  46. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +85 -0
  47. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/new.xhtml +7 -0
  48. data/lib/zen/{packages → package}/categories/migrations/.gitkeep +0 -0
  49. data/lib/zen/{packages → package}/categories/migrations/1295282303_create_schema.rb +3 -2
  50. data/lib/zen/{packages → package}/comments/lib/comments.rb +1 -1
  51. data/lib/zen/{packages → package}/comments/lib/comments/controller/comments.rb +81 -41
  52. data/lib/zen/{packages → package}/comments/lib/comments/controller/comments_form.rb +15 -13
  53. data/lib/zen/package/comments/lib/comments/language/en/comments.yml +42 -0
  54. data/lib/zen/{packages → package}/comments/lib/comments/liquid/comment_form.rb +43 -13
  55. data/lib/zen/{packages → package}/comments/lib/comments/liquid/comments.rb +10 -12
  56. data/lib/zen/{packages → package}/comments/lib/comments/model/comment.rb +24 -0
  57. data/lib/zen/package/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
  58. data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +57 -0
  59. data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +79 -0
  60. data/lib/zen/{packages → package}/comments/migrations/.gitkeep +0 -0
  61. data/lib/zen/{packages → package}/comments/migrations/1295282202_create_schema.rb +6 -4
  62. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields.rb +2 -2
  63. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +224 -0
  64. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +259 -0
  65. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +32 -0
  66. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +52 -0
  67. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field.rb +12 -7
  68. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_group.rb +14 -4
  69. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_value.rb +4 -2
  70. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/edit.xhtml +7 -0
  71. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +30 -0
  72. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +100 -0
  73. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/new.xhtml +7 -0
  74. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/edit.xhtml +7 -0
  75. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +107 -0
  76. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +84 -0
  77. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/new.xhtml +7 -0
  78. data/lib/zen/{packages → package}/custom_fields/migrations/.gitkeep +0 -0
  79. data/lib/zen/{packages → package}/custom_fields/migrations/1295255665_create_schema.rb +8 -7
  80. data/lib/zen/package/menus/lib/menus.rb +59 -0
  81. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +244 -0
  82. data/lib/zen/package/menus/lib/menus/controller/menus.rb +231 -0
  83. data/lib/zen/package/menus/lib/menus/helper/menu_item.rb +93 -0
  84. data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +41 -0
  85. data/lib/zen/package/menus/lib/menus/language/en/menus.yml +39 -0
  86. data/lib/zen/package/menus/lib/menus/liquid/menus.rb +152 -0
  87. data/lib/zen/package/menus/lib/menus/model/menu.rb +38 -0
  88. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +33 -0
  89. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/edit.xhtml +7 -0
  90. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +64 -0
  91. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +84 -0
  92. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/new.xhtml +7 -0
  93. data/lib/zen/package/menus/lib/menus/view/admin/menus/edit.xhtml +7 -0
  94. data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +42 -0
  95. data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +95 -0
  96. data/lib/zen/package/menus/lib/menus/view/admin/menus/new.xhtml +7 -0
  97. data/lib/zen/{packages/sections → package/menus}/migrations/.gitkeep +0 -0
  98. data/lib/zen/package/menus/migrations/1297184342_create_schema.rb +33 -0
  99. data/lib/zen/{packages → package}/sections/lib/sections.rb +0 -0
  100. data/lib/zen/{packages → package}/sections/lib/sections/controller/section_entries.rb +132 -68
  101. data/lib/zen/{packages → package}/sections/lib/sections/controller/sections.rb +96 -48
  102. data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +43 -0
  103. data/lib/zen/package/sections/lib/sections/language/en/sections.yml +48 -0
  104. data/lib/zen/{packages → package}/sections/lib/sections/liquid/section_entries.rb +55 -43
  105. data/lib/zen/{packages → package}/sections/lib/sections/liquid/sections.rb +9 -8
  106. data/lib/zen/package/sections/lib/sections/model/section.rb +62 -0
  107. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +53 -0
  108. data/lib/zen/package/sections/lib/sections/view/admin/edit.xhtml +7 -0
  109. data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +107 -0
  110. data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +93 -0
  111. data/lib/zen/package/sections/lib/sections/view/admin/new.xhtml +7 -0
  112. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/edit.xhtml +7 -0
  113. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +233 -0
  114. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +82 -0
  115. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/new.xhtml +7 -0
  116. data/lib/zen/{packages/settings → package/sections}/migrations/.gitkeep +0 -0
  117. data/lib/zen/{packages → package}/sections/migrations/1295251836_create_schema.rb +6 -6
  118. data/lib/zen/{packages → package}/settings/lib/settings.rb +0 -0
  119. data/lib/zen/{packages → package}/settings/lib/settings/controller/settings.rb +33 -24
  120. data/lib/zen/package/settings/lib/settings/language/en/settings.yml +26 -0
  121. data/lib/zen/{packages → package}/settings/lib/settings/liquid/setting.rb +5 -3
  122. data/lib/zen/package/settings/lib/settings/model/setting.rb +113 -0
  123. data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +111 -0
  124. data/lib/zen/{packages/users → package/settings}/migrations/.gitkeep +0 -0
  125. data/lib/zen/{packages → package}/settings/migrations/1295597111_create_schema.rb +2 -2
  126. data/lib/zen/package/settings/migrations/1299538742_add_language_key.rb +62 -0
  127. data/lib/zen/{packages → package}/users/lib/users.rb +6 -2
  128. data/lib/zen/package/users/lib/users/controller/access_rules.rb +238 -0
  129. data/lib/zen/package/users/lib/users/controller/user_groups.rb +217 -0
  130. data/lib/zen/{packages → package}/users/lib/users/controller/users.rb +115 -57
  131. data/lib/zen/package/users/lib/users/language/en/access_rules.yml +35 -0
  132. data/lib/zen/package/users/lib/users/language/en/user_groups.yml +31 -0
  133. data/lib/zen/package/users/lib/users/language/en/users.yml +50 -0
  134. data/lib/zen/{packages → package}/users/lib/users/liquid/user.rb +8 -6
  135. data/lib/zen/{packages → package}/users/lib/users/liquid/users.rb +5 -3
  136. data/lib/zen/{packages → package}/users/lib/users/model/access_rule.rb +11 -3
  137. data/lib/zen/{packages → package}/users/lib/users/model/user.rb +5 -1
  138. data/lib/zen/{packages → package}/users/lib/users/model/user_group.rb +6 -3
  139. data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +42 -0
  140. data/lib/zen/package/users/lib/users/view/admin/access-rules/edit.xhtml +7 -0
  141. data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +108 -0
  142. data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +93 -0
  143. data/lib/zen/package/users/lib/users/view/admin/access-rules/new.xhtml +7 -0
  144. data/lib/zen/package/users/lib/users/view/admin/user-groups/edit.xhtml +7 -0
  145. data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +37 -0
  146. data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +76 -0
  147. data/lib/zen/package/users/lib/users/view/admin/user-groups/new.xhtml +7 -0
  148. data/lib/zen/package/users/lib/users/view/admin/users/edit.xhtml +7 -0
  149. data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +53 -0
  150. data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +81 -0
  151. data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +27 -0
  152. data/lib/zen/package/users/lib/users/view/admin/users/new.xhtml +7 -0
  153. data/{pkg → lib/zen/package/users/migrations}/.gitkeep +0 -0
  154. data/lib/zen/{packages → package}/users/migrations/1295281013_create_schema.rb +2 -2
  155. data/lib/zen/public/admin/css/boilerplate.css +62 -60
  156. data/lib/zen/public/admin/css/buttons.css +46 -0
  157. data/lib/zen/public/admin/css/datepicker.css +163 -0
  158. data/lib/zen/public/admin/css/editor.css +91 -0
  159. data/lib/zen/public/admin/css/forms.css +68 -0
  160. data/lib/zen/public/admin/css/general.css +34 -419
  161. data/lib/zen/public/admin/css/grid.css +26 -26
  162. data/lib/zen/public/admin/css/layout.css +73 -62
  163. data/lib/zen/public/admin/css/modals.css +63 -0
  164. data/lib/zen/public/admin/css/notifications.css +84 -0
  165. data/lib/zen/public/admin/css/tables.css +71 -0
  166. data/lib/zen/public/admin/css/tabs.css +53 -0
  167. data/lib/zen/public/admin/js/mootools/more.js +139 -51
  168. data/lib/zen/public/admin/js/vendor/datepicker/Picker.Attach.js +137 -0
  169. data/lib/zen/public/admin/js/vendor/datepicker/Picker.Date.js +576 -0
  170. data/lib/zen/public/admin/js/vendor/datepicker/Picker.js +291 -0
  171. data/lib/zen/public/admin/js/vendor/datepicker/README.md +325 -0
  172. data/lib/zen/public/admin/js/vendor/datepicker/locale.js +16 -0
  173. data/lib/zen/public/admin/js/zen/editor/base.js +173 -183
  174. data/lib/zen/public/admin/js/zen/editor/drivers/html.js +74 -89
  175. data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +72 -87
  176. data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +72 -87
  177. data/lib/zen/public/admin/js/zen/init.js +65 -51
  178. data/lib/zen/public/admin/js/zen/modal.js +108 -121
  179. data/lib/zen/public/admin/js/zen/notification.js +163 -165
  180. data/lib/zen/public/admin/js/zen/tabs.js +203 -210
  181. data/lib/zen/task/build.rb +123 -0
  182. data/lib/zen/task/clean.rb +46 -0
  183. data/lib/zen/task/db.rb +120 -0
  184. data/lib/zen/task/package.rb +82 -0
  185. data/lib/zen/task/proto.rb +116 -0
  186. data/{LICENSE → license.txt} +2 -2
  187. data/proto/app/Thorfile +4 -0
  188. data/proto/app/config/middlewares.rb +3 -3
  189. data/proto/app/config/requires.rb +1 -6
  190. data/proto/app/start.rb +5 -10
  191. data/{lib/zen/packages/settings → proto/package}/LICENSE +0 -0
  192. data/{lib/zen/packages/categories → proto/package}/README.textile +0 -0
  193. data/proto/package/lib/package.rb +41 -0
  194. data/proto/{module/lib/module → package/lib/package}/controller/controllers.rb +3 -2
  195. data/proto/{module/lib/module → package/lib/package}/language/en/languages.rb +0 -0
  196. data/proto/{module/lib/module → package/lib/package}/model/model.rb +0 -0
  197. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/edit.xhtml +0 -0
  198. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/form.xhtml +0 -0
  199. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/index.xhtml +0 -0
  200. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/new.xhtml +0 -0
  201. data/proto/{module → package}/migrations/.gitkeep +0 -0
  202. metadata +199 -280
  203. data/README.textile +0 -42
  204. data/Rakefile +0 -6
  205. data/doc/Categories.html +0 -93
  206. data/doc/Categories/Controllers.html +0 -93
  207. data/doc/Categories/Controllers/Categories.html +0 -995
  208. data/doc/Categories/Controllers/CategoryGroups.html +0 -878
  209. data/doc/Categories/Models.html +0 -97
  210. data/doc/Categories/Models/Category.html +0 -269
  211. data/doc/Categories/Models/CategoryGroup.html +0 -231
  212. data/doc/Comments.html +0 -93
  213. data/doc/Comments/Controllers.html +0 -93
  214. data/doc/Comments/Controllers/Comments.html +0 -797
  215. data/doc/Comments/Controllers/CommentsForm.html +0 -487
  216. data/doc/Comments/Liquid.html +0 -93
  217. data/doc/Comments/Liquid/CommentForm.html +0 -522
  218. data/doc/Comments/Liquid/Comments.html +0 -543
  219. data/doc/Comments/Models.html +0 -95
  220. data/doc/Comments/Models/Comment.html +0 -260
  221. data/doc/CustomFields.html +0 -93
  222. data/doc/CustomFields/Controllers.html +0 -93
  223. data/doc/CustomFields/Controllers/CustomFieldGroups.html +0 -902
  224. data/doc/CustomFields/Controllers/CustomFields.html +0 -974
  225. data/doc/CustomFields/Models.html +0 -97
  226. data/doc/CustomFields/Models/CustomField.html +0 -272
  227. data/doc/CustomFields/Models/CustomFieldGroup.html +0 -259
  228. data/doc/CustomFields/Models/CustomFieldValue.html +0 -154
  229. data/doc/Ramaze.html +0 -93
  230. data/doc/Ramaze/Helper.html +0 -93
  231. data/doc/Ramaze/Helper/ACL.html +0 -531
  232. data/doc/Ramaze/Helper/Asset.html +0 -617
  233. data/doc/Ramaze/Helper/Breadcrumb.html +0 -411
  234. data/doc/Ramaze/Helper/Common.html +0 -738
  235. data/doc/Sections.html +0 -93
  236. data/doc/Sections/Controllers.html +0 -93
  237. data/doc/Sections/Controllers/SectionEntries.html +0 -1100
  238. data/doc/Sections/Controllers/Sections.html +0 -953
  239. data/doc/Sections/Liquid.html +0 -93
  240. data/doc/Sections/Liquid/SectionEntries.html +0 -674
  241. data/doc/Sections/Liquid/Sections.html +0 -494
  242. data/doc/Sections/Models.html +0 -97
  243. data/doc/Sections/Models/Section.html +0 -272
  244. data/doc/Sections/Models/SectionEntry.html +0 -264
  245. data/doc/Sequel.html +0 -91
  246. data/doc/Sequel/Model.html +0 -243
  247. data/doc/Settings.html +0 -93
  248. data/doc/Settings/Controllers.html +0 -91
  249. data/doc/Settings/Controllers/Settings.html +0 -565
  250. data/doc/Settings/Liquid.html +0 -91
  251. data/doc/Settings/Liquid/Setting.html +0 -426
  252. data/doc/Settings/Models.html +0 -95
  253. data/doc/Settings/Models/Setting.html +0 -293
  254. data/doc/Users.html +0 -93
  255. data/doc/Users/Controllers.html +0 -93
  256. data/doc/Users/Controllers/AccessRules.html +0 -904
  257. data/doc/Users/Controllers/UserGroups.html +0 -879
  258. data/doc/Users/Controllers/Users.html +0 -1124
  259. data/doc/Users/Liquid.html +0 -93
  260. data/doc/Users/Liquid/User.html +0 -480
  261. data/doc/Users/Liquid/Users.html +0 -495
  262. data/doc/Users/Models.html +0 -97
  263. data/doc/Users/Models/AccessRule.html +0 -257
  264. data/doc/Users/Models/User.html +0 -649
  265. data/doc/Users/Models/UserGroup.html +0 -267
  266. data/doc/Zen.html +0 -391
  267. data/doc/Zen/Bin.html +0 -113
  268. data/doc/Zen/Bin/Base.html +0 -727
  269. data/doc/Zen/Controllers.html +0 -115
  270. data/doc/Zen/Controllers/AdminController.html +0 -298
  271. data/doc/Zen/Controllers/BaseController.html +0 -272
  272. data/doc/Zen/Controllers/FrontendController.html +0 -164
  273. data/doc/Zen/Controllers/MainController.html +0 -421
  274. data/doc/Zen/Database.html +0 -498
  275. data/doc/Zen/Language.html +0 -660
  276. data/doc/Zen/Liquid.html +0 -117
  277. data/doc/Zen/Liquid/ControllerBehavior.html +0 -448
  278. data/doc/Zen/Liquid/General.html +0 -444
  279. data/doc/Zen/Liquid/Redirect.html +0 -435
  280. data/doc/Zen/Liquid/Strip.html +0 -447
  281. data/doc/Zen/Logger.html +0 -393
  282. data/doc/Zen/Package.html +0 -909
  283. data/doc/_index.html +0 -724
  284. data/doc/class_list.html +0 -36
  285. data/doc/css/common.css +0 -1
  286. data/doc/css/full_list.css +0 -53
  287. data/doc/css/style.css +0 -310
  288. data/doc/file.README.html +0 -86
  289. data/doc/file_list.html +0 -38
  290. data/doc/frames.html +0 -13
  291. data/doc/index.html +0 -86
  292. data/doc/js/app.js +0 -203
  293. data/doc/js/full_list.js +0 -149
  294. data/doc/js/jquery.js +0 -154
  295. data/doc/method_list.html +0 -1139
  296. data/doc/top-level-namespace.html +0 -88
  297. data/lib/zen/language/en/zen_general.rb +0 -21
  298. data/lib/zen/language/en/zen_models.rb +0 -39
  299. data/lib/zen/packages/categories/LICENSE +0 -19
  300. data/lib/zen/packages/categories/lib/categories/controller/categories.rb +0 -202
  301. data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +0 -173
  302. data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +0 -38
  303. data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +0 -37
  304. data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +0 -7
  305. data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +0 -36
  306. data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +0 -70
  307. data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +0 -7
  308. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +0 -7
  309. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +0 -18
  310. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +0 -72
  311. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +0 -7
  312. data/lib/zen/packages/comments/LICENSE +0 -19
  313. data/lib/zen/packages/comments/README.textile +0 -0
  314. data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +0 -52
  315. data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +0 -7
  316. data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +0 -31
  317. data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +0 -74
  318. data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +0 -11
  319. data/lib/zen/packages/custom_fields/LICENSE +0 -19
  320. data/lib/zen/packages/custom_fields/README.textile +0 -0
  321. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +0 -179
  322. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +0 -194
  323. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +0 -45
  324. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +0 -64
  325. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +0 -7
  326. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +0 -18
  327. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +0 -88
  328. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +0 -7
  329. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +0 -7
  330. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +0 -50
  331. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +0 -75
  332. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +0 -7
  333. data/lib/zen/packages/sections/LICENSE +0 -19
  334. data/lib/zen/packages/sections/README.textile +0 -43
  335. data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +0 -58
  336. data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +0 -63
  337. data/lib/zen/packages/sections/lib/sections/model/section.rb +0 -43
  338. data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +0 -43
  339. data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +0 -7
  340. data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +0 -54
  341. data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +0 -77
  342. data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +0 -7
  343. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +0 -7
  344. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +0 -147
  345. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +0 -74
  346. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +0 -7
  347. data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +0 -18
  348. data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +0 -11
  349. data/lib/zen/packages/settings/README.textile +0 -0
  350. data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +0 -56
  351. data/lib/zen/packages/settings/lib/settings/model/setting.rb +0 -38
  352. data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +0 -79
  353. data/lib/zen/packages/users/LICENSE +0 -19
  354. data/lib/zen/packages/users/README.textile +0 -0
  355. data/lib/zen/packages/users/lib/users/controller/access_rules.rb +0 -186
  356. data/lib/zen/packages/users/lib/users/controller/user_groups.rb +0 -171
  357. data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +0 -49
  358. data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +0 -42
  359. data/lib/zen/packages/users/lib/users/language/en/users.rb +0 -63
  360. data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +0 -43
  361. data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +0 -7
  362. data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +0 -68
  363. data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +0 -85
  364. data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +0 -7
  365. data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +0 -7
  366. data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +0 -19
  367. data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +0 -69
  368. data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +0 -7
  369. data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +0 -7
  370. data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +0 -25
  371. data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +0 -73
  372. data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +0 -22
  373. data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +0 -7
  374. data/lib/zen/tasks.rb +0 -6
  375. data/proto/app/Rakefile +0 -2
  376. data/proto/module/LICENSE +0 -0
  377. data/proto/module/README.textile +0 -0
  378. data/proto/module/lib/module.rb +0 -15
  379. data/spec/javascript/css/base.css +0 -177
  380. data/spec/javascript/css/style.css +0 -204
  381. data/spec/javascript/css/typography.css +0 -70
  382. data/spec/javascript/editor/index.html +0 -65
  383. data/spec/javascript/images/close.png +0 -0
  384. data/spec/javascript/images/info.png +0 -0
  385. data/spec/javascript/js/editor.js +0 -16
  386. data/spec/javascript/js/modal.js +0 -12
  387. data/spec/javascript/js/namespace.js +0 -2
  388. data/spec/javascript/js/notification.js +0 -43
  389. data/spec/javascript/js/tabs.js +0 -8
  390. data/spec/javascript/modal/index.html +0 -45
  391. data/spec/javascript/notification/index.html +0 -48
  392. data/spec/javascript/tabs/index.html +0 -73
  393. data/spec/javascript/tabs/tab_1.html +0 -1
  394. data/spec/javascript/tabs/tab_2.html +0 -1
  395. data/spec/zen/base/language.rb +0 -31
  396. data/spec/zen/base/logger.rb +0 -34
  397. data/spec/zen/base/package.rb +0 -47
  398. data/spec/zen/config/database.rb +0 -8
  399. data/spec/zen/helper/asset.rb +0 -26
  400. data/spec/zen/helper/breadcrumb.rb +0 -24
  401. data/spec/zen/language/en/general.rb +0 -4
  402. data/spec/zen/language/nl/general.rb +0 -4
  403. data/spec/zen/liquid/general.rb +0 -42
  404. data/spec/zen/logs/.gitkeep +0 -0
  405. data/spec/zen/spec.rb +0 -9
  406. data/spec/zen/spec_database.db +0 -0
  407. data/tasks/bacon.rake +0 -99
  408. data/tasks/build.rake +0 -72
  409. data/tasks/clean.rake +0 -18
  410. data/tasks/db.rake +0 -81
  411. data/tasks/doc.rake +0 -5
  412. data/tasks/extension.rake +0 -65
  413. data/tasks/proto.rake +0 -37
  414. data/tasks/theme.rake +0 -63
@@ -0,0 +1,291 @@
1
+ /*
2
+ ---
3
+ name: Picker
4
+ description: Creates a Picker, which can be used for anything
5
+ authors: Arian Stolwijk
6
+ requires: [Core/Element.Dimensions, Core/Fx.Tween, Core/Fx.Transitions]
7
+ provides: Picker
8
+ ...
9
+ */
10
+
11
+
12
+ var Picker = new Class({
13
+
14
+ Implements: [Options, Events],
15
+
16
+ options: {/*
17
+ onShow: function(){},
18
+ onOpen: function(){},
19
+ onHide: function(){},
20
+ onClose: function(){},*/
21
+
22
+ pickerClass: 'datepicker',
23
+ inject: null,
24
+ animationDuration: 400,
25
+ useFadeInOut: true,
26
+ positionOffset: {x: 0, y: 0},
27
+ pickerPosition: 'bottom',
28
+ draggable: true,
29
+ showOnInit: true
30
+ },
31
+
32
+ initialize: function(options){
33
+ this.setOptions(options);
34
+ this.constructPicker();
35
+ if (this.options.showOnInit) this.show();
36
+ },
37
+
38
+ constructPicker: function(){
39
+ var options = this.options;
40
+
41
+ var picker = this.picker = new Element('div', {
42
+ 'class': options.pickerClass,
43
+ styles: {
44
+ left: 0,
45
+ top: 0,
46
+ display: 'none',
47
+ opacity: 0
48
+ }
49
+ }).inject(options.inject || document.body);
50
+
51
+ if (options.useFadeInOut){
52
+ picker.set('tween', {
53
+ duration: options.animationDuration,
54
+ link: 'cancel'
55
+ });
56
+ }
57
+
58
+ // Build the header
59
+ var header = this.header = new Element('div.header').inject(picker);
60
+
61
+ this.closeButton = new Element('div.closeButton[text=x]')
62
+ .addEvent('click', this.close.pass(false, this))
63
+ .inject(header);
64
+
65
+ var title = this.title = new Element('div.title').inject(header);
66
+ this.titleText = new Element('div.titleText').inject(title);
67
+
68
+ // Build the body of the picker
69
+ var body = this.body = new Element('div.body').inject(picker);
70
+
71
+ // oldContents and newContents are used to slide from the old content to a new one.
72
+ var slider = this.slider = new Element('div.slider', {
73
+ styles: {
74
+ position: 'absolute',
75
+ top: 0,
76
+ left: 0
77
+ }
78
+ }).set('tween', {
79
+ duration: options.animationDuration,
80
+ transition: Fx.Transitions.Quad.easeInOut
81
+ }).inject(body);
82
+
83
+ this.oldContents = new Element('div', {
84
+ styles: {
85
+ position: 'absolute',
86
+ top: 0
87
+ }
88
+ }).inject(slider);
89
+
90
+ this.newContents = new Element('div', {
91
+ styles: {
92
+ position: 'absolute',
93
+ top: 0,
94
+ left: 0
95
+ }
96
+ }).inject(slider);
97
+
98
+ // IFrameShim for select fields in IE
99
+ var shim = this.shim = window['IframeShim'] ? new IframeShim(picker) : null;
100
+
101
+ // Dragging
102
+ if (options.draggable && typeOf(picker.makeDraggable) == 'function'){
103
+ this.dragger = picker.makeDraggable(shim ? {
104
+ onDrag: shim.position.bind(shim)
105
+ } : null);
106
+ picker.setStyle('cursor', 'move');
107
+ }
108
+
109
+ this.addEvent('open', function(){
110
+ picker.setStyle('display', 'block');
111
+ if (shim) shim.show();
112
+ }, true);
113
+
114
+ this.addEvent('hide', function(){
115
+ picker.setStyle('display', 'none');
116
+ if (shim) shim.hide();
117
+ }, true);
118
+
119
+ },
120
+
121
+ open: function(noFx){
122
+ if (this.opened == true) return this;
123
+ this.opened = true;
124
+ this.fireEvent('open');
125
+ if (this.options.useFadeInOut && !noFx){
126
+ this.picker.fade('in').get('tween').chain(function(){
127
+ this.fireEvent('show');
128
+ }.bind(this));
129
+ } else {
130
+ this.picker.setStyle('opacity', 1);
131
+ this.fireEvent('show');
132
+ }
133
+ return this;
134
+ },
135
+
136
+ show: function(){
137
+ return this.open(true);
138
+ },
139
+
140
+ close: function(noFx){
141
+ if (this.opened == false) return this;
142
+ this.opened = false;
143
+ this.fireEvent('close');
144
+ if (this.options.useFadeInOut && !noFx){
145
+ this.picker.fade('out').get('tween').chain(function(){
146
+ this.fireEvent('hide');
147
+ }.bind(this));
148
+ } else {
149
+ this.picker.setStyle('opacity', 0);
150
+ this.fireEvent('hide');
151
+ }
152
+ return this;
153
+ },
154
+
155
+ hide: function(){
156
+ return this.close(true);
157
+ },
158
+
159
+ toggle: function(){
160
+ return this[this.opened == true ? 'close' : 'open']();
161
+ },
162
+
163
+ destroy: function(){
164
+ this.picker.destroy();
165
+ if (this.shim) this.shim.destroy();
166
+ },
167
+
168
+ position: function(x, y){
169
+ var offset = this.options.positionOffset,
170
+ scroll = document.getScroll(),
171
+ size = document.getSize(),
172
+ pickersize = this.picker.getSize();
173
+
174
+ if (typeOf(x) == 'element'){
175
+ var element = x,
176
+ where = y || this.options.pickerPosition;
177
+
178
+ var elementCoords = element.getCoordinates();
179
+
180
+ x = (where == 'left') ? elementCoords.left - pickersize.x
181
+ : (where == 'bottom' || where == 'top') ? elementCoords.left
182
+ : elementCoords.right
183
+ y = (where == 'bottom') ? elementCoords.bottom
184
+ : (where == 'top') ? elementCoords.top - pickersize.y
185
+ : elementCoords.top;
186
+ }
187
+
188
+ x += offset.x * ((where && where == 'left') ? -1 : 1);
189
+ y += offset.y * ((where && where == 'top') ? -1: 1);
190
+
191
+ if ((x + pickersize.x) > (size.x + scroll.x)) x = (size.x + scroll.x) - pickersize.x;
192
+ if ((y + pickersize.y) > (size.y + scroll.y)) y = (size.y + scroll.y) - pickersize.y;
193
+ if (x < 0) x = 0;
194
+ if (y < 0) y = 0;
195
+
196
+ this.picker.setStyles({
197
+ left: x,
198
+ top: y
199
+ });
200
+ if (this.shim) this.shim.position();
201
+ return this;
202
+ },
203
+
204
+ setBodySize: function(){
205
+ var bodysize = this.bodysize = this.body.getSize();
206
+ this.slider.setStyles({
207
+ width: 2 * bodysize.x,
208
+ height: bodysize.y
209
+ });
210
+ this.oldContents.setStyles({
211
+ left: bodysize.x,
212
+ width: bodysize.x,
213
+ height: bodysize.y
214
+ });
215
+ this.newContents.setStyles({
216
+ width: bodysize.x,
217
+ height: bodysize.y
218
+ });
219
+ },
220
+
221
+ setContent: function(){
222
+ var content = Array.from(arguments), fx;
223
+
224
+ if (['right', 'left', 'fade'].contains(content[1])) fx = content[1];
225
+ if (content.length == 1 || fx) content = content[0];
226
+
227
+ // swap contents so we can fill the newContents again and animate
228
+ var old = this.oldContents;
229
+ this.oldContents = this.newContents;
230
+ this.newContents = old;
231
+ this.newContents.empty();
232
+
233
+ var type = typeOf(content);
234
+ if (['string', 'number'].contains(type)) this.newContents.set('text', content);
235
+ else this.newContents.adopt(content);
236
+
237
+ this.setBodySize();
238
+
239
+ if (fx){
240
+ this.fx(fx);
241
+ } else {
242
+ this.slider.setStyle('left', 0);
243
+ this.oldContents.setStyles({left: 0, opacity: 0});
244
+ this.newContents.setStyles({left: 0, opacity: 1});
245
+ }
246
+ return this;
247
+ },
248
+
249
+ fx: function(fx){
250
+ var oldContents = this.oldContents,
251
+ newContents = this.newContents,
252
+ slider = this.slider,
253
+ bodysize = this.bodysize;
254
+ if (fx == 'right'){
255
+ oldContents.setStyles({left: 0, opacity: 1});
256
+ newContents.setStyles({left: bodysize.x, opacity: 1});
257
+ slider.setStyle('left', 0).tween('left', 0, -bodysize.x);
258
+ } else if (fx == 'left'){
259
+ oldContents.setStyles({left: bodysize.x, opacity: 1});
260
+ newContents.setStyles({left: 0, opacity: 1});
261
+ slider.setStyle('left', -bodysize.x).tween('left', -bodysize.x, 0);
262
+ } else if (fx == 'fade'){
263
+ slider.setStyle('left', 0);
264
+ oldContents.setStyle('left', 0).set('tween', {
265
+ duration: this.options.animationDuration / 2
266
+ }).tween('opacity', 1, 0).get('tween').chain(function(){
267
+ oldContents.setStyle('left', bodysize.x);
268
+ });
269
+ newContents.setStyles({opacity: 0, left: 0}).set('tween', {
270
+ duration: this.options.animationDuration
271
+ }).tween('opacity', 0, 1);
272
+ }
273
+ },
274
+
275
+ toElement: function(){
276
+ return this.picker;
277
+ },
278
+
279
+ setTitle: function(text){
280
+ this.titleText.set('text', text);
281
+ return this;
282
+ },
283
+
284
+ setTitleEvent: function(fn){
285
+ this.titleText.removeEvents('click');
286
+ if (fn) this.titleText.addEvent('click', fn);
287
+ this.titleText.setStyle('cursor', fn ? 'pointer' : '');
288
+ return this;
289
+ }
290
+
291
+ });
@@ -0,0 +1,325 @@
1
+ MooTools-DatePicker
2
+ ===================
3
+
4
+ MooTools DatePicker is a nice modular and themable DatePicker. It has many features and options, such as
5
+ year, month, day or timepicker only modes, min and max dates, Localization and a lot more.
6
+
7
+ This Plugin makes use of MooTools' Locale and Date plugins in MooTools More, to provide a localized
8
+ datepicker, as well as easy formatting and parsing Dates.
9
+
10
+ This DatePicker is a fork of the original [MonkeyPhysics DatePicker](http://www.monkeyphysics.com/mootools/script/2/datepicker),
11
+ and has improved a lot since then. Though it should be (almost) backward compatible.
12
+
13
+ ![Screenshot](https://github.com/arian/mootools-datepicker/raw/master/screenshot.png)
14
+
15
+ As of version 1.60 the datepicker will only work with MooTools 1.3.
16
+
17
+ How to use
18
+ ----------
19
+
20
+ Below you will find a description and some docs how you can use the datepicker.
21
+ If you find any weird things, please create a ticket at github or fork and fix it!
22
+
23
+ The DatePicker consists out of three layers, a Picker class, which can be used to create any form of Picker, a Picker.Attach class,
24
+ which handles stuff like attaching the Picker to a input or anchor element. Finally there is the DatePicker class, which you'll probably
25
+ use. Every option of the Picker or Picker.Attach classes can be used in the DatePicker class.
26
+
27
+ Basic Example
28
+ -------------
29
+
30
+ First you need to include the following html tags:
31
+
32
+ #HTML
33
+ <script src="../Source/Locale.en-US.DatePicker.js" type="text/javascript"></script>
34
+ <script src="../Source/Picker.js" type="text/javascript"></script>
35
+ <script src="../Source/Picker.Attach.js" type="text/javascript"></script>
36
+ <script src="../Source/Picker.Date.js" type="text/javascript"></script>
37
+
38
+ <link href="../Source/datepicker_dashboard/datepicker_dashboard.css" rel="stylesheet">
39
+
40
+ Then you can simply use, for example:
41
+
42
+ #JS
43
+ new Picker.Date($$('input'), {
44
+ timePicker: true,
45
+ positionOffset: {x: 5, y: 0},
46
+ pickerClass: 'datepicker_dashboard',
47
+ useFadeInOut: !Browser.ie
48
+ });
49
+
50
+
51
+ ### Theming:
52
+
53
+ Theming is done with CSS files, there are four themes available, which you can find in the Source folder.
54
+
55
+ Just include the CSS file and set the `pickerClass` option.
56
+
57
+
58
+ ### Localization
59
+
60
+ The DatePicker uses the MooTools More Date Class, which already includes many localized strings.
61
+ For some specific strings DatePicker has its own localizations, which you can find in the Locale.__-__.DatePicker.js files.
62
+ Just include the file in your page with a script tag to use the translations.
63
+
64
+ Currently the following languages are supported
65
+
66
+ - en-US
67
+ - de-DE
68
+ - fr-FR
69
+ - it-IT
70
+ - nl-NL
71
+ - cs-CZ
72
+ - ru-RU
73
+
74
+ You can set the current language with:
75
+
76
+ #JS
77
+ Locale.use('nl-NL');
78
+
79
+
80
+ Class: DatePicker
81
+ -----------------
82
+
83
+ ### Syntax
84
+
85
+ #JS
86
+ var dp = new DatePicker([element, options]);
87
+
88
+ ### Arguments
89
+
90
+ 1. element: (*element*, *string*, *array*) The element(s) to attach the datepicker to
91
+ 2. options: (*object*, optional) The options object
92
+
93
+ ### Options:
94
+
95
+ All the options of the Picker and Picker.Attach classes, and:
96
+
97
+ - minDate: (*Date instance*, *string*, defaults to `null`) Minimum date allowed to pick. Blocks anything before.
98
+ - maxDate: (*Date instance*, *string*, defaults to `null`) Maximum date allowed to pick. Blocks anything after.
99
+ - availableDates: (*object*, defaults to `null`) When only a few dates should be selectable. An object like `{2011: {1: [19, 29, 31], 3: [5, 19, 24]}}` with all the dates (year -> months -> days).
100
+ - format: (*string*, defaults to the default localized format) The format to output into the input field. Uses [Date.format](http://mootools.net/docs/more/Types/Date#Date:format)
101
+ - timePicker: (*boolean*, defaults to 1 `false`) Enable/disable timepicker functionality. Hours/Minutes values can be changed using the scrollwheel.
102
+ - timeWheelStep: (*number*, defaults to `1`) The number of minutes the minutes field will change in the timepicker when using the scrollwheel, for example 5, 10, 15. The value will always be k * timeWheelStep.
103
+ - yearPicker: (*boolean*, defaults to `true`) Enable/disable yearpicker functionality. Makes it much easier to change years.
104
+ - yearPerPage: (*number*, defaults to `20`) Amount of years to show in the year-picking view. Be aware that this may affect your layout.
105
+ - startView: (*string*, defaults to `days`) The view that will be showed when the picker opens. The options are `time`, `days`, `months` and `years`
106
+ - pickOnly: (*string*, defaults to `false`) If you just want to pick a year, month, day or time. The options are `time`, `days`, `months` and `years`
107
+ - canAlwaysGoUp: (*array*, defaults to `['months', 'days']`) The views where you can click the title to go up. The options are `time`, `days`, `months` and `years`
108
+ - months_abbr: (*array*) An array with the month name abbreviations. If nothing is set, it will automatically use MooTools Locale to get the abbreviations
109
+ - days_abbr: (*array*) An array with the day name abbreviations. If nothing is set, it will automatically use MooTools Locale to get the abbreviations
110
+ - years_title: (*function*, defaults to a function which returns `year + '-' + (year + options.yearsPerPage - 1)`) A function that returns the title for the yearpicker with as arguments the date object and the options object.
111
+ - months_title: (*function*, defaults to a function which returns `date.format('%b %Y')`) A function that returns the title for the monthpicker with as arguments the date object and the options object.
112
+ - days_title: (*function*, defaults to a function which returns `date.format('%b %Y')`) A function that returns the title for the daypicker with as arguments the date object and the options object.
113
+ - time_title: (*function*, defaults to a function which returns `(options.pickOnly == 'time') ? Locale.get('DatePicker.select_a_time') : date.format('%d %B, %Y')`) A function that returns the title for the timepicker with as arguments the date object and the options object.
114
+
115
+
116
+
117
+ ### Events:
118
+
119
+ - onSelect: Will fire when the user has selected a date
120
+
121
+ #### signature
122
+
123
+ #JS
124
+ onSelect(date)
125
+
126
+ #### arguments
127
+
128
+ 1. date - A Date object. You could use [Date.format](http://mootools.net/docs/more/Types/Date#Date:format) to format it into a string. For example to set it into a hidden field which will be sent to the server.
129
+
130
+
131
+ ### Examples
132
+
133
+ #JS
134
+ new DatePicker('inputField', {
135
+ timePicker: true,
136
+ pickerClass: 'datepicker_jqui',
137
+ onSelect: function(date){
138
+ myHiddenField.set('value', date.format('%s');
139
+ }
140
+ });
141
+
142
+
143
+ Class: Picker.Attach
144
+ --------------------
145
+
146
+ Picker.Attach handles all the links from elements to the Picker. It handles the onfocus events of input elements etc.
147
+ The Class itself is not very useful on its own, but it is useful to extend this Class.
148
+ This class adds a outerclick as well to close the Picker if you click outside the picker.
149
+
150
+ #### Syntax:
151
+
152
+ #JS
153
+ new Picker.Attach(attachTo, options);
154
+
155
+ #### Options:
156
+
157
+ - toggle: (*element*, *string*, *array*) A collection of elements which will toggle the picker when such a link is clicked.
158
+
159
+
160
+ ### Picker.Attach Method: attach
161
+
162
+ This will attach links and input elements to the picker
163
+
164
+ #### Syntax
165
+
166
+ #JS
167
+ myPicker.attach(attachTo);
168
+
169
+ #### Arguments
170
+
171
+ 1. attachTo: (*element*, *string*, *array*) The elements or element to attach to the Picker. Can be a input element for onfocus events or other elements for click events.
172
+
173
+
174
+ ### Picker.Attach Method: detach
175
+
176
+ This will detach links and input elements from the picker
177
+
178
+ #### Syntax
179
+
180
+ #JS
181
+ myPicker.detach(detach);
182
+
183
+ #### Arguments
184
+
185
+ 1. detach: (*element*, *string*, *array*) The elements or element to detach from the Picker. Can be a input element for onfocus events or other elements for click events.
186
+
187
+
188
+ Class: Picker
189
+ -------------
190
+
191
+ This is a generic Picker Class, which is used for the basic things, like positioning, Fx, open, close, stuff like that.
192
+
193
+ #### Syntax:
194
+
195
+ #JS
196
+ new Picker(options);
197
+
198
+ #### Options:
199
+
200
+ - pickerClass: (*string*, defaults to `datepicker`) CSS class for the main datepicker container element. You can use multiple classes by separating them by a space, e.g. `class1 class2 class3`
201
+ - inject: (*element*, defaults to `document.body`) This is where the Picker element will be injected to.
202
+ - anitmationDuration: (*number*, defaults to `400`) Duration of the slide/fade animations in milliseconds.
203
+ - useFadeInOut: (*boolean*, defaults to `true`) Whether to fade-in/out the datepicker popup. You might want to set this to `false` in IE.
204
+ - positionOffset: (*object*, defaults to `{x: 0, y: 0}`) Allows you to tweak the position at which the datepicker appears, relative to the input element. Formatted as an object with x and y properties. Values can be negative.
205
+ - pickerPosition: (*string*, defaults to `bottom`) If the picker is positioned relative to an element, you can choose to position it top, bottom, left or right.
206
+ - draggable: (*boolean*, defaults to `true`) Will make the picker draggable, if Drag from MooTools More is included.
207
+
208
+ #### Events:
209
+
210
+ - open - triggered when the Picker will open (before the fx)
211
+ - close - triggered after the Picker is will get closed (before the fx)
212
+ - show - triggered when the Picker is shown
213
+ - hide - triggered when the Picker is hidden
214
+
215
+
216
+
217
+ ### Picker Method: show
218
+
219
+ A method to show the Picker manually, with a Fx.
220
+
221
+ #### Syntax
222
+
223
+ #JS
224
+ dp.show()
225
+
226
+ ### Picker Method: close
227
+
228
+ Closes the Picker with a Fx.
229
+
230
+ #### Syntax
231
+
232
+ #JS
233
+ dp.close();
234
+
235
+
236
+ ### Picker Method: toggle
237
+
238
+ Toggles the Picker with a Fx.
239
+
240
+ #### Syntax
241
+
242
+ #JS
243
+ picker.toggle();
244
+
245
+ ### Picker Method: show
246
+
247
+ Opens the Picker directly.
248
+
249
+ #### Syntax
250
+
251
+ #JS
252
+ dp.show();
253
+
254
+
255
+ ### Picker Method: hide
256
+
257
+ Hides the Picker directly.
258
+
259
+ #### Syntax
260
+
261
+ #JS
262
+ dp.hide();
263
+
264
+
265
+ ### Picker Method: destroy
266
+
267
+ Destroys the Picker
268
+
269
+ #JS
270
+ picker.destroy();
271
+
272
+
273
+ ### Picker Method: position
274
+
275
+ Positions the Picker.
276
+
277
+ #### Syntax:
278
+
279
+ #JS
280
+ picker.position(x, y);
281
+ // or
282
+ picker.position(myElement, where);
283
+
284
+ #### Arguments
285
+
286
+ 1. x: (*number*) Number of pixels from the left
287
+ 2. y: (*number*) Number of pixels from the top
288
+
289
+ Or
290
+
291
+ 1. myElement - (*element*) A element the Picker should be positioned relative to.
292
+ 2. where - (*string*, optional) Position the Picker `left` or `right` to the element.
293
+
294
+
295
+ ### Picker Method: setContent
296
+
297
+ Set the content of the Picker, either elements or text.
298
+
299
+ #### Syntax:
300
+
301
+ #JS
302
+ picker.setContent(element, fx);
303
+
304
+ #### Arguments:
305
+
306
+ 1. element: (*element*, *string*) Set the content of the Picker with this value
307
+ 2. fx: (*string*, optional) Set the content of the picker, and apply it with this Fx. Options: 'fade', 'right', 'left'
308
+
309
+
310
+ ### Picker Method: setTitle
311
+
312
+ Sets the Picker title text.
313
+
314
+ #JS
315
+ picker.setTitle(text);
316
+
317
+ #### Arguments:
318
+
319
+ 1. text: (*string*) The text which will be set into the title.
320
+
321
+
322
+ License
323
+ -------
324
+
325
+ - [MIT License](http://www.opensource.org/licenses/mit-license.php)