crystal-ext 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/Rakefile +66 -0
- data/lib/abstract_interface/controller_helper.rb +30 -0
- data/lib/abstract_interface/form_builders/abstract_form_builder.rb +79 -0
- data/lib/abstract_interface/form_builders/themed_form_builder.rb +46 -0
- data/lib/abstract_interface/form_builders/themed_form_tag_builder.rb +13 -0
- data/lib/abstract_interface/haml_builder.rb +56 -0
- data/lib/abstract_interface/model_stub.rb +20 -0
- data/lib/abstract_interface/support.rb +56 -0
- data/lib/abstract_interface/theme.rb +37 -0
- data/lib/abstract_interface/view_builder.rb +158 -0
- data/lib/abstract_interface/view_helper.rb +31 -0
- data/lib/abstract_interface.rb +78 -0
- data/lib/common_interface/MIT-LICENSE +20 -0
- data/lib/common_interface/README.md +51 -0
- data/lib/common_interface/app/controllers/theme_controller.rb +65 -0
- data/lib/common_interface/app/controllers/theme_site_controller.rb +2 -0
- data/lib/common_interface/app/views/layouts/theme.html.erb +1 -0
- data/lib/common_interface/app/views/layouts/theme.js.erb +11 -0
- data/lib/common_interface/app/views/theme/_dialog.html.haml +7 -0
- data/lib/common_interface/app/views/theme/_popup.html.haml +4 -0
- data/lib/common_interface/app/views/theme/aspects.html.haml +32 -0
- data/lib/common_interface/app/views/theme/basic.html.haml +123 -0
- data/lib/common_interface/app/views/theme/dialog.js.erb +1 -0
- data/lib/common_interface/app/views/theme/folder.html.haml +45 -0
- data/lib/common_interface/app/views/theme/help.html.haml +7 -0
- data/lib/common_interface/app/views/theme/index.html.haml +24 -0
- data/lib/common_interface/app/views/theme/items.html.haml +91 -0
- data/lib/common_interface/app/views/theme/list.html.haml +23 -0
- data/lib/common_interface/app/views/theme/page/_folder.html.haml +10 -0
- data/lib/common_interface/app/views/theme/page/_note.html.haml +4 -0
- data/lib/common_interface/app/views/theme/page/_toolbar.html.haml +5 -0
- data/lib/common_interface/app/views/theme/page.html.haml +19 -0
- data/lib/common_interface/app/views/theme/popup.js.erb +1 -0
- data/lib/common_interface/app/views/theme/selector.html.haml +38 -0
- data/lib/common_interface/app/views/theme/style.html.erb +113 -0
- data/lib/common_interface/app/views/theme/tmp.html.erb +31 -0
- data/lib/common_interface/app/views/theme/user.html.haml +16 -0
- data/lib/common_interface/app/views/theme_shared/_comments.html.haml +11 -0
- data/lib/common_interface/app/views/theme_shared/_core_tools.html.haml +6 -0
- data/lib/common_interface/app/views/theme_shared/_line_previews.html.haml +39 -0
- data/lib/common_interface/app/views/theme_shared/_paginator.html.haml +7 -0
- data/lib/common_interface/app/views/theme_shared/_tools.html.haml +27 -0
- data/lib/common_interface/app/views/theme_shared/_top_navigation_bottom.html.haml +32 -0
- data/lib/common_interface/app/views/theme_site/blog.html.haml +13 -0
- data/lib/common_interface/app/views/theme_site/home.html.haml +9 -0
- data/lib/common_interface/app/views/theme_site/post.html.haml +11 -0
- data/lib/common_interface/app/views/theme_site/style.html.haml +9 -0
- data/lib/common_interface/app/views/themes/default/_application_t.html.haml +29 -0
- data/lib/common_interface/app/views/themes/default/_help_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/default/aspects/_comment_t.html.haml +14 -0
- data/lib/common_interface/app/views/themes/default/aspects/_controls_t.html.haml +3 -0
- data/lib/common_interface/app/views/themes/default/aspects/_details_t.html.haml +6 -0
- data/lib/common_interface/app/views/themes/default/aspects/_discussion_t.html.haml +9 -0
- data/lib/common_interface/app/views/themes/default/aspects/_paginator_t.html.haml +8 -0
- data/lib/common_interface/app/views/themes/default/aspects/_tag_selector_t.html.haml +11 -0
- data/lib/common_interface/app/views/themes/default/basic/_bottom_panel_t.html.haml +9 -0
- data/lib/common_interface/app/views/themes/default/basic/_dialog_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/default/basic/_divider_t.html.haml +2 -0
- data/lib/common_interface/app/views/themes/default/basic/_html_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/default/basic/_inplace_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/default/basic/_message_t.html.haml +3 -0
- data/lib/common_interface/app/views/themes/default/basic/_more_t.html.haml +5 -0
- data/lib/common_interface/app/views/themes/default/basic/_narrow_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/default/basic/_navigation_t.html.haml +9 -0
- data/lib/common_interface/app/views/themes/default/basic/_popup_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/default/basic/_text_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/default/basic/_title_t.html.haml +3 -0
- data/lib/common_interface/app/views/themes/default/basic/_tool_t.html.haml +4 -0
- data/lib/common_interface/app/views/themes/default/basic/_top_panel_t.html.haml +18 -0
- data/lib/common_interface/app/views/themes/default/components/_basic_list_item_t.html.haml +4 -0
- data/lib/common_interface/app/views/themes/default/components/_basic_list_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/default/components/_table_row_t.html.haml +5 -0
- data/lib/common_interface/app/views/themes/default/components/_table_t.html.haml +12 -0
- data/lib/common_interface/app/views/themes/default/components/_tabs_item_t.html.haml +4 -0
- data/lib/common_interface/app/views/themes/default/components/_tabs_t.html.haml +4 -0
- data/lib/common_interface/app/views/themes/default/components/_toolbar_t.html.haml +14 -0
- data/lib/common_interface/app/views/themes/default/forms/_begin_t.html.erb +3 -0
- data/lib/common_interface/app/views/themes/default/forms/_end_t.html.erb +3 -0
- data/lib/common_interface/app/views/themes/default/forms/_errors_t.html.haml +5 -0
- data/lib/common_interface/app/views/themes/default/forms/_field_t.html.haml +19 -0
- data/lib/common_interface/app/views/themes/default/forms/_line_t.html.haml +6 -0
- data/lib/common_interface/app/views/themes/default/items/_file_t.html.haml +19 -0
- data/lib/common_interface/app/views/themes/default/items/_folder_t.html.haml +23 -0
- data/lib/common_interface/app/views/themes/default/items/_line_t.html.haml +34 -0
- data/lib/common_interface/app/views/themes/default/items/_list_item_t.html.haml +16 -0
- data/lib/common_interface/app/views/themes/default/items/_list_t.html.haml +35 -0
- data/lib/common_interface/app/views/themes/default/items/_note_t.html.haml +16 -0
- data/lib/common_interface/app/views/themes/default/items/_page_t.html.haml +29 -0
- data/lib/common_interface/app/views/themes/default/items/_selector_t.html.haml +18 -0
- data/lib/common_interface/app/views/themes/default/items/_thumb_t.html.haml +12 -0
- data/lib/common_interface/app/views/themes/default/items/_user_t.html.haml +12 -0
- data/lib/common_interface/app/views/themes/default/layout_templates/_dashboard_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/default/layout_templates/_default_t.html.haml +11 -0
- data/lib/common_interface/app/views/themes/default/metadata.rb +117 -0
- data/lib/common_interface/app/views/themes/simple_organization/_application_js_t.html.erb +12 -0
- data/lib/common_interface/app/views/themes/simple_organization/_application_t.html.erb +45 -0
- data/lib/common_interface/app/views/themes/simple_organization/_help_t.html.erb +1 -0
- data/lib/common_interface/app/views/themes/simple_organization/aspects/_comment_t.html.haml +21 -0
- data/lib/common_interface/app/views/themes/simple_organization/aspects/_discussion_t.html.haml +14 -0
- data/lib/common_interface/app/views/themes/simple_organization/aspects/_paginator_t.html.haml +5 -0
- data/lib/common_interface/app/views/themes/simple_organization/aspects/_tag_selector_t.html.haml +10 -0
- data/lib/common_interface/app/views/themes/simple_organization/basic/_bottom_panel_t.html.erb +12 -0
- data/lib/common_interface/app/views/themes/simple_organization/basic/_divider_t.html.erb +3 -0
- data/lib/common_interface/app/views/themes/simple_organization/basic/_message_t.html.erb +7 -0
- data/lib/common_interface/app/views/themes/simple_organization/basic/_more_t.html.haml +5 -0
- data/lib/common_interface/app/views/themes/simple_organization/basic/_navigation_t.html.erb +15 -0
- data/lib/common_interface/app/views/themes/simple_organization/basic/_text_t.html.haml +1 -0
- data/lib/common_interface/app/views/themes/simple_organization/basic/_tool_t.html.erb +9 -0
- data/lib/common_interface/app/views/themes/simple_organization/basic/_top_panel_t.html.erb +14 -0
- data/lib/common_interface/app/views/themes/simple_organization/items/_line_t.html.haml +17 -0
- data/lib/common_interface/app/views/themes/simple_organization/items/_note_t.html.haml +16 -0
- data/lib/common_interface/app/views/themes/simple_organization/items/_selector_t.html.haml +11 -0
- data/lib/common_interface/app/views/themes/simple_organization/layout_templates/_default_t.html.erb +20 -0
- data/lib/common_interface/app/views/themes/simple_organization/layout_templates/_home_t.html.erb +14 -0
- data/lib/common_interface/app/views/themes/simple_organization/metadata.rb +193 -0
- data/lib/common_interface/asset_packages.yml +89 -0
- data/lib/common_interface/init.rb +21 -0
- data/lib/common_interface/lib/common_interface_helper.rb +49 -0
- data/lib/common_interface/public/common_interface/images/img1.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img1_200.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img1_icon.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img1_thumb.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img2.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img2_200.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img2_icon.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img2_thumb.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img3.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img3_200.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img3_icon.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/img3_thumb.jpg +0 -0
- data/lib/common_interface/public/common_interface/images/video_icon.png +0 -0
- data/lib/common_interface/public/common_interface/js/aspects.js +0 -0
- data/lib/common_interface/public/common_interface/js/basic.js +229 -0
- data/lib/common_interface/public/common_interface/js/files_upload.js +115 -0
- data/lib/common_interface/public/common_interface/js/items.js +118 -0
- data/lib/common_interface/public/common_interface/js/style.js +50 -0
- data/lib/common_interface/public/common_interface/lib/jquery.elastic.js +117 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/blank.gif +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_close.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_loading.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_nav_left.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_nav_right.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_shadow_e.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_shadow_n.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_shadow_ne.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_shadow_nw.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_shadow_s.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_shadow_se.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_shadow_sw.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_shadow_w.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_title_left.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_title_main.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_title_over.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancy_title_right.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancybox-x.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancybox-y.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/fancybox.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/jquery.easing-1.3.pack.js +72 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/jquery.fancybox-1.3.1.js +1077 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/jquery.fancybox.css +363 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/jquery.fancybox.js +44 -0
- data/lib/common_interface/public/common_interface/lib/jquery.fancybox/jquery.mousewheel-3.0.2.pack.js +13 -0
- data/lib/common_interface/public/common_interface/lib/jquery.form.js +660 -0
- data/lib/common_interface/public/common_interface/lib/jquery.hoverIntent.js +111 -0
- data/lib/common_interface/public/common_interface/lib/jquery.jgrowl/jquery.jgrowl.css +128 -0
- data/lib/common_interface/public/common_interface/lib/jquery.jgrowl/jquery.jgrowl.js +307 -0
- data/lib/common_interface/public/common_interface/lib/jquery.js +4376 -0
- data/lib/common_interface/public/common_interface/lib/jquery.json.js +178 -0
- data/lib/common_interface/public/common_interface/lib/jquery.swfupload/cancel.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.swfupload/jquery.swfupload.js +64 -0
- data/lib/common_interface/public/common_interface/lib/jquery.swfupload/style.css +8 -0
- data/lib/common_interface/public/common_interface/lib/jquery.swfupload/swfupload/swfupload.js +980 -0
- data/lib/common_interface/public/common_interface/lib/jquery.swfupload/swfupload/swfupload.queue.js +98 -0
- data/lib/common_interface/public/common_interface/lib/jquery.swfupload/swfupload/swfupload.swf +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.swfupload/swfupload/wdp_buttons_upload_61x22.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.template.js +255 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-icons_222222_256x240.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-icons_228ef1_256x240.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-icons_ef8c08_256x240.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-icons_ffd27a_256x240.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/images/ui-icons_ffffff_256x240.png +0 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/jquery.ui.css +406 -0
- data/lib/common_interface/public/common_interface/lib/jquery.ui/jquery.ui.js +71 -0
- data/lib/common_interface/public/common_interface/themes/default/_aspects.scss +58 -0
- data/lib/common_interface/public/common_interface/themes/default/_basic.scss +228 -0
- data/lib/common_interface/public/common_interface/themes/default/_components.scss +151 -0
- data/lib/common_interface/public/common_interface/themes/default/_custom_reset.scss +12 -0
- data/lib/common_interface/public/common_interface/themes/default/_elastic.scss +72 -0
- data/lib/common_interface/public/common_interface/themes/default/_items.scss +88 -0
- data/lib/common_interface/public/common_interface/themes/default/_mixins.scss +39 -0
- data/lib/common_interface/public/common_interface/themes/default/_special.scss +34 -0
- data/lib/common_interface/public/common_interface/themes/default/_variables.scss +15 -0
- data/lib/common_interface/public/common_interface/themes/default/_yui_reset.scss +127 -0
- data/lib/common_interface/public/common_interface/themes/default/elastic.js +307 -0
- data/lib/common_interface/public/common_interface/themes/default/elastic.print.css +8 -0
- data/lib/common_interface/public/common_interface/themes/default/reset.css +157 -0
- data/lib/common_interface/public/common_interface/themes/default/reset.scss +5 -0
- data/lib/common_interface/public/common_interface/themes/default/style.css +580 -0
- data/lib/common_interface/public/common_interface/themes/default/style.js +84 -0
- data/lib/common_interface/public/common_interface/themes/default/style.scss +11 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/_fixes.scss +130 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/_original.scss +852 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/comment-arrow.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/comment-gravatar.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/comment-reply.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/logo-small.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/logo.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/main-two-columns-left.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/main-two-columns.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/sample-event.jpg +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/sample-gravatar.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/sample-image.jpg +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/img/sample-thumbnail.jpg +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/archives.html +389 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/comments.html +486 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/empty-page.html +107 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/comment-arrow.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/comment-gravatar.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/comment-reply.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/logo-small.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/logo.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/main-two-columns-left.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/main-two-columns.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/sample-event.jpg +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/sample-gravatar.gif +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/sample-image.jpg +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/img/sample-thumbnail.jpg +0 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/index.html +307 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/left-sidebar.html +307 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/no-subnavigation.html +290 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/single-column.html +209 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/style-demo.html +355 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/original/style.css +658 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/style.css +965 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/style.scss +2 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/tmp/comments.html +486 -0
- data/lib/common_interface/public/common_interface/themes/simple_organization/tmp/tmp.html +307 -0
- data/lib/common_interface/spec/controllers/theme_controller_spec.rb +50 -0
- data/lib/common_interface/spec/spec.opts +4 -0
- data/lib/common_interface/spec/spec_helper.rb +1 -0
- data/lib/common_interface/tmp/html.html +39 -0
- data/lib/common_interface/tmp/js.js +78 -0
- data/lib/mongo_mapper_ext/db_config.rb +76 -0
- data/lib/mongo_mapper_ext/hacks/fixes.rb +32 -0
- data/lib/mongo_mapper_ext/hacks/time_measuring.rb +44 -0
- data/lib/mongo_mapper_ext/micelaneous.rb +9 -0
- data/lib/mongo_mapper_ext/migrate.rake +33 -0
- data/lib/mongo_mapper_ext/migration.rb +108 -0
- data/lib/mongo_mapper_ext/mongo_mapper.rb +25 -0
- data/lib/mongo_mapper_ext/plugins/attributes_cache.rb +22 -0
- data/lib/mongo_mapper_ext/plugins/default_scope.rb +76 -0
- data/lib/mongo_mapper_ext/plugins/micelaneous.rb +81 -0
- data/lib/mongo_mapper_ext/spec_helper.rb +10 -0
- data/lib/mongo_mapper_ext/view_helpers.rb +10 -0
- data/lib/mongo_mapper_ext.rb +29 -0
- data/lib/rails_ext/README.markdown +13 -0
- data/lib/rails_ext/action_controller/global_path_prefix.rb +56 -0
- data/lib/rails_ext/action_controller/micelaneous.rb +118 -0
- data/lib/rails_ext/action_controller/persistent_params.rb +96 -0
- data/lib/rails_ext/action_controller/redirect_helper.rb +14 -0
- data/lib/rails_ext/action_controller/reload_page.rb +7 -0
- data/lib/rails_ext/action_controller.rb +19 -0
- data/lib/rails_ext/action_view/common_helper.rb +96 -0
- data/lib/rails_ext/action_view/ruby_template.rb +13 -0
- data/lib/rails_ext/action_view.rb +5 -0
- data/lib/rails_ext/active_record/merge_default_scope/hash_poser.rb +40 -0
- data/lib/rails_ext/active_record/merge_default_scope.rb +16 -0
- data/lib/rails_ext/active_record/micelaneous.rb +14 -0
- data/lib/rails_ext/active_record.rb +7 -0
- data/lib/rails_ext/active_support/micelaneous.rb +7 -0
- data/lib/rails_ext/active_support.rb +1 -0
- data/lib/rails_ext/asset_packager/action_view.rb +47 -0
- data/lib/rails_ext/asset_packager/asset_packager.rb +112 -0
- data/lib/rails_ext/asset_packager/jsmin.rb +205 -0
- data/lib/rails_ext/asset_packager/tasks.rb +27 -0
- data/lib/rails_ext/asset_packager.rb +4 -0
- data/lib/rails_ext/basic/handy_environment.rb +45 -0
- data/lib/rails_ext/basic/user_error.rb +12 -0
- data/lib/rails_ext/basic.rb +6 -0
- data/lib/rails_ext/hacks/ajax_flash.rb +9 -0
- data/lib/rails_ext/hacks/ajax_redirect_to.rb +19 -0
- data/lib/rails_ext/hacks/defer_static_javascripts.rb +18 -0
- data/lib/rails_ext/hacks/global_path_prefix.rb +33 -0
- data/lib/rails_ext/hacks/link_to.rb +105 -0
- data/lib/rails_ext/hacks/merge_default_scope.rb +20 -0
- data/lib/rails_ext/hacks/persistent_params.rb +16 -0
- data/lib/rails_ext/hacks/rjs_layout.rb +2 -0
- data/lib/rails_ext/micelaneous/addressable_uri.rb +45 -0
- data/lib/rails_ext/micelaneous/config_files.rb +18 -0
- data/lib/rails_ext/micelaneous/create_public_symlinks.rb +11 -0
- data/lib/rails_ext/micelaneous/defer_static_javascripts.rb +50 -0
- data/lib/rails_ext/micelaneous/email_config.rb +8 -0
- data/lib/rails_ext/micelaneous/i18n_helper.rb +143 -0
- data/lib/rails_ext/micelaneous/rails_require.rb +4 -0
- data/lib/rails_ext/micelaneous/safe_hash.rb +104 -0
- data/lib/rails_ext/micelaneous.rb +17 -0
- data/lib/rails_ext/public/rails_ext/rails_ext.css +2 -0
- data/lib/rails_ext/public/rails_ext/rails_ext.js +283 -0
- data/lib/rails_ext/spec/mongo_mapper_ext/micelaneous_plugin_spec.rb +56 -0
- data/lib/rails_ext/spec/mongo_mapper_ext/micelaneous_spec.rb +51 -0
- data/lib/rails_ext/spec/mongo_mapper_ext/mongo_mapper_migration_spec.rb +76 -0
- data/lib/rails_ext/spec/mongo_mapper_ext/scope_spec.rb +125 -0
- data/lib/rails_ext/spec/rails_ext/haml_builder_spec.rb +136 -0
- data/lib/rails_ext/spec/rails_ext/safe_hash_spec.rb +71 -0
- data/lib/rails_ext/spec/spec.opts +3 -0
- data/lib/sunspot/mongo_mapper/adapters.rb +79 -0
- data/lib/sunspot/mongo_mapper/searchable.rb +409 -0
- data/lib/sunspot/spec_helper.rb +11 -0
- data/readme.md +1 -0
- data/spec/mongo_mapper_ext/micelaneous_plugin_spec.rb +56 -0
- data/spec/mongo_mapper_ext/micelaneous_spec.rb +51 -0
- data/spec/mongo_mapper_ext/mongo_mapper_migration_spec.rb +76 -0
- data/spec/mongo_mapper_ext/scope_spec.rb +125 -0
- data/spec/rails_ext/haml_builder_spec.rb +136 -0
- data/spec/rails_ext/safe_hash_spec.rb +71 -0
- data/spec/spec.opts +4 -0
- metadata +405 -0
@@ -0,0 +1,193 @@
|
|
1
|
+
base = "/common_interface/themes/simple_organization"
|
2
|
+
|
3
|
+
m = {
|
4
|
+
:logo => %{<a href="/"><img src="#{base}/img/logo.gif" alt=""></a>}
|
5
|
+
}
|
6
|
+
|
7
|
+
m[:homepage_html] = <<HTML\
|
8
|
+
<div class="col3 left">
|
9
|
+
|
10
|
+
<h2 class="decoration decoration-green">Mission Statement</h2>
|
11
|
+
|
12
|
+
<p class="quiet large">What we want to achieve</p>
|
13
|
+
|
14
|
+
<p>Vestibulum eu pellentesque ante. Sed tincidunt quam eu nisl luctus id mattis tellus rhoncus.</p>
|
15
|
+
<p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae. Donec dapibus eros vitae nibh venenatis faucibus.</p>
|
16
|
+
<p><a class="more" href="#">Learn more »</a></p>
|
17
|
+
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<div class="col3-mid left">
|
21
|
+
|
22
|
+
<h2 class="decoration decoration-orange">Next Event</h2>
|
23
|
+
|
24
|
+
<p class="quiet large">Friday, August 18, 2009</p>
|
25
|
+
|
26
|
+
<p><img height="80" width="240" class="bordered" alt="" src="#{base}/img/sample-event.jpg"></p>
|
27
|
+
<p><em>Aliquam augue neque, rhoncus et dictum in, cursus eget mauris.</em></p>
|
28
|
+
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<div class="col3 right">
|
32
|
+
|
33
|
+
<h2 class="decoration decoration-blue">Follow Us</h2>
|
34
|
+
|
35
|
+
<p class="quiet large">http://twitter.com/username</p>
|
36
|
+
|
37
|
+
<p>Nulla mollis sollicitudin nulla et mattis.<span class="quiet">(2 hours ago)</span></p>
|
38
|
+
<p>Torquent per conubia nostra, per inceptos himenaeos. <span class="quiet">(2 hours ago)</span></p>
|
39
|
+
<p>In sed ante at velit hendrerit blandit a et nibh. Cras sed cursus nulla. <span class="quiet">(3 hours ago)</span></p>
|
40
|
+
<p>Nullam vitae mi at nulla blandit. <span class="quiet">(5 hours ago)</span></p>
|
41
|
+
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<div class="clearer"> </div>
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
<div class="content-separator"></div>
|
49
|
+
|
50
|
+
<h2>Images in text</h2>
|
51
|
+
|
52
|
+
<p>Curabitur faucibus risus quis lectus. <a href="#">Donec vehicula</a>. Pellentesque nec, lectus. Nullam dictum sem. Phasellus varius. Vestibulum in felis in mauris consequat molestie</p>
|
53
|
+
|
54
|
+
<div class='left'>
|
55
|
+
<img height="75" width="75" alt="" src="#{base}/img/sample-thumbnail.jpg">
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<p>Consectetur adipiscing elit. In nisi. Duis condimentum est nec augue blandit scelerisque. Phasellus varius. Vestibulum in felis in mauris consequat molestie. Sem nec pellentesque condimentum, turpis massa ultricies nisi, at molestie justo eros ac velit.</p>
|
59
|
+
|
60
|
+
<div class='right'>
|
61
|
+
<img height="75" width="75" alt="" src="#{base}/img/sample-thumbnail.jpg">
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<p>Curabitur euismod mi ac neque. Cras vel tortor molestie <a href="#">tortor luctus</a> facilisis. Nulla a nunc. Vivamus est. Integer ac sem quis ipsum dignissim sodales. Nam pulvinar sem eu nibh. Suspendisse non nulla et ligula bibendum facilisis. Suspendisse potenti. Vivamus leo.</p>
|
65
|
+
|
66
|
+
<p>Nulla lacus tortor, ornare vitae, vulputate vitae, sed quis magna. Pellentesque urna urna, bibendum non, ornare in, sollicitudin quis, est.</p>
|
67
|
+
|
68
|
+
<div class="clearer"> </div>
|
69
|
+
|
70
|
+
HTML
|
71
|
+
|
72
|
+
m[:style_html] = <<HTML\
|
73
|
+
<h1>Heading 1</h1>
|
74
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
75
|
+
|
76
|
+
<h2>Heading 2</h2>
|
77
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
78
|
+
|
79
|
+
<h3>Heading 3</h3>
|
80
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
81
|
+
|
82
|
+
<h4>Heading 4</h4>
|
83
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
84
|
+
|
85
|
+
<div class="content-separator"></div>
|
86
|
+
|
87
|
+
<h2>Images in text</h2>
|
88
|
+
|
89
|
+
<img height="75" width="75" src="#{base}/img/sample-thumbnail.jpg">
|
90
|
+
|
91
|
+
<p>Curabitur faucibus risus quis lectus. <a href="#">Donec vehicula</a>. Pellentesque nec, lectus. Nullam dictum sem. Phasellus varius. Vestibulum in felis in mauris consequat molestie</p>
|
92
|
+
|
93
|
+
<div class="content-separator"></div>
|
94
|
+
|
95
|
+
<div class='left'>
|
96
|
+
<img height="75" width="75" alt="" src="#{base}/img/sample-thumbnail.jpg">
|
97
|
+
</div>
|
98
|
+
|
99
|
+
<p>Consectetur adipiscing elit. In nisi. Duis condimentum est nec augue blandit scelerisque. Phasellus varius. Vestibulum in felis in mauris consequat molestie. Sem nec pellentesque condimentum, turpis massa ultricies nisi, at molestie justo eros ac velit.</p>
|
100
|
+
|
101
|
+
<div class='right'>
|
102
|
+
<img height="75" width="75" alt="" src="#{base}/img/sample-thumbnail.jpg">
|
103
|
+
</div>
|
104
|
+
|
105
|
+
<p>Curabitur euismod mi ac neque. Cras vel tortor molestie <a href="#">tortor luctus</a> facilisis. Nulla a nunc. Vivamus est. Integer ac sem quis ipsum dignissim sodales. Nam pulvinar sem eu nibh. Suspendisse non nulla et ligula bibendum facilisis. Suspendisse potenti. Vivamus leo.</p>
|
106
|
+
|
107
|
+
<p>Nulla lacus tortor, ornare vitae, vulputate vitae, sed quis magna. Pellentesque urna urna, bibendum non, ornare in, sollicitudin quis, est.</p>
|
108
|
+
|
109
|
+
<div class="clearer"> </div>
|
110
|
+
|
111
|
+
<div class="content-separator"></div>
|
112
|
+
|
113
|
+
<h2>Blockquote</h2>
|
114
|
+
|
115
|
+
<blockquote>
|
116
|
+
<p>Praesent orci nisi, interdum quis, tristique vitae, consectetur sed, arcu. Ut at sapien non dolor semper sollicitudin. Etiam semper erat quis odio. Quisque commodo suscipit velit. Nulla facilisi.</p>
|
117
|
+
<p><cite>- Duis justo quam</cite></p>
|
118
|
+
</blockquote>
|
119
|
+
|
120
|
+
<div class="content-separator"></div>
|
121
|
+
|
122
|
+
<h2>Lists</h2>
|
123
|
+
|
124
|
+
<h3>Unsorted list</h3>
|
125
|
+
<ul>
|
126
|
+
<li>Blandit in, interdum a</li>
|
127
|
+
<li>Ultrices non lectus</li>
|
128
|
+
<li>Nunc id odio</li>
|
129
|
+
<li>Fusce ultricies</li>
|
130
|
+
</ul>
|
131
|
+
|
132
|
+
<h3>Ordered list</h3>
|
133
|
+
<ol>
|
134
|
+
<li>Blandit in, interdum a</li>
|
135
|
+
<li>Ultrices non lectus</li>
|
136
|
+
<li>Nunc id odio</li>
|
137
|
+
<li>Fusce ultricies</li>
|
138
|
+
</ol>
|
139
|
+
|
140
|
+
<h3>Definition list</h3>
|
141
|
+
|
142
|
+
<dl>
|
143
|
+
<dt>title</dt>
|
144
|
+
<dd>definition</dd>
|
145
|
+
<dd>definition</dd>
|
146
|
+
<dt>title</dt>
|
147
|
+
<dt>title</dt>
|
148
|
+
<dd>definition</dd>
|
149
|
+
<dt>title</dt>
|
150
|
+
<dd>definition</dd>
|
151
|
+
</dl>
|
152
|
+
|
153
|
+
<div class="content-separator"></div>
|
154
|
+
|
155
|
+
<h2>Tables</h2>
|
156
|
+
|
157
|
+
<h3>Data table</h3>
|
158
|
+
|
159
|
+
<table class="data-table">
|
160
|
+
<tbody><tr>
|
161
|
+
<th>Property 1</th>
|
162
|
+
<th>Property 2</th>
|
163
|
+
<th>Property 3</th>
|
164
|
+
<th>Property 4</th>
|
165
|
+
</tr>
|
166
|
+
<tr class="even">
|
167
|
+
<td>Value 1.1</td>
|
168
|
+
<td>Value 1.2</td>
|
169
|
+
<td>Value 1.3</td>
|
170
|
+
<td>Value 1.4</td>
|
171
|
+
</tr>
|
172
|
+
<tr>
|
173
|
+
<td>Value 2.1</td>
|
174
|
+
<td>Value 2.2</td>
|
175
|
+
<td>Value 2.3</td>
|
176
|
+
<td>Value 2.4</td>
|
177
|
+
</tr>
|
178
|
+
<tr class="even">
|
179
|
+
<td>Value 3.1</td>
|
180
|
+
<td>Value 3.2</td>
|
181
|
+
<td>Value 3.3</td>
|
182
|
+
<td>Value 3.4</td>
|
183
|
+
</tr>
|
184
|
+
<tr>
|
185
|
+
<td>Value 4.1</td>
|
186
|
+
<td>Value 4.2</td>
|
187
|
+
<td>Value 4.3</td>
|
188
|
+
<td>Value 4.4</td>
|
189
|
+
</tr>
|
190
|
+
</tbody></table>
|
191
|
+
HTML
|
192
|
+
|
193
|
+
m
|
@@ -0,0 +1,89 @@
|
|
1
|
+
---
|
2
|
+
javascripts:
|
3
|
+
common_interface_base:
|
4
|
+
# Core
|
5
|
+
- common_interface/lib/jquery.js
|
6
|
+
- common_interface/lib/jquery.json.js
|
7
|
+
- common_interface/lib/jquery.hoverIntent.js
|
8
|
+
- common_interface/lib/jquery.template.js
|
9
|
+
- common_interface/lib/jquery.jgrowl/jquery.jgrowl.js
|
10
|
+
- common_interface/lib/jquery.form.js
|
11
|
+
|
12
|
+
- /rails_ext/rails_ext.js
|
13
|
+
|
14
|
+
- common_interface/js/basic.js
|
15
|
+
- common_interface/js/items.js
|
16
|
+
- common_interface/js/aspects.js
|
17
|
+
- common_interface/js/style.js
|
18
|
+
|
19
|
+
#
|
20
|
+
# Files Upload, TODO3 (load it dynamically)
|
21
|
+
# using $.getScript("/some_script.js");
|
22
|
+
# - files_upload:
|
23
|
+
- common_interface/lib/jquery.swfupload/swfupload/swfupload.js
|
24
|
+
- common_interface/lib/jquery.swfupload/swfupload/swfupload.queue.js
|
25
|
+
- common_interface/lib/jquery.swfupload/jquery.swfupload.js
|
26
|
+
- common_interface/js/files_upload.js
|
27
|
+
|
28
|
+
# Images, Slides
|
29
|
+
- common_interface/lib/jquery.fancybox/jquery.fancybox.js
|
30
|
+
|
31
|
+
# Interactions
|
32
|
+
- common_interface/lib/jquery.ui/jquery.ui.js
|
33
|
+
|
34
|
+
# Elastic TextArea
|
35
|
+
- common_interface/lib/jquery.elastic.js
|
36
|
+
|
37
|
+
# Default theme
|
38
|
+
- common_interface/themes/default/elastic.js
|
39
|
+
- common_interface/themes/default/style.js
|
40
|
+
|
41
|
+
|
42
|
+
stylesheets:
|
43
|
+
common_interface_base:
|
44
|
+
# CSS Reset
|
45
|
+
- common_interface/themes/default/reset.css
|
46
|
+
|
47
|
+
# Default theme
|
48
|
+
- common_interface/themes/default/style.css
|
49
|
+
|
50
|
+
# Core
|
51
|
+
- common_interface/lib/jquery.jgrowl/jquery.jgrowl.css
|
52
|
+
|
53
|
+
- /rails_ext/rails_ext.css
|
54
|
+
|
55
|
+
#
|
56
|
+
# Files Upload, TODO3 (load it dynamically)
|
57
|
+
# - files_upload:
|
58
|
+
- common_interface/lib/jquery.swfupload/style.css
|
59
|
+
|
60
|
+
# Images, Slides
|
61
|
+
- common_interface/lib/jquery.fancybox/jquery.fancybox.css
|
62
|
+
|
63
|
+
# Interactions
|
64
|
+
- common_interface/lib/jquery.ui/jquery.ui.css
|
65
|
+
|
66
|
+
|
67
|
+
#
|
68
|
+
# Mixin, for usage in incomplete themes, to support default theme partials.
|
69
|
+
# The same as common_interface_base but without global 'reset.css'
|
70
|
+
#
|
71
|
+
common_interface_base_mixin:
|
72
|
+
# Default theme
|
73
|
+
- common_interface/themes/default/style.css
|
74
|
+
|
75
|
+
# Core
|
76
|
+
- common_interface/lib/jquery.jgrowl/jquery.jgrowl.css
|
77
|
+
|
78
|
+
- /rails_ext/rails_ext.css
|
79
|
+
|
80
|
+
#
|
81
|
+
# Files Upload, TODO3 (load it dynamically)
|
82
|
+
# - files_upload:
|
83
|
+
- common_interface/lib/jquery.swfupload/style.css
|
84
|
+
|
85
|
+
# Images, Slides
|
86
|
+
- common_interface/lib/jquery.fancybox/jquery.fancybox.css
|
87
|
+
|
88
|
+
# Interactions
|
89
|
+
- common_interface/lib/jquery.ui/jquery.ui.css
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'abstract_interface'
|
2
|
+
|
3
|
+
AbstractInterface.available_themes.push *%w{default simple_organization}
|
4
|
+
# AVAILABLE_LAYOUT_TEMPLATES = %w{default home dashboard}
|
5
|
+
|
6
|
+
# ['basic/dialog', 'basic/popup'].each{|t| AbstractInterface.dont_wrap_into_placeholder.add t}
|
7
|
+
|
8
|
+
AbstractInterface.plugin_name = 'common_interface'
|
9
|
+
|
10
|
+
AbstractInterface.generate_helper_methods \
|
11
|
+
:aspects => %w{discussion comment controls details paginator tag_selector},
|
12
|
+
:basic => %w{bottom_panel dialog divider inplace message more narrow navigation navigation_item popup text title top_panel tool},
|
13
|
+
:components => %w{basic_list basic_list_item table table_row tabs tabs_item toolbar},
|
14
|
+
:items => %w{folder list list_item note page user thumb line file selector}
|
15
|
+
|
16
|
+
ActionController::Base.class_eval do
|
17
|
+
helper CommonInterfaceHelper
|
18
|
+
end
|
19
|
+
|
20
|
+
dir = File.dirname __FILE__
|
21
|
+
AssetPackager.add "#{dir}/asset_packages.yml", "#{dir}/public"
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module CommonInterfaceHelper
|
2
|
+
#
|
3
|
+
# Form Buttons
|
4
|
+
#
|
5
|
+
def ok_button text = t(:ok)
|
6
|
+
submit_tag text, :class => '_submit_form_or_ajax_form'
|
7
|
+
end
|
8
|
+
|
9
|
+
def cancel_button text = t(:cancel)
|
10
|
+
link_to text, :back, :class => '_redirect_back_or_close_dialog'
|
11
|
+
end
|
12
|
+
|
13
|
+
#
|
14
|
+
# Custom
|
15
|
+
#
|
16
|
+
def tag_cloud tags, classes, &block
|
17
|
+
return if tags.empty?
|
18
|
+
|
19
|
+
max_count = tags.sort{|a, b| a.count <=> b.count}.last.count.to_f
|
20
|
+
|
21
|
+
tags.sort{|a, b| a.name <=> b.name}.each do |tag|
|
22
|
+
index = ((tag.count / max_count) * (classes.size - 1)).round
|
23
|
+
block.call tag, classes[index]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
#
|
29
|
+
# Folder
|
30
|
+
#
|
31
|
+
# params = {
|
32
|
+
# :l => I18n.locale,
|
33
|
+
# }
|
34
|
+
#
|
35
|
+
# opt = {
|
36
|
+
# :upload_url => item_files_path(folder),
|
37
|
+
# :view => 'folder_thumb',
|
38
|
+
# :select_files => t(:select_files),
|
39
|
+
# }
|
40
|
+
def build_files_uploader_for params, opt
|
41
|
+
session_key = ActionController::Base.session_options[:key]
|
42
|
+
|
43
|
+
params = {
|
44
|
+
session_key => cookies[session_key]
|
45
|
+
}.merge(params)
|
46
|
+
|
47
|
+
"new FilesUpload(#{params.to_json}, #{opt.to_json});"
|
48
|
+
end
|
49
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
File without changes
|
@@ -0,0 +1,229 @@
|
|
1
|
+
// requirements
|
2
|
+
railsExt;
|
3
|
+
|
4
|
+
//
|
5
|
+
// More
|
6
|
+
//
|
7
|
+
$._opened_more_containers = {};
|
8
|
+
$.callOnceForEvery('more', '._more', function(){
|
9
|
+
var more = $(this);
|
10
|
+
var button = more.find('._button:first');
|
11
|
+
var content = more.find('._content:first');
|
12
|
+
|
13
|
+
// more button
|
14
|
+
button.click(function(){
|
15
|
+
$._opened_more_containers[more.attr('id')] = true;
|
16
|
+
more.replaceWith(content.contents());
|
17
|
+
$.processInitializers();
|
18
|
+
return false
|
19
|
+
});
|
20
|
+
|
21
|
+
// if opened once, keep it open in all next ajax updates
|
22
|
+
if($._opened_more_containers[more.attr('id')]){
|
23
|
+
more.replaceWith(content.contents());
|
24
|
+
$.processInitializers();
|
25
|
+
};
|
26
|
+
});
|
27
|
+
|
28
|
+
//
|
29
|
+
// Messages
|
30
|
+
//
|
31
|
+
$.jGrowl.defaults.position = 'bottom-right'
|
32
|
+
$.extend({
|
33
|
+
infoMessage: function(message){
|
34
|
+
this.jGrowl(message);
|
35
|
+
},
|
36
|
+
|
37
|
+
errorMessage: function(message){
|
38
|
+
this.jGrowl(message);
|
39
|
+
}
|
40
|
+
});
|
41
|
+
|
42
|
+
|
43
|
+
//
|
44
|
+
// Inplace Editor
|
45
|
+
//
|
46
|
+
$.callOnceForEvery('inplace', '._inplace', function() {
|
47
|
+
var inplace = $(this);
|
48
|
+
var id = inplace.dataAttr('original_id');
|
49
|
+
if(!id) warn("inplace original_id isn't defined!");
|
50
|
+
|
51
|
+
// Universal Cancel Button (for General and AJAX forms)
|
52
|
+
inplace.find('._redirect_back_or_close_dialog').click(function(){
|
53
|
+
inplace.remove();
|
54
|
+
$('#' + id).show();
|
55
|
+
$.processInitializers();
|
56
|
+
return false;
|
57
|
+
});
|
58
|
+
|
59
|
+
// Universal Submit Button (for General and AJAX forms)
|
60
|
+
inplace.find('._submit_form_or_ajax_form').click(function(){
|
61
|
+
var form = inplace.find('form');
|
62
|
+
|
63
|
+
var data = {
|
64
|
+
format: 'js',
|
65
|
+
target: $(this).identify(),
|
66
|
+
};
|
67
|
+
|
68
|
+
// Calculating index inside container (only if it's inside container)
|
69
|
+
if(!inplace.parents('._container').blank()){
|
70
|
+
var container = inplace.parents('._container').first();
|
71
|
+
var list = container.find('> ._item, #' + inplace.identify());
|
72
|
+
var index = list.index(inplace);
|
73
|
+
data['index'] = index;
|
74
|
+
}
|
75
|
+
|
76
|
+
form.ajaxSubmit({data: data, dataType: 'script'});
|
77
|
+
|
78
|
+
return false;
|
79
|
+
});
|
80
|
+
});
|
81
|
+
|
82
|
+
$.fn.extend({
|
83
|
+
add_inplace: function(container, html, add_method){
|
84
|
+
var target = $(this).parents('._inplace_target');
|
85
|
+
if(!target.blank()){
|
86
|
+
target.after(html);
|
87
|
+
}else{
|
88
|
+
// if($(container + ' ._inplace._new_inplace').blank()) {
|
89
|
+
// var inplace = $(html).addClass('_new_inplace');
|
90
|
+
var inplace = $(html);
|
91
|
+
var container = $(container);
|
92
|
+
add_method = add_method || 'append';
|
93
|
+
container[add_method](inplace);
|
94
|
+
// }
|
95
|
+
}
|
96
|
+
},
|
97
|
+
|
98
|
+
edit_inplace: function(id, html){
|
99
|
+
var inplace = $(html);
|
100
|
+
inplace.dataAttr('original_id', id);
|
101
|
+
|
102
|
+
var original = $('#' + id);
|
103
|
+
original.hide();
|
104
|
+
|
105
|
+
var previous_inplace = $(this).parents('._inplace');
|
106
|
+
if(!previous_inplace.blank()){
|
107
|
+
previous_inplace.replaceWith(inplace);
|
108
|
+
}else{
|
109
|
+
original.after(inplace);
|
110
|
+
}
|
111
|
+
},
|
112
|
+
|
113
|
+
update_inplace: function(id, html){
|
114
|
+
var original = $('#' + id);
|
115
|
+
original.remove();
|
116
|
+
|
117
|
+
var previous_inplace = $(this).parents('._inplace');
|
118
|
+
previous_inplace.replaceWith(html);
|
119
|
+
}
|
120
|
+
});
|
121
|
+
|
122
|
+
|
123
|
+
//
|
124
|
+
// Dialog
|
125
|
+
//
|
126
|
+
$.callOnceForEvery('dialog', '._dialog', function() {
|
127
|
+
// Universal Form Cancel Button (for General and AJAX forms)
|
128
|
+
var dialog = $(this);
|
129
|
+
dialog.find('._redirect_back_or_close_dialog').click(function(){
|
130
|
+
dialog.remove();
|
131
|
+
return false;
|
132
|
+
});
|
133
|
+
|
134
|
+
// Universal Submit Button (for General and AJAX forms)
|
135
|
+
dialog.find('._submit_form_or_ajax_form').click(function(){
|
136
|
+
dialog.hide();
|
137
|
+
|
138
|
+
var form = dialog.find('form');
|
139
|
+
form.ajaxSubmit({
|
140
|
+
data: {
|
141
|
+
format: 'js'
|
142
|
+
},
|
143
|
+
dataType: 'script',
|
144
|
+
success: function(){
|
145
|
+
dialog.remove(); // can be removed only when form is posted, othervise it doesn't works with files
|
146
|
+
}
|
147
|
+
});
|
148
|
+
|
149
|
+
return false;
|
150
|
+
});
|
151
|
+
|
152
|
+
// Center dialog
|
153
|
+
var winH = $(window).height();
|
154
|
+
var winW = $(window).width();
|
155
|
+
var scroll_top = $(window).scrollTop();
|
156
|
+
var layoutW = $('._layout_content').width();
|
157
|
+
dialog.css('top', winH/3 + scroll_top - dialog.height()/2);
|
158
|
+
dialog.css('left', layoutW/2 - dialog.width()/2);
|
159
|
+
// More about cool modal dialog: http://www.queness.com/post/77/simple-jquery-modal-window-tutorial
|
160
|
+
});
|
161
|
+
|
162
|
+
$.fn.extend({
|
163
|
+
showDialog: function(dialogHtml){
|
164
|
+
$('._dialog').remove();
|
165
|
+
$('._main').append(dialogHtml);
|
166
|
+
|
167
|
+
$.refresh_js_css();
|
168
|
+
}
|
169
|
+
});
|
170
|
+
|
171
|
+
//
|
172
|
+
// Popup
|
173
|
+
//
|
174
|
+
$.callOnceForEvery('popup', 'body', function() {
|
175
|
+
$(this).click(function(){
|
176
|
+
$('._active_popup').remove();
|
177
|
+
});
|
178
|
+
});
|
179
|
+
|
180
|
+
// Embedded popup (popup without AJAX)
|
181
|
+
$.callOnceForEvery('embedded_popup', '._embedded_popup', function() {
|
182
|
+
var e = $(this);
|
183
|
+
e.click(function(){
|
184
|
+
var content = $("#" + e.dataAttr('content_id'));
|
185
|
+
e.showPopup(content.html());
|
186
|
+
return false;
|
187
|
+
});
|
188
|
+
});
|
189
|
+
|
190
|
+
// showPopup
|
191
|
+
$.fn.extend({
|
192
|
+
showPopup: function(popupHtml){
|
193
|
+
if(popupHtml.blank()){
|
194
|
+
log("Content for PopUp is blank!");
|
195
|
+
return;
|
196
|
+
}
|
197
|
+
|
198
|
+
$('._active_popup').remove();
|
199
|
+
var popup = $(popupHtml)
|
200
|
+
popup.addClass('_active_popup');
|
201
|
+
$('._main').append(popup);
|
202
|
+
|
203
|
+
$.refresh_js_css();
|
204
|
+
|
205
|
+
// Positioning
|
206
|
+
var layout_content = $('._layout_content');
|
207
|
+
|
208
|
+
var left = $(this).offset().left + this.width() / 2;
|
209
|
+
var top = $(this).offset().top + this.height() / 2;
|
210
|
+
|
211
|
+
var border_bottom = $(window).scrollTop() + $(window).height();
|
212
|
+
var border_right = layout_content.width();
|
213
|
+
var left_pos, top_pos;
|
214
|
+
var offset = 5;
|
215
|
+
if(border_right - (offset * 2) >= left + popup.width()){
|
216
|
+
left_pos = left + offset;
|
217
|
+
}else{
|
218
|
+
left_pos = border_right - popup.width() - (offset * 3);
|
219
|
+
}
|
220
|
+
|
221
|
+
if(border_bottom + (offset * 2) >= top + popup.height()){
|
222
|
+
top_pos = top + offset;
|
223
|
+
}else{
|
224
|
+
top_pos = top - popup.height() - offset;
|
225
|
+
}
|
226
|
+
|
227
|
+
popup.css({left:left_pos, top:top_pos});
|
228
|
+
}
|
229
|
+
});
|