atreides 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +7 -0
- data/README.rdoc +1 -0
- data/app/assets/javascripts/atreides/admin.js +22 -0
- data/app/assets/javascripts/atreides/admin_base.js.erb +247 -0
- data/app/assets/javascripts/atreides/admin_edit.js +9 -0
- data/app/assets/javascripts/atreides/application.js +15 -0
- data/app/assets/javascripts/atreides/comments.coffee +50 -0
- data/app/assets/javascripts/atreides/public.js +24 -0
- data/app/assets/javascripts/atreides/public_base.js.erb +119 -0
- data/app/assets/javascripts/atreides/terryblr.js +57 -0
- data/app/assets/stylesheets/atreides/admin.css +21 -0
- data/app/assets/stylesheets/atreides/admin_base.css.erb +1762 -0
- data/app/assets/stylesheets/atreides/application.css +13 -0
- data/app/assets/stylesheets/atreides/formtastic_changes.css +10 -0
- data/app/assets/stylesheets/atreides/iphone-checkboxes.css.erb +97 -0
- data/app/assets/stylesheets/atreides/jBreadCrumb.css +109 -0
- data/app/assets/stylesheets/atreides/public.css +15 -0
- data/app/assets/stylesheets/atreides/public_base.css +101 -0
- data/app/assets/stylesheets/atreides/swfupload.css.erb +63 -0
- data/app/controllers/admin/atreides/comments_controller.rb +47 -0
- data/app/controllers/admin/atreides/content_parts_controller.rb +43 -0
- data/app/controllers/admin/atreides/dropbox_controller.rb +40 -0
- data/app/controllers/admin/atreides/features_controller.rb +63 -0
- data/app/controllers/admin/atreides/github_controller.rb +35 -0
- data/app/controllers/admin/atreides/links_controller.rb +3 -0
- data/app/controllers/admin/atreides/messages_controller.rb +3 -0
- data/app/controllers/admin/atreides/orders_controller.rb +35 -0
- data/app/controllers/admin/atreides/pages_controller.rb +59 -0
- data/app/controllers/admin/atreides/photos_controller.rb +79 -0
- data/app/controllers/admin/atreides/posts_controller.rb +109 -0
- data/app/controllers/admin/atreides/products_controller.rb +39 -0
- data/app/controllers/admin/atreides/sessions_controller.rb +7 -0
- data/app/controllers/admin/atreides/sizes_controller.rb +4 -0
- data/app/controllers/admin/atreides/tags_controller.rb +20 -0
- data/app/controllers/admin/atreides/users_controller.rb +50 -0
- data/app/controllers/admin/atreides/videos_controller.rb +53 -0
- data/app/controllers/atreides/admin_controller.rb +96 -0
- data/app/controllers/atreides/admin_home_controller.rb +211 -0
- data/app/controllers/atreides/application_controller.rb +93 -0
- data/app/controllers/atreides/comments_controller.rb +43 -0
- data/app/controllers/atreides/home_controller.rb +71 -0
- data/app/controllers/atreides/likes_controller.rb +44 -0
- data/app/controllers/atreides/pages_controller.rb +34 -0
- data/app/controllers/atreides/posts_controller.rb +119 -0
- data/app/controllers/atreides/public_controller.rb +43 -0
- data/app/helpers/admin/atreides/comments_helper.rb +8 -0
- data/app/helpers/admin/atreides/dropbox_helper.rb +42 -0
- data/app/helpers/admin/atreides/features_helper.rb +4 -0
- data/app/helpers/admin/atreides/github_helper.rb +43 -0
- data/app/helpers/admin/atreides/links_helper.rb +4 -0
- data/app/helpers/admin/atreides/messages_helper.rb +4 -0
- data/app/helpers/admin/atreides/orders_helper.rb +30 -0
- data/app/helpers/admin/atreides/pages_helper.rb +17 -0
- data/app/helpers/admin/atreides/photos_helper.rb +14 -0
- data/app/helpers/admin/atreides/posts_helper.rb +41 -0
- data/app/helpers/admin/atreides/products_helper.rb +37 -0
- data/app/helpers/admin/atreides/sizes_helper.rb +4 -0
- data/app/helpers/admin/atreides/user_sessions_helper.rb +4 -0
- data/app/helpers/admin/atreides/users_helper.rb +8 -0
- data/app/helpers/admin/atreides/videos_helper.rb +4 -0
- data/app/helpers/atreides/admin_helper.rb +243 -0
- data/app/helpers/atreides/admin_home_helper.rb +4 -0
- data/app/helpers/atreides/application_helper.rb +210 -0
- data/app/helpers/atreides/home_helper.rb +4 -0
- data/app/helpers/atreides/posts_helper.rb +119 -0
- data/app/inputs/files_input.rb +13 -0
- data/app/inputs/price_input.rb +18 -0
- data/app/inputs/underline_input.rb +16 -0
- data/app/models/atreides/ability.rb +24 -0
- data/app/models/atreides/comment.rb +93 -0
- data/app/models/atreides/content_part.rb +107 -0
- data/app/models/atreides/feature.rb +90 -0
- data/app/models/atreides/github.rb +74 -0
- data/app/models/atreides/like.rb +35 -0
- data/app/models/atreides/line_item.rb +4 -0
- data/app/models/atreides/link.rb +32 -0
- data/app/models/atreides/message.rb +34 -0
- data/app/models/atreides/order.rb +209 -0
- data/app/models/atreides/page.rb +114 -0
- data/app/models/atreides/photo.rb +130 -0
- data/app/models/atreides/post.rb +271 -0
- data/app/models/atreides/product.rb +75 -0
- data/app/models/atreides/site.rb +59 -0
- data/app/models/atreides/size.rb +44 -0
- data/app/models/atreides/tag.rb +31 -0
- data/app/models/atreides/tweet.rb +123 -0
- data/app/models/atreides/user.rb +129 -0
- data/app/models/atreides/video.rb +206 -0
- data/app/models/atreides/vote.rb +43 -0
- data/app/models/fb_post_publisher_job.rb +72 -0
- data/app/models/settings.rb +19 -0
- data/app/models/tumblr_post_publisher_job.rb +75 -0
- data/app/models/tw_post_publisher_job.rb +54 -0
- data/app/views/admin/_edit_head_content.html.haml +2 -0
- data/app/views/admin/atreides/comments/_line.html.haml +60 -0
- data/app/views/admin/atreides/comments/_sidebar.html.haml +52 -0
- data/app/views/admin/atreides/comments/create.js.haml +1 -0
- data/app/views/admin/atreides/comments/index.html.haml +34 -0
- data/app/views/admin/atreides/content_parts/_form.html.haml +21 -0
- data/app/views/admin/atreides/content_parts/_photos.html.haml +18 -0
- data/app/views/admin/atreides/content_parts/_text.html.haml +1 -0
- data/app/views/admin/atreides/content_parts/_videos.html.haml +12 -0
- data/app/views/admin/atreides/content_parts/destroy.js.haml +3 -0
- data/app/views/admin/atreides/content_parts/edit.html.haml +0 -0
- data/app/views/admin/atreides/content_parts/new.html.haml +0 -0
- data/app/views/admin/atreides/content_parts/new.js.haml +11 -0
- data/app/views/admin/atreides/dropbox/_uploader.html.haml +134 -0
- data/app/views/admin/atreides/dropbox/list.html.haml +27 -0
- data/app/views/admin/atreides/dropbox/setup.html.haml +8 -0
- data/app/views/admin/atreides/features/_form.html.haml +60 -0
- data/app/views/admin/atreides/features/edit.html.haml +1 -0
- data/app/views/admin/atreides/features/index.html.haml +24 -0
- data/app/views/admin/atreides/features/new.html.haml +1 -0
- data/app/views/admin/atreides/github/index.html.haml +26 -0
- data/app/views/admin/atreides/github/show.html.haml +19 -0
- data/app/views/admin/atreides/likes/create.js.haml +2 -0
- data/app/views/admin/atreides/orders/_sidebar.html.haml +20 -0
- data/app/views/admin/atreides/orders/edit.html.haml +52 -0
- data/app/views/admin/atreides/orders/index.html.haml +8 -0
- data/app/views/admin/atreides/pages/_form.html.haml +31 -0
- data/app/views/admin/atreides/pages/edit.html.haml +3 -0
- data/app/views/admin/atreides/pages/index.html.haml +15 -0
- data/app/views/admin/atreides/pages/index.js.haml +4 -0
- data/app/views/admin/atreides/pages/new.html.haml +2 -0
- data/app/views/admin/atreides/photos/create.js.haml +18 -0
- data/app/views/admin/atreides/photos/destroy.js.haml +3 -0
- data/app/views/admin/atreides/posts/_archives.html.haml +19 -0
- data/app/views/admin/atreides/posts/_form.html.haml +66 -0
- data/app/views/admin/atreides/posts/_form_buttons.html.haml +9 -0
- data/app/views/admin/atreides/posts/_form_sidebar.html.haml +85 -0
- data/app/views/admin/atreides/posts/edit.html.haml +2 -0
- data/app/views/admin/atreides/posts/index.html.haml +24 -0
- data/app/views/admin/atreides/posts/index.js.haml +1 -0
- data/app/views/admin/atreides/posts/new.html.haml +2 -0
- data/app/views/admin/atreides/products/edit.html.haml +69 -0
- data/app/views/admin/atreides/products/index.html.haml +31 -0
- data/app/views/admin/atreides/sessions/new.html.haml +13 -0
- data/app/views/admin/atreides/user_sessions/new.html.haml +10 -0
- data/app/views/admin/atreides/users/_form.html.haml +19 -0
- data/app/views/admin/atreides/users/edit.html.haml +6 -0
- data/app/views/admin/atreides/users/index.html.haml +11 -0
- data/app/views/admin/atreides/users/new.html.haml +6 -0
- data/app/views/admin/atreides/users/show.html.haml +4 -0
- data/app/views/admin/atreides/videos/create.js.haml +9 -0
- data/app/views/admin/atreides/videos/destroy.js.haml +3 -0
- data/app/views/admin/common/_archive_sidebar.html.haml +29 -0
- data/app/views/admin/common/_list_table.html.erb +37 -0
- data/app/views/admin/common/_list_table_row.html.erb +18 -0
- data/app/views/admin/common/_pagination.html.erb +1 -0
- data/app/views/admin/common/_search_form.html.erb +6 -0
- data/app/views/admin/common/access_denied.html.haml +1 -0
- data/app/views/atreides/admin/_content_nav.html.haml +8 -0
- data/app/views/atreides/admin_home/_analytics.html.haml +93 -0
- data/app/views/atreides/admin_home/_fb_page_likes_analytics_tbody.haml +10 -0
- data/app/views/atreides/admin_home/_fb_page_views_analytics_tbody.haml +10 -0
- data/app/views/atreides/admin_home/_top_landing_pages_analytics_tbody.haml +14 -0
- data/app/views/atreides/admin_home/_top_referrers_analytics_tbody.haml +12 -0
- data/app/views/atreides/admin_home/_tweets_analytics_tbody.html.haml +8 -0
- data/app/views/atreides/admin_home/_visitors_analytics_tbody.html.haml +12 -0
- data/app/views/atreides/admin_home/index.html.haml +57 -0
- data/app/views/atreides/admin_home/search.html.haml +11 -0
- data/app/views/atreides/admin_home/setup.html.haml +15 -0
- data/app/views/atreides/common/_gallery_params.xml.erb +174 -0
- data/app/views/atreides/common/slideshow.xml.haml +6 -0
- data/app/views/atreides/errors/404.html.haml +10 -0
- data/app/views/atreides/errors/500.html.haml +4 -0
- data/app/views/atreides/home/index.html.haml +30 -0
- data/app/views/atreides/home/index.js.haml +1 -0
- data/app/views/atreides/home/robots.txt.erb +5 -0
- data/app/views/atreides/home/sitemap.xml.builder +35 -0
- data/app/views/atreides/pages/show.html.haml +3 -0
- data/app/views/atreides/posts/_archives.html.haml +19 -0
- data/app/views/atreides/posts/_featured_posts.html.haml +10 -0
- data/app/views/atreides/posts/_list.html.haml +9 -0
- data/app/views/atreides/posts/archives.html.haml +3 -0
- data/app/views/atreides/posts/archives.js.haml +1 -0
- data/app/views/atreides/posts/gallery_params.xml.haml +1 -0
- data/app/views/atreides/posts/index.atom.builder +22 -0
- data/app/views/atreides/posts/index.html.haml +13 -0
- data/app/views/atreides/posts/index.rss.builder +21 -0
- data/app/views/atreides/posts/show.html.haml +23 -0
- data/app/views/atreides/posts/tagged.html.haml +4 -0
- data/app/views/atreides/posts/tagged.js.haml +1 -0
- data/app/views/layouts/admin.html.haml +62 -0
- data/app/views/layouts/application.html.haml +37 -0
- data/app/views/layouts/atreides/application.html.erb +14 -0
- data/app/views/layouts/public.html.haml +39 -0
- data/config/cucumber.yml +11 -0
- data/config/locales/en.yml +236 -0
- data/config/locales/fr.yml +199 -0
- data/config/routes.rb +119 -0
- data/lib/assets/images/atreides/admin/add.png +0 -0
- data/lib/assets/images/atreides/admin/add_btn.png +0 -0
- data/lib/assets/images/atreides/admin/add_dashboard.png +0 -0
- data/lib/assets/images/atreides/admin/add_photo_button_sprite.png +0 -0
- data/lib/assets/images/atreides/admin/add_photos_btn.png +0 -0
- data/lib/assets/images/atreides/admin/background.png +0 -0
- data/lib/assets/images/atreides/admin/calendar.png +0 -0
- data/lib/assets/images/atreides/admin/chevron.gif +0 -0
- data/lib/assets/images/atreides/admin/chevron_overlay.png +0 -0
- data/lib/assets/images/atreides/admin/choose_photos_button_sprite.png +0 -0
- data/lib/assets/images/atreides/admin/content_bg.png +0 -0
- data/lib/assets/images/atreides/admin/content_bg_edit_form.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_break.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_drop_target.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_icons.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_photos.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_text.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_videos.png +0 -0
- data/lib/assets/images/atreides/admin/content_top_edit_form.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard-indicator.gif +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_activity.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_customize.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_drafts.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_open.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_posts.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_queue.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_nav_border.png +0 -0
- data/lib/assets/images/atreides/admin/delete_bg.png +0 -0
- data/lib/assets/images/atreides/admin/down_arrow.png +0 -0
- data/lib/assets/images/atreides/admin/dropbox_big.jpg +0 -0
- data/lib/assets/images/atreides/admin/dropbox_btn.png +0 -0
- data/lib/assets/images/atreides/admin/dropbox_folder.png +0 -0
- data/lib/assets/images/atreides/admin/dropbox_icon.gif +0 -0
- data/lib/assets/images/atreides/admin/dropbox_icon.png +0 -0
- data/lib/assets/images/atreides/admin/expand_collapse.png +0 -0
- data/lib/assets/images/atreides/admin/form_sidebar_divider.png +0 -0
- data/lib/assets/images/atreides/admin/grey_hatch_bg.png +0 -0
- data/lib/assets/images/atreides/admin/header.png +0 -0
- data/lib/assets/images/atreides/admin/icon_dropbox.gif +0 -0
- data/lib/assets/images/atreides/admin/icon_home.gif +0 -0
- data/lib/assets/images/atreides/admin/input_bg.gif +0 -0
- data/lib/assets/images/atreides/admin/large_loading.gif +0 -0
- data/lib/assets/images/atreides/admin/new_content_icons.png +0 -0
- data/lib/assets/images/atreides/admin/off.png +0 -0
- data/lib/assets/images/atreides/admin/on.png +0 -0
- data/lib/assets/images/atreides/admin/page_icon.png +0 -0
- data/lib/assets/images/atreides/admin/permalink.png +0 -0
- data/lib/assets/images/atreides/admin/photos-display-type-gallery.png +0 -0
- data/lib/assets/images/atreides/admin/photos-display-type-photos.png +0 -0
- data/lib/assets/images/atreides/admin/product.png +0 -0
- data/lib/assets/images/atreides/admin/remove.png +0 -0
- data/lib/assets/images/atreides/admin/resize.png +0 -0
- data/lib/assets/images/atreides/admin/save_btn.png +0 -0
- data/lib/assets/images/atreides/admin/search_icon.png +0 -0
- data/lib/assets/images/atreides/admin/select_arrows.png +0 -0
- data/lib/assets/images/atreides/admin/slider.png +0 -0
- data/lib/assets/images/atreides/admin/slider_center.png +0 -0
- data/lib/assets/images/atreides/admin/slider_left.png +0 -0
- data/lib/assets/images/atreides/admin/slider_right.png +0 -0
- data/lib/assets/images/atreides/admin/sprite.png +0 -0
- data/lib/assets/images/atreides/admin/upload_btn.png +0 -0
- data/lib/assets/images/atreides/admin/video_bg.png +0 -0
- data/lib/assets/images/atreides/blank.gif +0 -0
- data/lib/assets/images/atreides/closelabel.png +0 -0
- data/lib/assets/images/atreides/loading.gif +0 -0
- data/lib/assets/images/atreides/sprite.png +0 -0
- data/lib/assets/images/atreides/tipsy.gif +0 -0
- data/lib/atreides.rb +82 -0
- data/lib/atreides/base/aasmstates.rb +117 -0
- data/lib/atreides/base/base.rb +40 -0
- data/lib/atreides/base/taggable.rb +43 -0
- data/lib/atreides/base/validation.rb +23 -0
- data/lib/atreides/configuration.rb +61 -0
- data/lib/atreides/engine.rb +41 -0
- data/lib/atreides/extendable.rb +12 -0
- data/lib/atreides/i18n_helpers.rb +65 -0
- data/lib/atreides/railties/tasks.rake +68 -0
- data/lib/atreides/time_formats.rb +19 -0
- data/lib/atreides/validators.rb +15 -0
- data/lib/atreides/version.rb +4 -0
- data/lib/generators/atreides/USAGE +0 -0
- data/lib/generators/atreides/atreides_generator.rb +58 -0
- data/lib/generators/templates/Procfile +2 -0
- data/lib/generators/templates/add_role_to_users.rb +16 -0
- data/lib/generators/templates/add_userid_to_resources.rb +15 -0
- data/lib/generators/templates/create_comments.rb +19 -0
- data/lib/generators/templates/create_content_parts.rb +66 -0
- data/lib/generators/templates/create_features.rb +21 -0
- data/lib/generators/templates/create_likes.rb +16 -0
- data/lib/generators/templates/create_line_items.rb +21 -0
- data/lib/generators/templates/create_links.rb +16 -0
- data/lib/generators/templates/create_messages.rb +24 -0
- data/lib/generators/templates/create_orders.rb +31 -0
- data/lib/generators/templates/create_pages.rb +31 -0
- data/lib/generators/templates/create_photos.rb +22 -0
- data/lib/generators/templates/create_posts.rb +38 -0
- data/lib/generators/templates/create_products.rb +24 -0
- data/lib/generators/templates/create_sessions.rb +16 -0
- data/lib/generators/templates/create_sites.rb +35 -0
- data/lib/generators/templates/create_sizes.rb +16 -0
- data/lib/generators/templates/create_tweets.rb +25 -0
- data/lib/generators/templates/create_videos.rb +24 -0
- data/lib/generators/templates/create_votes.rb +20 -0
- data/lib/generators/templates/delayed_job.rb +5 -0
- data/lib/generators/templates/devise_create_users.rb +42 -0
- data/lib/generators/templates/disqussion.rb +30 -0
- data/lib/generators/templates/em-net-http_override.rb +74 -0
- data/lib/generators/templates/initializer.rb +21 -0
- data/lib/generators/templates/new_relic.rb +6 -0
- data/lib/generators/templates/oembed.yml +63 -0
- data/lib/generators/templates/settings.yml +110 -0
- data/lib/generators/templates/string_extensions.rb +20 -0
- data/lib/generators/templates/unicorn.rb +2 -0
- data/lib/tasks/atreides_tasks.rake +4 -0
- data/lib/tasks/cucumber.rake +58 -0
- data/lib/tasks/tasks.rake +403 -0
- data/lib/tasks/yard.rake +18 -0
- metadata +1458 -0
data/LICENSE
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
Copyright (c) 2012 Lachlan Laycock, Chad Jackson, Harry Bernstein, Mathieu Ravaux, Jérémy Van de Wyngaert, William Alton, Adam Copeland, Benjamin Manns
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
4
|
+
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
6
|
+
|
7
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
= Atreides
|
@@ -0,0 +1,22 @@
|
|
1
|
+
//= require atreides/underscore-1.1.6
|
2
|
+
//= require jquery
|
3
|
+
//= require jquery_ujs
|
4
|
+
//= require atreides/jquery.easing.1.3
|
5
|
+
//= require jquery-ui
|
6
|
+
//= require atreides/admin_base
|
7
|
+
|
8
|
+
/*
|
9
|
+
* Atreides - Admin Behaviours
|
10
|
+
*
|
11
|
+
* Lachlan Laycock @ Le 88
|
12
|
+
* 16 May 2011
|
13
|
+
*
|
14
|
+
* PUT YOUR MODIFICATIONS HERE
|
15
|
+
*
|
16
|
+
*/
|
17
|
+
|
18
|
+
$(document).ready(function() {
|
19
|
+
|
20
|
+
// Put your magic here
|
21
|
+
|
22
|
+
})
|
@@ -0,0 +1,247 @@
|
|
1
|
+
/*
|
2
|
+
* Atreides - Admin Behaviours
|
3
|
+
*
|
4
|
+
* Lachlan Laycock @ Le 88
|
5
|
+
* 22 Feb 2010
|
6
|
+
*
|
7
|
+
* DO NOT EDIT THIS FILE!
|
8
|
+
* CHANGES TO THIS FILE WILL BE LOST!
|
9
|
+
*
|
10
|
+
* Use admin.js for location modifactions
|
11
|
+
*
|
12
|
+
*/
|
13
|
+
|
14
|
+
jQuery.fn.bindAll = function(options) {
|
15
|
+
var $this = this;
|
16
|
+
jQuery.each(options, function(key, val){
|
17
|
+
$this.bind(key, val);
|
18
|
+
});
|
19
|
+
return this;
|
20
|
+
}
|
21
|
+
|
22
|
+
var pageChanged = false;
|
23
|
+
|
24
|
+
function hasPageChanged(){
|
25
|
+
return pageChanged;
|
26
|
+
};
|
27
|
+
|
28
|
+
$(window).bind("beforeunload", function(){
|
29
|
+
if(hasPageChanged()){
|
30
|
+
return "You have unsaved changes on this page."
|
31
|
+
}
|
32
|
+
});
|
33
|
+
|
34
|
+
$(document).ready(function() {
|
35
|
+
|
36
|
+
$("input, textarea").not("input[name*='search'], input[name*='query']").bind("change", function(){
|
37
|
+
pageChanged = true;
|
38
|
+
});
|
39
|
+
|
40
|
+
$("form").submit(function(){
|
41
|
+
pageChanged = false;
|
42
|
+
return true;
|
43
|
+
});
|
44
|
+
|
45
|
+
// Hide flash messages
|
46
|
+
$("#flash").delay(2000).fadeOut('slow');
|
47
|
+
|
48
|
+
var links = $('a')
|
49
|
+
if (links.length) {
|
50
|
+
links.click(function(e) {
|
51
|
+
$(this).addClass('loading')
|
52
|
+
})
|
53
|
+
|
54
|
+
// Remove loading class to all links when AJAX finished - use CSS to style
|
55
|
+
links.ajaxComplete(function(e) {
|
56
|
+
$(this).removeClass('loading');
|
57
|
+
})
|
58
|
+
|
59
|
+
// Make external links open in new window
|
60
|
+
reg = new RegExp("//"+window.location.host+"/");
|
61
|
+
links.each(function(i, el) {
|
62
|
+
if (!el.href.match(reg)) {
|
63
|
+
var el = $(el);
|
64
|
+
if (!el.attr('target')) {
|
65
|
+
el.attr('target', '_blank')
|
66
|
+
}
|
67
|
+
}
|
68
|
+
})
|
69
|
+
}
|
70
|
+
|
71
|
+
// Add behaviour to support attributes of data-submit. Must be using jquery-ujs as well.
|
72
|
+
$('a[data-submit]').live('ajax:before', function(event) {
|
73
|
+
submit_fields = $($(this).data('submit'))
|
74
|
+
$(this).data('params', submit_fields.serialize())
|
75
|
+
})
|
76
|
+
|
77
|
+
// Date pickers
|
78
|
+
if ((date_pickers = $(".date-picker input")).length) {
|
79
|
+
date_pickers.datepicker({ dateFormat: 'dd/mm/yy' });
|
80
|
+
}
|
81
|
+
|
82
|
+
// Tag inputs
|
83
|
+
if ((tag_textareas = $('.tag-picker textarea')).length) {
|
84
|
+
tag_textareas.tags();
|
85
|
+
}
|
86
|
+
|
87
|
+
// Auto-hide fields
|
88
|
+
auto_hides = $('.auto-hide-text input')
|
89
|
+
if (auto_hides.length) {
|
90
|
+
auto_hides.each(function(i, el) { $(el).attr('default',$(el).val()) })
|
91
|
+
auto_hides.focus(function(e) {
|
92
|
+
if ($(this).val()==$(this).attr('default')) $(this).val('')
|
93
|
+
$(this).attr('style', 'color:#000');
|
94
|
+
})
|
95
|
+
auto_hides.blur(function(e) {
|
96
|
+
if ($(this).val().length==0) {
|
97
|
+
$(this).val($(this).attr('default'))
|
98
|
+
$(this).attr('style', '');
|
99
|
+
}
|
100
|
+
})
|
101
|
+
}
|
102
|
+
|
103
|
+
// Post state drop-down
|
104
|
+
var state_select_css = '.post-states select, .page-states select, .product-states select'
|
105
|
+
var state_input_css = '#post_published_at_input, #page_published_at_input, #product_published_at_input'
|
106
|
+
var state_hidden_css = '.post-hidden input, .page-hidden input, .product-hidden input'
|
107
|
+
function update_state_select() {
|
108
|
+
$(state_input_css).hide()
|
109
|
+
switch(this.value) {
|
110
|
+
case 'publish_now':
|
111
|
+
$(state_hidden_css).val("published");
|
112
|
+
break;
|
113
|
+
case 'published_at':
|
114
|
+
$(state_hidden_css).val("published");
|
115
|
+
$(state_input_css).show();
|
116
|
+
break;
|
117
|
+
default:
|
118
|
+
$(state_hidden_css).val(this.value);
|
119
|
+
break;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
$(state_select_css).change(update_state_select);
|
123
|
+
$(state_select_css).trigger('change'); // Make sure it shows correctly on load
|
124
|
+
|
125
|
+
// Photo display types
|
126
|
+
var photo_types = $(".photos-display-type input")
|
127
|
+
if (photo_types.length) {
|
128
|
+
photo_types.click(function() {
|
129
|
+
// Removed selected class from parents then add to selected child input
|
130
|
+
$(this).parent().removeClass('selected').children("input:checked").parent().addClass('selected')
|
131
|
+
})
|
132
|
+
}
|
133
|
+
|
134
|
+
// Post address selector
|
135
|
+
var post_address = $("input#post_address")
|
136
|
+
var map_canvas = $("#map_canvas")
|
137
|
+
if (typeof(google)!='undefined' && post_address.length && map_canvas.length && $.fn.autocomplete) {
|
138
|
+
|
139
|
+
// Form elements
|
140
|
+
var post_lat = $("input#post_lat");
|
141
|
+
var post_long = $("input#post_long");
|
142
|
+
var post_loc = $("input#post_loc");
|
143
|
+
|
144
|
+
// Setup Gmap
|
145
|
+
var latlng = new google.maps.LatLng((post_lat.length ? post_lat.val() : 30),(post_long.length ? post_long.val() : -45));
|
146
|
+
var map = new google.maps.Map(map_canvas[0], {
|
147
|
+
zoom: (post_lat.val().length ? 12 : 1),
|
148
|
+
center: latlng,
|
149
|
+
disableDefaultUI: true,
|
150
|
+
mapTypeId: google.maps.MapTypeId.ROADMAP
|
151
|
+
});
|
152
|
+
|
153
|
+
//GEOCODER
|
154
|
+
var geocoder = new google.maps.Geocoder();
|
155
|
+
var marker = new google.maps.Marker({
|
156
|
+
map: map,
|
157
|
+
draggable: true
|
158
|
+
});
|
159
|
+
|
160
|
+
post_address.autocomplete({
|
161
|
+
//This bit uses the geocoder to fetch address values
|
162
|
+
source: function(request, response) {
|
163
|
+
geocoder.geocode( {'address': request.term }, function(results, status) {
|
164
|
+
response($.map(results, function(item) {
|
165
|
+
var address_parts = $.grep(item.address_components, function(add) { return ['locality','country'].indexOf(add.types[0])!=-1 })
|
166
|
+
var label = $.map(address_parts, function(part) { return part.long_name }).join(", ")
|
167
|
+
return {
|
168
|
+
label: label,
|
169
|
+
value: label,
|
170
|
+
latitude: item.geometry.location.lat(),
|
171
|
+
longitude: item.geometry.location.lng()
|
172
|
+
}
|
173
|
+
}));
|
174
|
+
})
|
175
|
+
},
|
176
|
+
//This bit is executed upon selection of an address
|
177
|
+
select: function(event, ui) {
|
178
|
+
post_lat.val(ui.item.latitude);
|
179
|
+
post_long.val(ui.item.longitude);
|
180
|
+
post_loc.val(ui.item.value);
|
181
|
+
var location = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
|
182
|
+
marker.setPosition(location);
|
183
|
+
map.setCenter(location);
|
184
|
+
map.setZoom(12);
|
185
|
+
}
|
186
|
+
});
|
187
|
+
}
|
188
|
+
|
189
|
+
// Features select post. Eg: /admin/new/feature
|
190
|
+
$(".photos-choose a").ajaxSuccess(function(e) {
|
191
|
+
features = $("#feature_post_browser .archives a")
|
192
|
+
if (features.length) {
|
193
|
+
features.unbind('click')
|
194
|
+
features.bind('click', function(e) {
|
195
|
+
a = $(e.currentTarget)
|
196
|
+
|
197
|
+
// Set hidden field to assoc post
|
198
|
+
dom_id = a.parent().attr('id')
|
199
|
+
match = dom_id.match(/\d+/)
|
200
|
+
if (match.length) {
|
201
|
+
post_id = match[0]
|
202
|
+
$("input#feature_post_id").val(post_id)
|
203
|
+
|
204
|
+
// Set title field
|
205
|
+
title = a.find('span').html()
|
206
|
+
title_field = $("input#feature_title")
|
207
|
+
if (title_field.length && title_field.val().length==0) {
|
208
|
+
title_field.val(title)
|
209
|
+
}
|
210
|
+
|
211
|
+
// Set URL field
|
212
|
+
url = "http://"+window.location.host+"/posts/"+post_id+"/"+title.toLowerCase().replace(/\W+/g,'-')
|
213
|
+
url_field = $("input#feature_url")
|
214
|
+
if (url_field.length && url_field.val().length==0) {
|
215
|
+
url_field.val(url)
|
216
|
+
}
|
217
|
+
|
218
|
+
// Insert new image
|
219
|
+
photo_list = $("#feature_photo_ul")
|
220
|
+
if (photo_list.length) {
|
221
|
+
img_url = a.css('background-image').match(/http.*\?/)[0]
|
222
|
+
img_url = img_url.replace(/thumb/, 'list')
|
223
|
+
photo_list.html($("<li>").append($("<img>").attr('src', img_url)))
|
224
|
+
}
|
225
|
+
|
226
|
+
}
|
227
|
+
// Prevent A link for launching
|
228
|
+
return false;
|
229
|
+
})
|
230
|
+
}
|
231
|
+
});
|
232
|
+
});
|
233
|
+
|
234
|
+
function fixRailsEmbeddedFormHashOrder(container) {
|
235
|
+
// Fix up rails nested form hash ordering
|
236
|
+
try {
|
237
|
+
container.find('fieldset').each(function(i, el) {
|
238
|
+
$(el).find(':input').each(function(j, inp) {
|
239
|
+
new_name = String(inp.name).replace(/\[parts_attributes\]\[\d+\]/,'[parts_attributes]['+i+']')
|
240
|
+
$(inp).attr('name', new_name)
|
241
|
+
})
|
242
|
+
})
|
243
|
+
} catch (err) {
|
244
|
+
console.log("Error: "+err.description)
|
245
|
+
console.debug(err)
|
246
|
+
}
|
247
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
// require atreides/backbone-0.3.3
|
2
|
+
//= require atreides/jtags
|
3
|
+
//= require atreides/fileuploader
|
4
|
+
//= require atreides/jquery.tipsy
|
5
|
+
//= require atreides/facebox
|
6
|
+
//= require atreides/jquery.multipleselectbox
|
7
|
+
//= require atreides/jquery.jBreadCrumb.1.1
|
8
|
+
//= require atreides/jquery.swfupload
|
9
|
+
//= require atreides/swfupload/swfupload
|
@@ -0,0 +1,15 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
+
// listed below.
|
3
|
+
//
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
+
//
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
+
// the compiled file.
|
9
|
+
//
|
10
|
+
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
+
// GO AFTER THE REQUIRES BELOW.
|
12
|
+
//
|
13
|
+
//= require jquery
|
14
|
+
//= require jquery_ujs
|
15
|
+
//= require_tree .
|
@@ -0,0 +1,50 @@
|
|
1
|
+
$('#filter-list').change () ->
|
2
|
+
console.log 'go..'
|
3
|
+
self = $(this)
|
4
|
+
setTimeout () ->
|
5
|
+
self.submit()
|
6
|
+
, 30
|
7
|
+
|
8
|
+
# set up comment expand/collapse links.
|
9
|
+
$('.comment').each (index, comment) ->
|
10
|
+
# Don't create a new event for comments that have already been loaded.
|
11
|
+
return true if comment._loaded
|
12
|
+
comment._loaded = true;
|
13
|
+
|
14
|
+
$(this).click (event) ->
|
15
|
+
comment = $(this)
|
16
|
+
|
17
|
+
# Allow any user interact-able object (links, inputs, etc.) to function normally.
|
18
|
+
if ($(event.target).is('a,:input') || $(event.target).closest('a,:input').length > 0)
|
19
|
+
return true
|
20
|
+
|
21
|
+
if (comment.hasClass('expanded'))
|
22
|
+
comment.removeClass('expanded')
|
23
|
+
else
|
24
|
+
comment.addClass('expanded').removeClass('unread')
|
25
|
+
return false
|
26
|
+
|
27
|
+
if $('#expandall').hasClass('collapseall')
|
28
|
+
for post in posts
|
29
|
+
$('#comment-' + post.id).find('.comment-excerpt-block').click()
|
30
|
+
|
31
|
+
# $('.comment').live 'click', () ->
|
32
|
+
# $(this).toggleClass "expanded"
|
33
|
+
|
34
|
+
$('.actions form input[type=button]').click () ->
|
35
|
+
unless _.isEmpty getSelectedCommentId()
|
36
|
+
els = createInputCommentIds()
|
37
|
+
$(this).parent('form').append(els).submit()
|
38
|
+
else
|
39
|
+
console.log "Please select at least one comment."
|
40
|
+
return false
|
41
|
+
|
42
|
+
createInputCommentIds = () ->
|
43
|
+
els = ''
|
44
|
+
_.each getSelectedCommentId(), (cid) ->
|
45
|
+
els += "<input type='hidden' name='comment_ids[]' value='" + cid + "'>"
|
46
|
+
return els
|
47
|
+
|
48
|
+
getSelectedCommentId = () ->
|
49
|
+
_.map $('.comment-select input[type=checkbox]:checked'), (el) ->
|
50
|
+
$(el).attr("id").split("-")[1]
|
@@ -0,0 +1,24 @@
|
|
1
|
+
//= require jquery
|
2
|
+
//= require jquery_ujs
|
3
|
+
//= require jquery-ui
|
4
|
+
//= require atreides/jquery.cycle
|
5
|
+
//= require atreides/jquery.flash
|
6
|
+
//= require atreides/jquery.cookie
|
7
|
+
//= require atreides/swfobject
|
8
|
+
//= require atreides/public_base
|
9
|
+
|
10
|
+
/*
|
11
|
+
* Atreides - Public Behaviours
|
12
|
+
*
|
13
|
+
* Lachlan Laycock @ Le 88
|
14
|
+
* 16 May 2011
|
15
|
+
*
|
16
|
+
* PUT YOUR MODIFICATIONS HERE
|
17
|
+
*
|
18
|
+
*/
|
19
|
+
|
20
|
+
$(document).ready(function() {
|
21
|
+
|
22
|
+
// Put your magic here
|
23
|
+
|
24
|
+
})
|
@@ -0,0 +1,119 @@
|
|
1
|
+
/*
|
2
|
+
* Atreides - Public Behaviours
|
3
|
+
*
|
4
|
+
* Lachlan Laycock @ Jackson Laycock
|
5
|
+
* 16 May 2011
|
6
|
+
*
|
7
|
+
* DO NOT EDIT THIS FILE!
|
8
|
+
* CHANGES TO THIS FILE WILL BE LOST!
|
9
|
+
*
|
10
|
+
* Use public.js for location modifactions
|
11
|
+
*
|
12
|
+
*/
|
13
|
+
|
14
|
+
function remove_duplicate_month(month) {
|
15
|
+
$(document).ready(function () {
|
16
|
+
tm = $("." + month);
|
17
|
+
if (tm.length == 2) {
|
18
|
+
tm.last().remove();
|
19
|
+
};
|
20
|
+
});
|
21
|
+
}
|
22
|
+
|
23
|
+
$(document).ready(function() {
|
24
|
+
|
25
|
+
// Add browser classes to allow for targeting
|
26
|
+
$('body').addClass($.uaMatch(navigator.userAgent).browser)
|
27
|
+
$('body').addClass('v'+$.browser.version.substr(0,3).replace(/\./,'-'))
|
28
|
+
mobile = navigator.userAgent.match(/iPad|iPod|iPhone|Android/i)
|
29
|
+
if (mobile) {
|
30
|
+
$('body').addClass('mobile')
|
31
|
+
$('body').addClass(mobile)
|
32
|
+
}
|
33
|
+
|
34
|
+
// Add loading class to all links when clicked on - use CSS to style
|
35
|
+
$('a').click(function(e) {
|
36
|
+
$(this).addClass('loading')
|
37
|
+
})
|
38
|
+
// Remove loading class to all links when AJAX finished - use CSS to style
|
39
|
+
$('a').ajaxComplete(function(e) {
|
40
|
+
$(this).removeClass('loading');
|
41
|
+
})
|
42
|
+
|
43
|
+
var gallerias = $('.galleria')
|
44
|
+
if (gallerias.length) {
|
45
|
+
Galleria.loadTheme("<%= javascript_path('atreides/galleria/src/themes/classic/galleria.classic') %>");
|
46
|
+
gallerias.galleria({
|
47
|
+
extend: function(options) {
|
48
|
+
// listen to when an image is shown
|
49
|
+
this.bind(Galleria.IMAGE, function(e) {
|
50
|
+
var currentImage = $(e.imageTarget) // the current image
|
51
|
+
|
52
|
+
});
|
53
|
+
}
|
54
|
+
})
|
55
|
+
}
|
56
|
+
|
57
|
+
// Auto-hide fields
|
58
|
+
auto_hides = $('.auto-hide-text input[type=text]')
|
59
|
+
if (auto_hides.length > 0) {
|
60
|
+
auto_hides.each(function(i, el) { $(el).attr('default',$(el).val()) })
|
61
|
+
auto_hides.focus(function(e) {
|
62
|
+
if ($(this).val()==$(this).attr('default')) $(this).val('')
|
63
|
+
$(this).attr('style', 'color:#000');
|
64
|
+
})
|
65
|
+
auto_hides.blur(function(e) {
|
66
|
+
if ($(this).val().length==0) {
|
67
|
+
$(this).val($(this).attr('default'))
|
68
|
+
$(this).attr('style', '');
|
69
|
+
}
|
70
|
+
})
|
71
|
+
}
|
72
|
+
|
73
|
+
// Share It Box
|
74
|
+
$('a.share').mouseenter(function() {
|
75
|
+
//get the height, top and calculate the left value for the sharebox
|
76
|
+
var height = $(this).height() + 0;
|
77
|
+
|
78
|
+
//get the left and find the center value
|
79
|
+
var top = $(this).offset().top;
|
80
|
+
var left = $(this).offset().left + ($(this).width() /2) - ($('#shareit-box').width() / 2);
|
81
|
+
|
82
|
+
//assign the value to variables and encode it to url friendly
|
83
|
+
var field = $(this).attr('href');
|
84
|
+
var url = encodeURIComponent(field);
|
85
|
+
var title = encodeURIComponent($(this).attr('title'));
|
86
|
+
|
87
|
+
//assign the height for the header, so that the link is cover
|
88
|
+
$('#shareit-header').height(height);
|
89
|
+
|
90
|
+
//set the position, the box should appear under the link and centered
|
91
|
+
$('#shareit-box').css({'top':top, 'left':left});
|
92
|
+
|
93
|
+
//Setup the bookmark media url and title
|
94
|
+
$('a[rel=shareit-email]').attr('href', 'mailto:?subject=' + title + '&body=' + url);
|
95
|
+
$('a[rel=shareit-facebook]').attr('href', 'http://www.facebook.com/share.php?u=' + url + '&t=' + title);
|
96
|
+
$('a[rel=shareit-delicious]').attr('href', 'http://del.icio.us/post?v=4&noui&jump=close&url=' + url + '&title=' + title);
|
97
|
+
$('a[rel=shareit-designfloat]').attr('href', 'http://www.designfloat.com/submit.php?url=' + url + '&title=' + title);
|
98
|
+
$('a[rel=shareit-digg]').attr('href', 'http://digg.com/submit?phase=2&url=' + url + '&title=' + title);
|
99
|
+
$('a[rel=shareit-stumbleupon]').attr('href', 'http://www.stumbleupon.com/submit?url=' + url + '&title=' + title);
|
100
|
+
$('a[rel=shareit-twitter]').attr('href', 'http://twitter.com/home?status=' + title + ':%20' + url);
|
101
|
+
$('a[rel=shareit-tumblr]').attr('href', 'http://tumblr.com/share?v=2&u='+ url +'&t=' + title);
|
102
|
+
|
103
|
+
//display the box
|
104
|
+
$('#shareit-box').show();
|
105
|
+
|
106
|
+
});
|
107
|
+
|
108
|
+
//onmouse out hide the shareit box
|
109
|
+
$('#shareit-box').mouseleave(function () {
|
110
|
+
$('#shareit-field').val('');
|
111
|
+
$(this).hide();
|
112
|
+
});
|
113
|
+
|
114
|
+
//hightlight the textfield on click event
|
115
|
+
$('#shareit-field').click(function () {
|
116
|
+
$(this).select();
|
117
|
+
});
|
118
|
+
|
119
|
+
})
|