zen 0.1a → 0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +17 -0
- data/MANIFEST +161 -264
- data/README.md +114 -0
- data/ROADMAP.md +31 -0
- data/Thorfile +8 -0
- data/lib/zen.rb +13 -10
- data/lib/zen/base/database.rb +34 -28
- data/lib/zen/base/language.rb +174 -92
- data/lib/zen/base/logger.rb +8 -6
- data/lib/zen/base/package.rb +36 -29
- data/lib/zen/base/version.rb +2 -1
- data/lib/zen/bin/zen_binary.rb +7 -71
- data/lib/zen/controller/admin_controller.rb +31 -11
- data/lib/zen/controller/base_controller.rb +13 -13
- data/lib/zen/controller/frontend_controller.rb +2 -0
- data/lib/zen/controller/main_controller.rb +9 -8
- data/lib/zen/helper/acl.rb +4 -1
- data/lib/zen/helper/asset.rb +5 -3
- data/lib/zen/helper/breadcrumb.rb +10 -8
- data/lib/zen/helper/common.rb +28 -13
- data/lib/zen/language/en/zen_general.yml +31 -0
- data/lib/zen/language/en/zen_models.yml +13 -0
- data/lib/zen/layout/admin.xhtml +76 -68
- data/lib/zen/layout/login.xhtml +48 -42
- data/lib/zen/liquid/controller_behavior.rb +2 -0
- data/lib/zen/liquid/general.rb +60 -9
- data/lib/zen/liquid/redirect.rb +29 -6
- data/lib/zen/liquid/strip.rb +3 -1
- data/lib/zen/model/methods.rb +7 -5
- data/lib/zen/model/settings.rb +69 -18
- data/lib/zen/package/all.rb +7 -0
- data/lib/zen/{packages → package}/categories/lib/categories.rb +3 -3
- data/lib/zen/package/categories/lib/categories/controller/categories.rb +250 -0
- data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +216 -0
- data/lib/zen/package/categories/lib/categories/language/en/categories.yml +35 -0
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +32 -0
- data/lib/zen/package/categories/lib/categories/liquid/categories.rb +16 -0
- data/lib/zen/{packages → package}/categories/lib/categories/model/category.rb +9 -9
- data/lib/zen/{packages → package}/categories/lib/categories/model/category_group.rb +6 -4
- data/lib/zen/package/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
- data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +59 -0
- data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +78 -0
- data/lib/zen/package/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/edit.xhtml +7 -0
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +31 -0
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +85 -0
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/new.xhtml +7 -0
- data/lib/zen/{packages → package}/categories/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/categories/migrations/1295282303_create_schema.rb +3 -2
- data/lib/zen/{packages → package}/comments/lib/comments.rb +1 -1
- data/lib/zen/{packages → package}/comments/lib/comments/controller/comments.rb +81 -41
- data/lib/zen/{packages → package}/comments/lib/comments/controller/comments_form.rb +15 -13
- data/lib/zen/package/comments/lib/comments/language/en/comments.yml +42 -0
- data/lib/zen/{packages → package}/comments/lib/comments/liquid/comment_form.rb +43 -13
- data/lib/zen/{packages → package}/comments/lib/comments/liquid/comments.rb +10 -12
- data/lib/zen/{packages → package}/comments/lib/comments/model/comment.rb +24 -0
- data/lib/zen/package/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
- data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +57 -0
- data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +79 -0
- data/lib/zen/{packages → package}/comments/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/comments/migrations/1295282202_create_schema.rb +6 -4
- data/lib/zen/{packages → package}/custom_fields/lib/custom_fields.rb +2 -2
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +224 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +259 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +32 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +52 -0
- data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field.rb +12 -7
- data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_group.rb +14 -4
- data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_value.rb +4 -2
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/edit.xhtml +7 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +30 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +100 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/new.xhtml +7 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/edit.xhtml +7 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +107 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +84 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/new.xhtml +7 -0
- data/lib/zen/{packages → package}/custom_fields/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/custom_fields/migrations/1295255665_create_schema.rb +8 -7
- data/lib/zen/package/menus/lib/menus.rb +59 -0
- data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +244 -0
- data/lib/zen/package/menus/lib/menus/controller/menus.rb +231 -0
- data/lib/zen/package/menus/lib/menus/helper/menu_item.rb +93 -0
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +41 -0
- data/lib/zen/package/menus/lib/menus/language/en/menus.yml +39 -0
- data/lib/zen/package/menus/lib/menus/liquid/menus.rb +152 -0
- data/lib/zen/package/menus/lib/menus/model/menu.rb +38 -0
- data/lib/zen/package/menus/lib/menus/model/menu_item.rb +33 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/edit.xhtml +7 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +64 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +84 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/new.xhtml +7 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menus/edit.xhtml +7 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +42 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +95 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menus/new.xhtml +7 -0
- data/lib/zen/{packages/sections → package/menus}/migrations/.gitkeep +0 -0
- data/lib/zen/package/menus/migrations/1297184342_create_schema.rb +33 -0
- data/lib/zen/{packages → package}/sections/lib/sections.rb +0 -0
- data/lib/zen/{packages → package}/sections/lib/sections/controller/section_entries.rb +132 -68
- data/lib/zen/{packages → package}/sections/lib/sections/controller/sections.rb +96 -48
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +43 -0
- data/lib/zen/package/sections/lib/sections/language/en/sections.yml +48 -0
- data/lib/zen/{packages → package}/sections/lib/sections/liquid/section_entries.rb +55 -43
- data/lib/zen/{packages → package}/sections/lib/sections/liquid/sections.rb +9 -8
- data/lib/zen/package/sections/lib/sections/model/section.rb +62 -0
- data/lib/zen/package/sections/lib/sections/model/section_entry.rb +53 -0
- data/lib/zen/package/sections/lib/sections/view/admin/edit.xhtml +7 -0
- data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +107 -0
- data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +93 -0
- data/lib/zen/package/sections/lib/sections/view/admin/new.xhtml +7 -0
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/edit.xhtml +7 -0
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +233 -0
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +82 -0
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/new.xhtml +7 -0
- data/lib/zen/{packages/settings → package/sections}/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/sections/migrations/1295251836_create_schema.rb +6 -6
- data/lib/zen/{packages → package}/settings/lib/settings.rb +0 -0
- data/lib/zen/{packages → package}/settings/lib/settings/controller/settings.rb +33 -24
- data/lib/zen/package/settings/lib/settings/language/en/settings.yml +26 -0
- data/lib/zen/{packages → package}/settings/lib/settings/liquid/setting.rb +5 -3
- data/lib/zen/package/settings/lib/settings/model/setting.rb +113 -0
- data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +111 -0
- data/lib/zen/{packages/users → package/settings}/migrations/.gitkeep +0 -0
- data/lib/zen/{packages → package}/settings/migrations/1295597111_create_schema.rb +2 -2
- data/lib/zen/package/settings/migrations/1299538742_add_language_key.rb +62 -0
- data/lib/zen/{packages → package}/users/lib/users.rb +6 -2
- data/lib/zen/package/users/lib/users/controller/access_rules.rb +238 -0
- data/lib/zen/package/users/lib/users/controller/user_groups.rb +217 -0
- data/lib/zen/{packages → package}/users/lib/users/controller/users.rb +115 -57
- data/lib/zen/package/users/lib/users/language/en/access_rules.yml +35 -0
- data/lib/zen/package/users/lib/users/language/en/user_groups.yml +31 -0
- data/lib/zen/package/users/lib/users/language/en/users.yml +50 -0
- data/lib/zen/{packages → package}/users/lib/users/liquid/user.rb +8 -6
- data/lib/zen/{packages → package}/users/lib/users/liquid/users.rb +5 -3
- data/lib/zen/{packages → package}/users/lib/users/model/access_rule.rb +11 -3
- data/lib/zen/{packages → package}/users/lib/users/model/user.rb +5 -1
- data/lib/zen/{packages → package}/users/lib/users/model/user_group.rb +6 -3
- data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +42 -0
- data/lib/zen/package/users/lib/users/view/admin/access-rules/edit.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +108 -0
- data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +93 -0
- data/lib/zen/package/users/lib/users/view/admin/access-rules/new.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/edit.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +37 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +76 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/new.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/users/edit.xhtml +7 -0
- data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +53 -0
- data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +81 -0
- data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +27 -0
- data/lib/zen/package/users/lib/users/view/admin/users/new.xhtml +7 -0
- data/{pkg → lib/zen/package/users/migrations}/.gitkeep +0 -0
- data/lib/zen/{packages → package}/users/migrations/1295281013_create_schema.rb +2 -2
- data/lib/zen/public/admin/css/boilerplate.css +62 -60
- data/lib/zen/public/admin/css/buttons.css +46 -0
- data/lib/zen/public/admin/css/datepicker.css +163 -0
- data/lib/zen/public/admin/css/editor.css +91 -0
- data/lib/zen/public/admin/css/forms.css +68 -0
- data/lib/zen/public/admin/css/general.css +34 -419
- data/lib/zen/public/admin/css/grid.css +26 -26
- data/lib/zen/public/admin/css/layout.css +73 -62
- data/lib/zen/public/admin/css/modals.css +63 -0
- data/lib/zen/public/admin/css/notifications.css +84 -0
- data/lib/zen/public/admin/css/tables.css +71 -0
- data/lib/zen/public/admin/css/tabs.css +53 -0
- data/lib/zen/public/admin/js/mootools/more.js +139 -51
- data/lib/zen/public/admin/js/vendor/datepicker/Picker.Attach.js +137 -0
- data/lib/zen/public/admin/js/vendor/datepicker/Picker.Date.js +576 -0
- data/lib/zen/public/admin/js/vendor/datepicker/Picker.js +291 -0
- data/lib/zen/public/admin/js/vendor/datepicker/README.md +325 -0
- data/lib/zen/public/admin/js/vendor/datepicker/locale.js +16 -0
- data/lib/zen/public/admin/js/zen/editor/base.js +173 -183
- data/lib/zen/public/admin/js/zen/editor/drivers/html.js +74 -89
- data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +72 -87
- data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +72 -87
- data/lib/zen/public/admin/js/zen/init.js +65 -51
- data/lib/zen/public/admin/js/zen/modal.js +108 -121
- data/lib/zen/public/admin/js/zen/notification.js +163 -165
- data/lib/zen/public/admin/js/zen/tabs.js +203 -210
- data/lib/zen/task/build.rb +123 -0
- data/lib/zen/task/clean.rb +46 -0
- data/lib/zen/task/db.rb +120 -0
- data/lib/zen/task/package.rb +82 -0
- data/lib/zen/task/proto.rb +116 -0
- data/{LICENSE → license.txt} +2 -2
- data/proto/app/Thorfile +4 -0
- data/proto/app/config/middlewares.rb +3 -3
- data/proto/app/config/requires.rb +1 -6
- data/proto/app/start.rb +5 -10
- data/{lib/zen/packages/settings → proto/package}/LICENSE +0 -0
- data/{lib/zen/packages/categories → proto/package}/README.textile +0 -0
- data/proto/package/lib/package.rb +41 -0
- data/proto/{module/lib/module → package/lib/package}/controller/controllers.rb +3 -2
- data/proto/{module/lib/module → package/lib/package}/language/en/languages.rb +0 -0
- data/proto/{module/lib/module → package/lib/package}/model/model.rb +0 -0
- data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/edit.xhtml +0 -0
- data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/form.xhtml +0 -0
- data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/index.xhtml +0 -0
- data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/new.xhtml +0 -0
- data/proto/{module → package}/migrations/.gitkeep +0 -0
- metadata +199 -280
- data/README.textile +0 -42
- data/Rakefile +0 -6
- data/doc/Categories.html +0 -93
- data/doc/Categories/Controllers.html +0 -93
- data/doc/Categories/Controllers/Categories.html +0 -995
- data/doc/Categories/Controllers/CategoryGroups.html +0 -878
- data/doc/Categories/Models.html +0 -97
- data/doc/Categories/Models/Category.html +0 -269
- data/doc/Categories/Models/CategoryGroup.html +0 -231
- data/doc/Comments.html +0 -93
- data/doc/Comments/Controllers.html +0 -93
- data/doc/Comments/Controllers/Comments.html +0 -797
- data/doc/Comments/Controllers/CommentsForm.html +0 -487
- data/doc/Comments/Liquid.html +0 -93
- data/doc/Comments/Liquid/CommentForm.html +0 -522
- data/doc/Comments/Liquid/Comments.html +0 -543
- data/doc/Comments/Models.html +0 -95
- data/doc/Comments/Models/Comment.html +0 -260
- data/doc/CustomFields.html +0 -93
- data/doc/CustomFields/Controllers.html +0 -93
- data/doc/CustomFields/Controllers/CustomFieldGroups.html +0 -902
- data/doc/CustomFields/Controllers/CustomFields.html +0 -974
- data/doc/CustomFields/Models.html +0 -97
- data/doc/CustomFields/Models/CustomField.html +0 -272
- data/doc/CustomFields/Models/CustomFieldGroup.html +0 -259
- data/doc/CustomFields/Models/CustomFieldValue.html +0 -154
- data/doc/Ramaze.html +0 -93
- data/doc/Ramaze/Helper.html +0 -93
- data/doc/Ramaze/Helper/ACL.html +0 -531
- data/doc/Ramaze/Helper/Asset.html +0 -617
- data/doc/Ramaze/Helper/Breadcrumb.html +0 -411
- data/doc/Ramaze/Helper/Common.html +0 -738
- data/doc/Sections.html +0 -93
- data/doc/Sections/Controllers.html +0 -93
- data/doc/Sections/Controllers/SectionEntries.html +0 -1100
- data/doc/Sections/Controllers/Sections.html +0 -953
- data/doc/Sections/Liquid.html +0 -93
- data/doc/Sections/Liquid/SectionEntries.html +0 -674
- data/doc/Sections/Liquid/Sections.html +0 -494
- data/doc/Sections/Models.html +0 -97
- data/doc/Sections/Models/Section.html +0 -272
- data/doc/Sections/Models/SectionEntry.html +0 -264
- data/doc/Sequel.html +0 -91
- data/doc/Sequel/Model.html +0 -243
- data/doc/Settings.html +0 -93
- data/doc/Settings/Controllers.html +0 -91
- data/doc/Settings/Controllers/Settings.html +0 -565
- data/doc/Settings/Liquid.html +0 -91
- data/doc/Settings/Liquid/Setting.html +0 -426
- data/doc/Settings/Models.html +0 -95
- data/doc/Settings/Models/Setting.html +0 -293
- data/doc/Users.html +0 -93
- data/doc/Users/Controllers.html +0 -93
- data/doc/Users/Controllers/AccessRules.html +0 -904
- data/doc/Users/Controllers/UserGroups.html +0 -879
- data/doc/Users/Controllers/Users.html +0 -1124
- data/doc/Users/Liquid.html +0 -93
- data/doc/Users/Liquid/User.html +0 -480
- data/doc/Users/Liquid/Users.html +0 -495
- data/doc/Users/Models.html +0 -97
- data/doc/Users/Models/AccessRule.html +0 -257
- data/doc/Users/Models/User.html +0 -649
- data/doc/Users/Models/UserGroup.html +0 -267
- data/doc/Zen.html +0 -391
- data/doc/Zen/Bin.html +0 -113
- data/doc/Zen/Bin/Base.html +0 -727
- data/doc/Zen/Controllers.html +0 -115
- data/doc/Zen/Controllers/AdminController.html +0 -298
- data/doc/Zen/Controllers/BaseController.html +0 -272
- data/doc/Zen/Controllers/FrontendController.html +0 -164
- data/doc/Zen/Controllers/MainController.html +0 -421
- data/doc/Zen/Database.html +0 -498
- data/doc/Zen/Language.html +0 -660
- data/doc/Zen/Liquid.html +0 -117
- data/doc/Zen/Liquid/ControllerBehavior.html +0 -448
- data/doc/Zen/Liquid/General.html +0 -444
- data/doc/Zen/Liquid/Redirect.html +0 -435
- data/doc/Zen/Liquid/Strip.html +0 -447
- data/doc/Zen/Logger.html +0 -393
- data/doc/Zen/Package.html +0 -909
- data/doc/_index.html +0 -724
- data/doc/class_list.html +0 -36
- data/doc/css/common.css +0 -1
- data/doc/css/full_list.css +0 -53
- data/doc/css/style.css +0 -310
- data/doc/file.README.html +0 -86
- data/doc/file_list.html +0 -38
- data/doc/frames.html +0 -13
- data/doc/index.html +0 -86
- data/doc/js/app.js +0 -203
- data/doc/js/full_list.js +0 -149
- data/doc/js/jquery.js +0 -154
- data/doc/method_list.html +0 -1139
- data/doc/top-level-namespace.html +0 -88
- data/lib/zen/language/en/zen_general.rb +0 -21
- data/lib/zen/language/en/zen_models.rb +0 -39
- data/lib/zen/packages/categories/LICENSE +0 -19
- data/lib/zen/packages/categories/lib/categories/controller/categories.rb +0 -202
- data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +0 -173
- data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +0 -38
- data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +0 -37
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +0 -7
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +0 -36
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +0 -70
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +0 -7
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +0 -7
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +0 -18
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +0 -72
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +0 -7
- data/lib/zen/packages/comments/LICENSE +0 -19
- data/lib/zen/packages/comments/README.textile +0 -0
- data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +0 -52
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +0 -7
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +0 -31
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +0 -74
- data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +0 -11
- data/lib/zen/packages/custom_fields/LICENSE +0 -19
- data/lib/zen/packages/custom_fields/README.textile +0 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +0 -179
- data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +0 -194
- data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +0 -45
- data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +0 -64
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +0 -7
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +0 -18
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +0 -88
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +0 -7
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +0 -7
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +0 -50
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +0 -75
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +0 -7
- data/lib/zen/packages/sections/LICENSE +0 -19
- data/lib/zen/packages/sections/README.textile +0 -43
- data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +0 -58
- data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +0 -63
- data/lib/zen/packages/sections/lib/sections/model/section.rb +0 -43
- data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +0 -43
- data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +0 -7
- data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +0 -54
- data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +0 -77
- data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +0 -7
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +0 -7
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +0 -147
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +0 -74
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +0 -7
- data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +0 -18
- data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +0 -11
- data/lib/zen/packages/settings/README.textile +0 -0
- data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +0 -56
- data/lib/zen/packages/settings/lib/settings/model/setting.rb +0 -38
- data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +0 -79
- data/lib/zen/packages/users/LICENSE +0 -19
- data/lib/zen/packages/users/README.textile +0 -0
- data/lib/zen/packages/users/lib/users/controller/access_rules.rb +0 -186
- data/lib/zen/packages/users/lib/users/controller/user_groups.rb +0 -171
- data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +0 -49
- data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +0 -42
- data/lib/zen/packages/users/lib/users/language/en/users.rb +0 -63
- data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +0 -43
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +0 -68
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +0 -85
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +0 -19
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +0 -69
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +0 -7
- data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +0 -25
- data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +0 -73
- data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +0 -22
- data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +0 -7
- data/lib/zen/tasks.rb +0 -6
- data/proto/app/Rakefile +0 -2
- data/proto/module/LICENSE +0 -0
- data/proto/module/README.textile +0 -0
- data/proto/module/lib/module.rb +0 -15
- data/spec/javascript/css/base.css +0 -177
- data/spec/javascript/css/style.css +0 -204
- data/spec/javascript/css/typography.css +0 -70
- data/spec/javascript/editor/index.html +0 -65
- data/spec/javascript/images/close.png +0 -0
- data/spec/javascript/images/info.png +0 -0
- data/spec/javascript/js/editor.js +0 -16
- data/spec/javascript/js/modal.js +0 -12
- data/spec/javascript/js/namespace.js +0 -2
- data/spec/javascript/js/notification.js +0 -43
- data/spec/javascript/js/tabs.js +0 -8
- data/spec/javascript/modal/index.html +0 -45
- data/spec/javascript/notification/index.html +0 -48
- data/spec/javascript/tabs/index.html +0 -73
- data/spec/javascript/tabs/tab_1.html +0 -1
- data/spec/javascript/tabs/tab_2.html +0 -1
- data/spec/zen/base/language.rb +0 -31
- data/spec/zen/base/logger.rb +0 -34
- data/spec/zen/base/package.rb +0 -47
- data/spec/zen/config/database.rb +0 -8
- data/spec/zen/helper/asset.rb +0 -26
- data/spec/zen/helper/breadcrumb.rb +0 -24
- data/spec/zen/language/en/general.rb +0 -4
- data/spec/zen/language/nl/general.rb +0 -4
- data/spec/zen/liquid/general.rb +0 -42
- data/spec/zen/logs/.gitkeep +0 -0
- data/spec/zen/spec.rb +0 -9
- data/spec/zen/spec_database.db +0 -0
- data/tasks/bacon.rake +0 -99
- data/tasks/build.rake +0 -72
- data/tasks/clean.rake +0 -18
- data/tasks/db.rake +0 -81
- data/tasks/doc.rake +0 -5
- data/tasks/extension.rake +0 -65
- data/tasks/proto.rake +0 -37
- data/tasks/theme.rake +0 -63
|
@@ -3,157 +3,144 @@
|
|
|
3
3
|
* modal windows. The class itself does not apply any CSS styles, it only adds
|
|
4
4
|
* a few IDs/classes. All styling should be done in separate CSS files.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* ## Basic Usage
|
|
7
7
|
*
|
|
8
8
|
* Using this class is super-duper simple:
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* new Modal("Hello, world!");
|
|
11
11
|
*
|
|
12
12
|
* That creates a container, a background div and the actual modal window
|
|
13
13
|
* along with the specified content. It doesn't matter what kind of content
|
|
14
14
|
* you're trying to add as long as it's valid HTML you're good to go.
|
|
15
15
|
* For example, an image could be shown as following:
|
|
16
16
|
*
|
|
17
|
-
*
|
|
17
|
+
* new Modal($('some_image_id'))
|
|
18
18
|
*
|
|
19
19
|
* Note that iFrames are not supported simply because I never had the need for them.
|
|
20
20
|
* If you want to load remote data you'd have to do some processing before generating
|
|
21
21
|
* the modal window:
|
|
22
22
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
23
|
+
* var iframe = new Element('iframe', {src: 'url/of/iframe'});
|
|
24
|
+
* new Modal(iframe);
|
|
25
25
|
*
|
|
26
26
|
* This class also does not animate the modals, this should also be handled by CSS
|
|
27
27
|
* and can be done quite easily using CSS3.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
29
|
+
* ## Closing Modal Windows
|
|
30
30
|
*
|
|
31
31
|
* The Modal class will add a div element with an id of "modal_close" to the modal window.
|
|
32
32
|
* Whenever this element is clicked the callback specified in options.callback will be triggered.
|
|
33
33
|
*
|
|
34
|
-
*
|
|
34
|
+
* ## HTML
|
|
35
35
|
*
|
|
36
36
|
* The Modal class generates the following HTML:
|
|
37
37
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
38
|
+
* <div id="modal_container">
|
|
39
|
+
* <div id="modal_window">
|
|
40
|
+
* <div id="modal_close"></div>
|
|
41
|
+
* <!-- Content goes here -->
|
|
42
|
+
* </div>
|
|
43
|
+
* <div id="modal_background"></div>
|
|
44
|
+
* </div>
|
|
45
45
|
*
|
|
46
46
|
* @author Yorick Peterse
|
|
47
|
-
* @link http://yorickpeterse.com/
|
|
48
|
-
* @
|
|
49
|
-
* @
|
|
47
|
+
* @link http://yorickpeterse.com/ Yorick Peterse's Website
|
|
48
|
+
* @link http://zen-cms.com/ Zen Website
|
|
49
|
+
* @license http://code.yorickpeterse.com/license.txt The MIT license
|
|
50
50
|
* @since 0.1
|
|
51
|
-
*
|
|
52
|
-
* Copyright (c) 2011, Yorick Peterse
|
|
53
|
-
*
|
|
54
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
55
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
56
|
-
* in the Software without restriction, including without limitation the rights
|
|
57
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
58
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
59
|
-
* furnished to do so, subject to the following conditions:
|
|
60
|
-
*
|
|
61
|
-
* The above copyright notice and this permission notice shall be included in
|
|
62
|
-
* all copies or substantial portions of the Software.
|
|
63
|
-
*
|
|
64
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
65
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
66
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
67
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
68
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
69
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
70
|
-
* THE SOFTWARE.
|
|
71
51
|
*/
|
|
72
52
|
Zen.Modal = new Class(
|
|
73
53
|
{
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if ( this.options.fullscreen == true )
|
|
122
|
-
{
|
|
123
|
-
var modal_class = "fullscreen";
|
|
124
|
-
}
|
|
125
|
-
else
|
|
126
|
-
{
|
|
127
|
-
var modal_class = null;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
var styles = {width: this.options.width, height: this.options.height};
|
|
131
|
-
|
|
132
|
-
// Create our base elements
|
|
133
|
-
var modal_container = new Element('div', {id: 'modal_container'});
|
|
134
|
-
var modal_window = new Element('div', {id: 'modal_window', 'class': modal_class});
|
|
135
|
-
var modal_close = new Element('div', {id: 'modal_close'});
|
|
136
|
-
var modal_background = new Element('div', {id: 'modal_background'});
|
|
137
|
-
|
|
138
|
-
// Strings will be inserted using the html() method. Other elements
|
|
139
|
-
// will be injected into the modal window.
|
|
140
|
-
if ( typeof content == "string" )
|
|
141
|
-
{
|
|
142
|
-
modal_window.set('html', content);
|
|
143
|
-
}
|
|
144
|
-
else
|
|
54
|
+
Implements: Options,
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Object containing all default options for each modal window.
|
|
58
|
+
* The following options are available:
|
|
59
|
+
*
|
|
60
|
+
* * height: specifies the width of the window (pixels, em, etc)
|
|
61
|
+
* * width: specifies the height of the modal window
|
|
62
|
+
* * fullscreen: specifies if the modal window should have a class of "fullscreen".
|
|
63
|
+
* * callback: an event that's triggered whenever the close element is clicked.
|
|
64
|
+
*
|
|
65
|
+
* @author Yorick Peterse
|
|
66
|
+
* @since 0.1
|
|
67
|
+
* @var {object}
|
|
68
|
+
*/
|
|
69
|
+
options: {
|
|
70
|
+
height: '200px',
|
|
71
|
+
width: '200px',
|
|
72
|
+
fullscreen: false,
|
|
73
|
+
callback: function()
|
|
74
|
+
{
|
|
75
|
+
// Remove all elements
|
|
76
|
+
$('modal_background').destroy();
|
|
77
|
+
$('modal_container').destroy();
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Creates a new instance of the modal window and shows it.
|
|
83
|
+
* Basic usage is as following:
|
|
84
|
+
*
|
|
85
|
+
* modal = new Modal("Hello, world!");
|
|
86
|
+
*
|
|
87
|
+
* If you want to specify any additional options you can do so as following:
|
|
88
|
+
*
|
|
89
|
+
* modal = new Modal("Hello, world!", {fullscreen: true});
|
|
90
|
+
*
|
|
91
|
+
* Note that calling this method will also show the message rather than just
|
|
92
|
+
* initializing the class.
|
|
93
|
+
*
|
|
94
|
+
* @author Yorick Peterse
|
|
95
|
+
* @since 0.1
|
|
96
|
+
* @param {string} content The content to display inside the modal window.
|
|
97
|
+
* @param {object} options Object containing all custom options.
|
|
98
|
+
* @return {void}
|
|
99
|
+
*/
|
|
100
|
+
initialize: function(content, options)
|
|
145
101
|
{
|
|
146
|
-
|
|
102
|
+
this.setOptions(options);
|
|
103
|
+
|
|
104
|
+
var modal_class = null;
|
|
105
|
+
|
|
106
|
+
if ( this.options.fullscreen === true )
|
|
107
|
+
{
|
|
108
|
+
modal_class = "fullscreen";
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
var styles = {width: this.options.width, height: this.options.height};
|
|
112
|
+
|
|
113
|
+
// Create our base elements
|
|
114
|
+
var modal_container = new Element('div', {id: 'modal_container'});
|
|
115
|
+
var modal_window = new Element('div',
|
|
116
|
+
{
|
|
117
|
+
id : 'modal_window',
|
|
118
|
+
'class': modal_class,
|
|
119
|
+
styles : styles
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
var modal_close = new Element('div', {id: 'modal_close'});
|
|
123
|
+
var modal_background = new Element('div', {id: 'modal_background'});
|
|
124
|
+
|
|
125
|
+
// Strings will be inserted using the html() method. Other elements
|
|
126
|
+
// will be injected into the modal window.
|
|
127
|
+
if ( typeof content === "string" )
|
|
128
|
+
{
|
|
129
|
+
modal_window.set('html', content);
|
|
130
|
+
}
|
|
131
|
+
else
|
|
132
|
+
{
|
|
133
|
+
modal_window.adopt(content.clone());
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Inject the close button
|
|
137
|
+
modal_close.inject(modal_window);
|
|
138
|
+
|
|
139
|
+
// Bind the events
|
|
140
|
+
modal_close.addEvent('click', this.options.callback);
|
|
141
|
+
|
|
142
|
+
modal_window.inject(modal_container);
|
|
143
|
+
modal_background.inject(document.body);
|
|
144
|
+
modal_container.inject(document.body);
|
|
147
145
|
}
|
|
148
|
-
|
|
149
|
-
// Inject the close button
|
|
150
|
-
modal_close.inject(modal_window);
|
|
151
|
-
|
|
152
|
-
// Bind the events
|
|
153
|
-
modal_close.addEvent('click', this.options.callback);
|
|
154
|
-
|
|
155
|
-
modal_window.inject(modal_container);
|
|
156
|
-
modal_background.inject(document.body);
|
|
157
|
-
modal_container.inject(document.body);
|
|
158
|
-
}
|
|
159
|
-
});
|
|
146
|
+
});
|
|
@@ -4,22 +4,22 @@
|
|
|
4
4
|
* has been posted, etc. Note that this class only inserts/animates the HTML, you'll have to
|
|
5
5
|
* style the notifications yourself (more on that later on).
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* ## Basic Usage
|
|
8
8
|
*
|
|
9
9
|
* Creating a new notification is fairly easy. The most basic notification only requires some content
|
|
10
10
|
* and a title.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
12
|
+
* notification = new Zen.Notification(
|
|
13
|
+
* {
|
|
14
|
+
* title: 'My title',
|
|
15
|
+
* content: 'Hello, world!'
|
|
16
|
+
* });
|
|
17
17
|
*
|
|
18
18
|
* This will show a new notification without a title and an image, just the text "Hello, world!".
|
|
19
19
|
* You're not limited to plain text so feel free to use Comic Sans MS, pink colors and other funky
|
|
20
20
|
* elements.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
22
|
+
* ## Configuring Notifications
|
|
23
23
|
*
|
|
24
24
|
* Obviously just a message isn't enough and you might want to add an image or a title. When creating
|
|
25
25
|
* a new notification you can use the following configuration options:
|
|
@@ -30,184 +30,182 @@
|
|
|
30
30
|
* * sticky: boolean that indicates that the message can't be hidden by clicking on it
|
|
31
31
|
* * duration: the time (in miliseconds) after which the notification should be removed
|
|
32
32
|
*
|
|
33
|
-
*
|
|
33
|
+
* ## Styling Notifications
|
|
34
34
|
*
|
|
35
35
|
* The HTML generated by the Notification class is fairly straightforward. There
|
|
36
36
|
* are 2 important elements. The notification container and the notification itself.
|
|
37
37
|
* The container will, how unexpected it may sound, contain all notifications. It's
|
|
38
38
|
* HTML looks like the following:
|
|
39
39
|
*
|
|
40
|
-
*
|
|
40
|
+
* <div id="notification_container">
|
|
41
41
|
*
|
|
42
|
-
*
|
|
42
|
+
* </div>
|
|
43
43
|
*
|
|
44
44
|
* The HTML for a notification is slightly more complicated and looks like the following:
|
|
45
45
|
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
46
|
+
* <div class="notification">
|
|
47
|
+
* <div class="close"></div>
|
|
48
|
+
* <div class="image">
|
|
49
|
+
* <img src="..." />
|
|
50
|
+
* </div>
|
|
51
|
+
* <div class="title">
|
|
52
|
+
* Notification Title
|
|
53
|
+
* </div>
|
|
54
|
+
* <div class="content">
|
|
55
|
+
* Content goes here
|
|
56
|
+
* </div>
|
|
57
|
+
* </div>
|
|
58
58
|
*
|
|
59
59
|
* As you can see it uses quite a few div elements but it's nothing ground breaking.
|
|
60
60
|
* The image and title div elements will only be displayed if a title and/or image has been
|
|
61
61
|
* specified. The close and content div will always be displayed.
|
|
62
62
|
*
|
|
63
|
-
* @author
|
|
64
|
-
* @link
|
|
65
|
-
* @
|
|
66
|
-
* @
|
|
67
|
-
* @since
|
|
68
|
-
*
|
|
69
|
-
* Copyright (c) 2011, Yorick Peterse
|
|
70
|
-
*
|
|
71
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
72
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
73
|
-
* in the Software without restriction, including without limitation the rights
|
|
74
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
75
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
76
|
-
* furnished to do so, subject to the following conditions:
|
|
77
|
-
*
|
|
78
|
-
* The above copyright notice and this permission notice shall be included in
|
|
79
|
-
* all copies or substantial portions of the Software.
|
|
80
|
-
*
|
|
81
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
82
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
83
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
84
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
85
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
86
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
87
|
-
* THE SOFTWARE.
|
|
63
|
+
* @author Yorick Peterse
|
|
64
|
+
* @link http://yorickpeterse.com/ Yorick Peterse's Website
|
|
65
|
+
* @link http://zen-cms.com/ Zen Website
|
|
66
|
+
* @license http://code.yorickpeterse.com/license.txt The MIT license
|
|
67
|
+
* @since 0.1
|
|
88
68
|
*/
|
|
89
69
|
Zen.Notification = new Class(
|
|
90
70
|
{
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
content: '',
|
|
109
|
-
image: '',
|
|
110
|
-
sticky: false,
|
|
111
|
-
duration: 3000
|
|
112
|
-
},
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Creates a new instance of the notification class
|
|
116
|
-
* and shows the notification based on the specified options.
|
|
117
|
-
*
|
|
118
|
-
* @author Yorick Peterse
|
|
119
|
-
* @param [Object] options JSON objects containing all custom configuration parameters.
|
|
120
|
-
* @return [Object]
|
|
121
|
-
*/
|
|
122
|
-
initialize: function(options)
|
|
123
|
-
{
|
|
124
|
-
this.setOptions(options);
|
|
125
|
-
this.generateContainer();
|
|
126
|
-
this.generateNotification();
|
|
127
|
-
},
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Generates a new notification container in case it doesn't already exist.
|
|
131
|
-
*
|
|
132
|
-
* @author Yorick Peterse
|
|
133
|
-
* @return [Void]
|
|
134
|
-
*/
|
|
135
|
-
generateContainer: function()
|
|
136
|
-
{
|
|
137
|
-
// The container only has to be created once
|
|
138
|
-
if ( $('notification_container') != null )
|
|
71
|
+
Implements: Options,
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* JSON object containing all default and user defined options.
|
|
75
|
+
* The following options are available:
|
|
76
|
+
*
|
|
77
|
+
* * title: the title for the notification
|
|
78
|
+
* * content: the text or HTML to display in the message
|
|
79
|
+
* * image: a custom image to show in the notification
|
|
80
|
+
* * sticky: boolean that indicates that the message can't be hidden by clicking on it
|
|
81
|
+
* * duration: the time (in miliseconds) after which the notification should be removed
|
|
82
|
+
*
|
|
83
|
+
* @author Yorick Peterse
|
|
84
|
+
* @since 0.1
|
|
85
|
+
* @var {object}
|
|
86
|
+
*/
|
|
87
|
+
options:
|
|
139
88
|
{
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
var notification = new Element('div', {
|
|
158
|
-
class: 'notification',
|
|
159
|
-
styles: {visibility: 'hidden'}
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
notification.adopt(new Element('div', {class: 'close'}));
|
|
163
|
-
|
|
164
|
-
// We'll only add the title and the image if they've been set
|
|
165
|
-
if ( this.options.image != '' )
|
|
89
|
+
title: '',
|
|
90
|
+
content: '',
|
|
91
|
+
image: '',
|
|
92
|
+
sticky: false,
|
|
93
|
+
duration: 3000
|
|
94
|
+
},
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Creates a new instance of the notification class
|
|
98
|
+
* and shows the notification based on the specified options.
|
|
99
|
+
*
|
|
100
|
+
* @author Yorick Peterse
|
|
101
|
+
* @since 0.1
|
|
102
|
+
* @param {object} options An object containing all custom configuration parameters.
|
|
103
|
+
* @return {void}
|
|
104
|
+
*/
|
|
105
|
+
initialize: function(options)
|
|
166
106
|
{
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
107
|
+
this.setOptions(options);
|
|
108
|
+
this.generateContainer();
|
|
109
|
+
this.generateNotification();
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Generates a new notification container in case it doesn't already exist.
|
|
114
|
+
*
|
|
115
|
+
* @author Yorick Peterse
|
|
116
|
+
* @since 0.1
|
|
117
|
+
* @return {void}
|
|
118
|
+
*/
|
|
119
|
+
generateContainer: function()
|
|
180
120
|
{
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
121
|
+
// The container only has to be created once
|
|
122
|
+
if ( $('notification_container') !== null )
|
|
123
|
+
{
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
container = new Element('div', {id: 'notification_container'});
|
|
128
|
+
container.inject(document.body);
|
|
129
|
+
},
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Generates a new notification and inserts it into the notification
|
|
133
|
+
* container.
|
|
134
|
+
*
|
|
135
|
+
* @author Yorick Peterse
|
|
136
|
+
* @since 0.1
|
|
137
|
+
* @return {void}
|
|
138
|
+
*/
|
|
139
|
+
generateNotification: function()
|
|
188
140
|
{
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
141
|
+
var self = this;
|
|
142
|
+
var notification = new Element('div',
|
|
143
|
+
{
|
|
144
|
+
'class': 'notification',
|
|
145
|
+
styles : {
|
|
146
|
+
visibility: 'hidden'
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
notification.adopt(new Element('div', {'class': 'close'}));
|
|
151
|
+
|
|
152
|
+
// We'll only add the title and the image if they've been set
|
|
153
|
+
if ( this.options.image !== '' )
|
|
154
|
+
{
|
|
155
|
+
var image_div = new Element('div', {'class': 'image'});
|
|
156
|
+
var image_tag = new Element('img', {src: this.options.image});
|
|
157
|
+
|
|
158
|
+
notification.adopt(image_div.adopt(image_tag));
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
var title_div = new Element('div',
|
|
162
|
+
{
|
|
163
|
+
'class': 'title',
|
|
164
|
+
html : this.options.title
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
var content_div = new Element('div',
|
|
168
|
+
{
|
|
169
|
+
'class' : 'content',
|
|
170
|
+
html : this.options.content
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
notification.adopt(title_div, content_div).inject($('notification_container'));
|
|
174
|
+
|
|
175
|
+
// Add a new event listener so we can close our event
|
|
176
|
+
notification.addEvent('click', function()
|
|
177
|
+
{
|
|
178
|
+
self.removeNotification(notification);
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
notification.tween('opacity', 0, 1);
|
|
182
|
+
|
|
183
|
+
// Automatically remove the notification after 3 seconds if "sticky" is set to false
|
|
184
|
+
if ( this.options.sticky !== true )
|
|
185
|
+
{
|
|
186
|
+
this.removeNotification.delay(this.options.duration, this, [notification]);
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Removes the specified notification by fading it out and them removing the DOM element.
|
|
192
|
+
*
|
|
193
|
+
* @author Yorick peterse
|
|
194
|
+
* @since 0.1
|
|
195
|
+
* @param {object} notification The notification to remove.
|
|
196
|
+
* @return {void}
|
|
197
|
+
*/
|
|
198
|
+
removeNotification: function(notification)
|
|
207
199
|
{
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
200
|
+
// Fade the notification along with a callback so we can remove the element
|
|
201
|
+
// once the animation is finished
|
|
202
|
+
effect = new Fx.Tween(notification);
|
|
203
|
+
|
|
204
|
+
effect.addEvent('complete', function()
|
|
205
|
+
{
|
|
206
|
+
notification.destroy();
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
effect.start('opacity', 1, 0);
|
|
210
|
+
}
|
|
211
|
+
});
|