cardboard_cms 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +42 -0
- data/Gemfile.lock +324 -0
- data/Guardfile +23 -0
- data/LICENSE.txt +677 -0
- data/README.md +370 -0
- data/Rakefile +23 -0
- data/app/assets/images/cardboard/.gitkeep +0 -0
- data/app/assets/images/cardboard/bg.png +0 -0
- data/app/assets/images/cardboard/calendar.png +0 -0
- data/app/assets/images/cardboard/lorem-ipsum-coffe-mug.jpg +0 -0
- data/app/assets/javascripts/cardboard.js +1 -0
- data/app/assets/javascripts/cardboard/admin.js +62 -0
- data/app/assets/javascripts/cardboard/content_sidebar.js +27 -0
- data/app/assets/javascripts/cardboard/datepicker.js +19 -0
- data/app/assets/javascripts/cardboard/main_sidebar.js +32 -0
- data/app/assets/javascripts/cardboard/rich_text.js +81 -0
- data/app/assets/javascripts/cardboard/search_filter.js +28 -0
- data/app/assets/stylesheets/cardboard.css.scss +2 -0
- data/app/assets/stylesheets/cardboard/_bootstrap-select.css.scss +183 -0
- data/app/assets/stylesheets/cardboard/_content.css.scss +35 -0
- data/app/assets/stylesheets/cardboard/_content_sidebar.css.scss +96 -0
- data/app/assets/stylesheets/cardboard/_framework.css.scss +129 -0
- data/app/assets/stylesheets/cardboard/_main_sidebar.css.scss +38 -0
- data/app/assets/stylesheets/cardboard/_main_topbar.css.scss +62 -0
- data/app/assets/stylesheets/cardboard/_resources.css.scss +28 -0
- data/app/assets/stylesheets/cardboard/_rich_text.css.scss +6 -0
- data/app/assets/stylesheets/cardboard/_variables.scss +326 -0
- data/app/assets/stylesheets/cardboard/admin.css.scss +63 -0
- data/app/controllers/cardboard/application_controller.rb +45 -0
- data/app/controllers/cardboard/dashboard_controller.rb +9 -0
- data/app/controllers/cardboard/my_account_controller.rb +27 -0
- data/app/controllers/cardboard/pages_controller.rb +34 -0
- data/app/controllers/cardboard/resource_controller.rb +61 -0
- data/app/controllers/cardboard/settings_controller.rb +28 -0
- data/app/controllers/cardboard/super_user_controller.rb +8 -0
- data/app/controllers/pages_controller.rb +29 -0
- data/app/decorators/controllers/application_controller_decorator.rb +9 -0
- data/app/decorators/lib/cardboard/user_class_decorator.rb +32 -0
- data/app/helpers/cardboard/application_helper.rb +4 -0
- data/app/helpers/cardboard/public_helper.rb +53 -0
- data/app/helpers/cardboard/resource_helper.rb +80 -0
- data/app/inputs/date_picker_input.rb +10 -0
- data/app/inputs/date_time_input.rb +7 -0
- data/app/inputs/image_input.rb +3 -0
- data/app/inputs/rich_text_input.rb +6 -0
- data/app/models/cardboard/field.rb +67 -0
- data/app/models/cardboard/field/boolean.rb +29 -0
- data/app/models/cardboard/field/date.rb +24 -0
- data/app/models/cardboard/field/decimal.rb +25 -0
- data/app/models/cardboard/field/external_link.rb +4 -0
- data/app/models/cardboard/field/file.rb +19 -0
- data/app/models/cardboard/field/image.rb +33 -0
- data/app/models/cardboard/field/integer.rb +26 -0
- data/app/models/cardboard/field/resource_link.rb +4 -0
- data/app/models/cardboard/field/rich_text.rb +21 -0
- data/app/models/cardboard/field/string.rb +16 -0
- data/app/models/cardboard/field/text.rb +15 -0
- data/app/models/cardboard/page.rb +253 -0
- data/app/models/cardboard/page_part.rb +79 -0
- data/app/models/cardboard/setting.rb +46 -0
- data/app/views/cardboard/dashboard/index.html.slim +1 -0
- data/app/views/cardboard/fields/_base_input.html.slim +1 -0
- data/app/views/cardboard/fields/_boolean.html.slim +4 -0
- data/app/views/cardboard/fields/_date.html.slim +1 -0
- data/app/views/cardboard/fields/_external_link.html.slim +2 -0
- data/app/views/cardboard/fields/_file.html.slim +12 -0
- data/app/views/cardboard/fields/_image.html.slim +11 -0
- data/app/views/cardboard/fields/_resource_link.html.slim +2 -0
- data/app/views/cardboard/fields/_rich_text.html.slim +3 -0
- data/app/views/cardboard/fields/_string.html.slim +1 -0
- data/app/views/cardboard/my_account/edit.html.slim +29 -0
- data/app/views/cardboard/pages/_error.html.slim +7 -0
- data/app/views/cardboard/pages/_seo.html.slim +6 -0
- data/app/views/cardboard/pages/_sidebar.html.slim +17 -0
- data/app/views/cardboard/pages/_subpart_fields.html.slim +20 -0
- data/app/views/cardboard/pages/_url_field.html.slim +20 -0
- data/app/views/cardboard/pages/edit.html.slim +43 -0
- data/app/views/cardboard/pages/index.html.slim +2 -0
- data/app/views/cardboard/pages/show.html.slim +9 -0
- data/app/views/cardboard/resources/_advanced_search.html.slim +40 -0
- data/app/views/cardboard/resources/_search_button.html.slim +2 -0
- data/app/views/cardboard/resources/_search_helper.html.slim +17 -0
- data/app/views/cardboard/resources/_simple_search.html.slim +6 -0
- data/app/views/cardboard/rich_editor/_links_modal.html.slim +39 -0
- data/app/views/cardboard/settings/index.html.slim +8 -0
- data/app/views/cardboard/super_user/index.html.slim +10 -0
- data/app/views/layouts/cardboard/_flash_message.html.slim +6 -0
- data/app/views/layouts/cardboard/_head.html.slim +16 -0
- data/app/views/layouts/cardboard/_main_sidebar.html.slim +12 -0
- data/app/views/layouts/cardboard/_main_topbar.html.slim +32 -0
- data/app/views/layouts/cardboard/application.html.slim +28 -0
- data/cardboard.gemspec +57 -0
- data/config/initializers/dragonfly.rb +27 -0
- data/config/initializers/ranker_mapper_finder_bugfix.rb +43 -0
- data/config/initializers/simple_form.rb +142 -0
- data/config/initializers/simple_form_bootstrap.rb +45 -0
- data/config/locales/simple_form.en.yml +26 -0
- data/config/routes.rb +53 -0
- data/doc/apple-touch-icon.png +0 -0
- data/doc/classes/Cardboard.html +190 -0
- data/doc/classes/Cardboard/AdminController.html +134 -0
- data/doc/classes/Cardboard/AdminHelper.html +307 -0
- data/doc/classes/Cardboard/ApplicationController.html +76 -0
- data/doc/classes/Cardboard/ApplicationHelper.html +70 -0
- data/doc/classes/Cardboard/DashboardController.html +131 -0
- data/doc/classes/Cardboard/Field.html +283 -0
- data/doc/classes/Cardboard/Field/Boolean.html +218 -0
- data/doc/classes/Cardboard/Field/Date.html +218 -0
- data/doc/classes/Cardboard/Field/Decimal.html +218 -0
- data/doc/classes/Cardboard/Field/ExternalLink.html +76 -0
- data/doc/classes/Cardboard/Field/File.html +131 -0
- data/doc/classes/Cardboard/Field/Image.html +181 -0
- data/doc/classes/Cardboard/Field/Integer.html +218 -0
- data/doc/classes/Cardboard/Field/ResourceLink.html +76 -0
- data/doc/classes/Cardboard/Field/RichText.html +131 -0
- data/doc/classes/Cardboard/Field/String.html +131 -0
- data/doc/classes/Cardboard/Page.html +1184 -0
- data/doc/classes/Cardboard/PagePart.html +304 -0
- data/doc/classes/Cardboard/PagesController.html +186 -0
- data/doc/classes/Cardboard/PublicHelper.html +252 -0
- data/doc/classes/Cardboard/Setting.html +240 -0
- data/doc/classes/Cardboard/SettingsController.html +184 -0
- data/doc/classes/Cardboard/SuperUserController.html +130 -0
- data/doc/classes/Cardboard/UsersController.html +191 -0
- data/doc/classes/DatePickerInput.html +132 -0
- data/doc/classes/ImageInput.html +76 -0
- data/doc/classes/Object.html +211 -0
- data/doc/classes/PagesController.html +145 -0
- data/doc/classes/RichTextInput.html +132 -0
- data/doc/created.rid +31 -0
- data/doc/css/github.css +129 -0
- data/doc/css/main.css +333 -0
- data/doc/css/panel.css +384 -0
- data/doc/css/reset.css +48 -0
- data/doc/favicon.ico +0 -0
- data/doc/files/app/controllers/cardboard/admin_controller_rb.html +79 -0
- data/doc/files/app/controllers/cardboard/application_controller_rb.html +84 -0
- data/doc/files/app/controllers/cardboard/dashboard_controller_rb.html +84 -0
- data/doc/files/app/controllers/cardboard/pages_controller_rb.html +84 -0
- data/doc/files/app/controllers/cardboard/settings_controller_rb.html +84 -0
- data/doc/files/app/controllers/cardboard/super_user_controller_rb.html +84 -0
- data/doc/files/app/controllers/cardboard/users_controller_rb.html +84 -0
- data/doc/files/app/controllers/pages_controller_rb.html +79 -0
- data/doc/files/app/decorators/controllers/application_controller_decorator_rb.html +68 -0
- data/doc/files/app/decorators/lib/cardboard/user_class_decorator_rb.html +68 -0
- data/doc/files/app/helpers/cardboard/admin_helper_rb.html +84 -0
- data/doc/files/app/helpers/cardboard/application_helper_rb.html +84 -0
- data/doc/files/app/helpers/cardboard/public_helper_rb.html +84 -0
- data/doc/files/app/inputs/date_picker_input_rb.html +79 -0
- data/doc/files/app/inputs/image_input_rb.html +79 -0
- data/doc/files/app/inputs/rich_text_input_rb.html +79 -0
- data/doc/files/app/models/cardboard/field/boolean_rb.html +84 -0
- data/doc/files/app/models/cardboard/field/date_rb.html +84 -0
- data/doc/files/app/models/cardboard/field/decimal_rb.html +84 -0
- data/doc/files/app/models/cardboard/field/external_link_rb.html +84 -0
- data/doc/files/app/models/cardboard/field/file_rb.html +84 -0
- data/doc/files/app/models/cardboard/field/image_rb.html +84 -0
- data/doc/files/app/models/cardboard/field/integer_rb.html +84 -0
- data/doc/files/app/models/cardboard/field/resource_link_rb.html +84 -0
- data/doc/files/app/models/cardboard/field/rich_text_rb.html +84 -0
- data/doc/files/app/models/cardboard/field/string_rb.html +84 -0
- data/doc/files/app/models/cardboard/field_rb.html +84 -0
- data/doc/files/app/models/cardboard/page_part_rb.html +84 -0
- data/doc/files/app/models/cardboard/page_rb.html +84 -0
- data/doc/files/app/models/cardboard/setting_rb.html +84 -0
- data/doc/i/arrows.png +0 -0
- data/doc/i/results_bg.png +0 -0
- data/doc/i/tree_bg.png +0 -0
- data/doc/index.html +13 -0
- data/doc/js/highlight.pack.js +1 -0
- data/doc/js/jquery-1.3.2.min.js +19 -0
- data/doc/js/jquery-effect.js +593 -0
- data/doc/js/main.js +24 -0
- data/doc/js/navigation.js +142 -0
- data/doc/js/search_index.js +1 -0
- data/doc/js/searchdoc.js +449 -0
- data/doc/js/searcher.js +228 -0
- data/doc/panel/index.html +73 -0
- data/doc/panel/links.html +66 -0
- data/doc/panel/tree.js +1 -0
- data/lib/cardboard/application.rb +67 -0
- data/lib/cardboard/engine.rb +83 -0
- data/lib/cardboard/helpers/seed.rb +80 -0
- data/lib/cardboard/helpers/settings.rb +58 -0
- data/lib/cardboard/version.rb +3 -0
- data/lib/cardboard_cms.rb +34 -0
- data/lib/generators/cardboard/assets/assets_generator.rb +18 -0
- data/lib/generators/cardboard/install/install_generator.rb +96 -0
- data/lib/generators/cardboard/install/templates/cardboard.rb.erb +53 -0
- data/lib/generators/cardboard/install/templates/cardboard.yml +29 -0
- data/lib/generators/cardboard/install/templates/index.html.erb +0 -0
- data/lib/generators/cardboard/install/templates/migrations/1_create_cardboard_fields.rb +21 -0
- data/lib/generators/cardboard/install/templates/migrations/2_create_cardboard_page_parts.rb +17 -0
- data/lib/generators/cardboard/install/templates/migrations/3_create_cardboard_pages.rb +18 -0
- data/lib/generators/cardboard/install/templates/migrations/4_create_cardboard_settings.rb +14 -0
- data/lib/generators/cardboard/resource/resource_generator.rb +52 -0
- data/lib/generators/cardboard/resource/templates/admin_controller.rb +9 -0
- data/lib/generators/cardboard/resource/templates/slim/_fields.html.slim +5 -0
- data/lib/generators/cardboard/resource/templates/slim/edit.html.slim +4 -0
- data/lib/generators/cardboard/resource/templates/slim/index.html.slim +18 -0
- data/lib/generators/cardboard/resource/templates/slim/new.html.slim +4 -0
- data/lib/tasks/cardboard_tasks.rake +22 -0
- data/lib/templates/erb/scaffold/_form.html.erb +13 -0
- data/script/rails +8 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/images/defaults/CrashTest.jpg +0 -0
- data/test/dummy/app/assets/javascripts/admins.js +2 -0
- data/test/dummy/app/assets/javascripts/application.js +5 -0
- data/test/dummy/app/assets/javascripts/beans.js +2 -0
- data/test/dummy/app/assets/javascripts/cardboard.js +1 -0
- data/test/dummy/app/assets/javascripts/icescreams.js +2 -0
- data/test/dummy/app/assets/javascripts/main.js +2 -0
- data/test/dummy/app/assets/javascripts/news_posts.js +2 -0
- data/test/dummy/app/assets/javascripts/pianos.js +2 -0
- data/test/dummy/app/assets/stylesheets/admins.css.scss +3 -0
- data/test/dummy/app/assets/stylesheets/application.css.scss +9 -0
- data/test/dummy/app/assets/stylesheets/beans.css.scss +3 -0
- data/test/dummy/app/assets/stylesheets/cardboard.css.scss +5 -0
- data/test/dummy/app/assets/stylesheets/icescreams.css.scss +3 -0
- data/test/dummy/app/assets/stylesheets/main.css +4 -0
- data/test/dummy/app/assets/stylesheets/news_posts.css.scss +3 -0
- data/test/dummy/app/assets/stylesheets/pianos.css.scss +3 -0
- data/test/dummy/app/assets/stylesheets/scaffolds.css.scss +69 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/cardboard/pianos_controller.rb +6 -0
- data/test/dummy/app/controllers/pianos_controller.rb +83 -0
- data/test/dummy/app/helpers/application_helper.rb +9 -0
- data/test/dummy/app/helpers/cardboard/pianos_helper.rb +7 -0
- data/test/dummy/app/mailers/.gitkeep +0 -0
- data/test/dummy/app/models/.gitkeep +0 -0
- data/test/dummy/app/models/admin_user.rb +28 -0
- data/test/dummy/app/models/piano.rb +3 -0
- data/test/dummy/app/views/cardboard/pianos/_fields.html.slim +5 -0
- data/test/dummy/app/views/cardboard/pianos/edit.html.slim +6 -0
- data/test/dummy/app/views/cardboard/pianos/index.html.slim +18 -0
- data/test/dummy/app/views/cardboard/pianos/new.html.slim +6 -0
- data/test/dummy/app/views/cardboard/pianos/show.html.slim +11 -0
- data/test/dummy/app/views/layouts/application.html.slim +24 -0
- data/test/dummy/app/views/main/index.html.slim +1 -0
- data/test/dummy/app/views/pages/about-us.html.slim +1 -0
- data/test/dummy/app/views/pages/home.html.slim +3 -0
- data/test/dummy/app/views/pianos/_form.html.erb +25 -0
- data/test/dummy/app/views/pianos/edit.html.erb +6 -0
- data/test/dummy/app/views/pianos/index.html.erb +25 -0
- data/test/dummy/app/views/pianos/new.html.erb +5 -0
- data/test/dummy/app/views/pianos/show.html.erb +15 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +50 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/cardboard.yml +126 -0
- data/test/dummy/config/database.yml +17 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +24 -0
- data/test/dummy/config/environments/production.rb +70 -0
- data/test/dummy/config/environments/test.rb +33 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cardboard.rb +53 -0
- data/test/dummy/config/initializers/devise.rb +240 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +8 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/devise.en.yml +59 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +16 -0
- data/test/dummy/db/migrate/20130403142235_create_pianos.rb +10 -0
- data/test/dummy/db/migrate/20130417134832_add_devise_to_admin_users.rb +53 -0
- data/test/dummy/db/migrate/20130426021522_create_news_posts.rb +10 -0
- data/test/dummy/db/migrate/20130501195423_create_icescreams.rb +10 -0
- data/test/dummy/db/migrate/20130502165540_create_beans.rb +12 -0
- data/test/dummy/db/migrate/20130522151358_create_cardboard_fields.rb +21 -0
- data/test/dummy/db/migrate/20130522151359_create_cardboard_page_parts.rb +17 -0
- data/test/dummy/db/migrate/20130522151400_create_cardboard_pages.rb +18 -0
- data/test/dummy/db/migrate/20130522151401_create_cardboard_settings.rb +14 -0
- data/test/dummy/db/migrate/20130607132558_create_admins.rb +9 -0
- data/test/dummy/db/schema.rb +129 -0
- data/test/dummy/db/seeds.rb +2 -0
- data/test/dummy/lib/assets/.gitkeep +0 -0
- data/test/dummy/log/.gitkeep +0 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_10_816_404_no_file.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_10_816_404_no_file.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_17_87_404_no_file.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_17_87_404_no_file.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_34_680_404_no_file.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_39_34_680_404_no_file.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_44_00_698_404_no_file.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_44_00_698_404_no_file.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_46_49_55_6152message_in_a_bottle.jpeg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/10_46_49_55_6152message_in_a_bottle.jpeg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_10_30_773_404_no_file.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_10_30_773_404_no_file.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_10_38_856_airport_shuttles_20130207_1647.csv +8 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_10_38_856_airport_shuttles_20130207_1647.csv.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_12_12_144_1361696555_GMail_Android_R.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_12_12_144_1361696555_GMail_Android_R.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_16_40_989_404_no_file.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_16_40_989_404_no_file.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_19_19_40_6152message_in_a_bottle.jpeg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_19_19_40_6152message_in_a_bottle.jpeg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_21_21_825_6152message_in_a_bottle.jpeg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/14_21_21_825_6152message_in_a_bottle.jpeg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/15_46_33_341_bio.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/15_46_33_341_bio.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/15_52_55_892_404_no_file.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/15_52_55_892_404_no_file.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/15_52_56_30_404_no_file.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/16/15_52_56_30_404_no_file.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_24_04_585_Sky_3920445.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_24_04_585_Sky_3920445.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_25_41_111_Sky_3920445.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_25_41_111_Sky_3920445.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_27_16_937_Sky_3920445.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_27_16_937_Sky_3920445.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_27_57_585_Sky_3920445.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_27_57_585_Sky_3920445.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_28_24_991_Sky_3920445.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_28_24_991_Sky_3920445.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_33_30_610_Sky_3920445.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_33_30_610_Sky_3920445.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_35_18_437_Sky_3920445.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/15_35_18_437_Sky_3920445.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/16_45_07_162_Vehicle_Types.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/17/16_45_07_162_Vehicle_Types.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/18/22_27_35_733_hall.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/18/22_27_35_733_hall.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/18/22_29_15_808_fluidicon.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/18/22_29_15_808_fluidicon.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/18/22_29_15_989_fluidicon.png +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/18/22_29_15_989_fluidicon.png.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/19/09_54_44_881_hall3.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/19/09_54_44_881_hall3.jpg.meta +2 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/19/09_54_45_450_hall3.jpg +0 -0
- data/test/dummy/public/system/dragonfly/development/2013/04/19/09_54_45_450_hall3.jpg.meta +2 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/test/fixtures/admins.yml +7 -0
- data/test/dummy/test/functional/admins_controller_test.rb +49 -0
- data/test/dummy/test/unit/admin_test.rb +7 -0
- data/test/dummy/test/unit/helpers/admins_helper_test.rb +4 -0
- data/test/factories.rb +47 -0
- data/test/integration/page_editing_test.rb +77 -0
- data/test/integration/seeding_test.rb +96 -0
- data/test/models/field_test.rb +102 -0
- data/test/models/page_test.rb +105 -0
- data/test/test_helper.rb +40 -0
- data/vendor/assets/javascripts/cardboard/bootstrap-select.js +590 -0
- data/vendor/assets/javascripts/cardboard/jquery.livesearch.js +48 -0
- data/vendor/assets/javascripts/cardboard/jquery.pjax.js +822 -0
- data/vendor/assets/javascripts/cardboard/jquery.wysihtml5_size_matters.js.coffee +44 -0
- data/vendor/assets/javascripts/cardboard/jquery.wysihtml5imgresizer.js +320 -0
- data/vendor/assets/javascripts/cardboard/wysihtml5-0.4.0pre.js +9579 -0
- metadata +1011 -0
data/doc/js/main.js
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
function toggleSource(id)
|
2
|
+
{
|
3
|
+
var src = $('#' + id).toggle();
|
4
|
+
var isVisible = src.is(':visible');
|
5
|
+
$('#l_' + id).html(isVisible ? 'hide' : 'show');
|
6
|
+
if (!src.data('syntax-higlighted')) {
|
7
|
+
src.data('syntax-higlighted', 1);
|
8
|
+
hljs.highlightBlock(src[0]);
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
window.highlight = function(url) {
|
13
|
+
var hash = url.match(/#([^#]+)$/)
|
14
|
+
if(hash) {
|
15
|
+
$('a[name=' + hash[1] + ']').parent().effect('highlight', {}, 'slow')
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
$(function() {
|
20
|
+
highlight('#' + location.hash);
|
21
|
+
$('.description pre').each(function() {
|
22
|
+
hljs.highlightBlock(this);
|
23
|
+
});
|
24
|
+
});
|
@@ -0,0 +1,142 @@
|
|
1
|
+
/*
|
2
|
+
* Navigation allows movement using the arrow keys through the search results.
|
3
|
+
*
|
4
|
+
* When using this library you will need to set scrollIntoView to the
|
5
|
+
* appropriate function for your layout. Use scrollInWindow if the container
|
6
|
+
* is not scrollable and scrollInElement if the container is a separate
|
7
|
+
* scrolling region.
|
8
|
+
*/
|
9
|
+
Navigation = new function() {
|
10
|
+
this.initNavigation = function() {
|
11
|
+
var _this = this;
|
12
|
+
|
13
|
+
$(document).keydown(function(e) {
|
14
|
+
_this.onkeydown(e);
|
15
|
+
}).keyup(function(e) {
|
16
|
+
_this.onkeyup(e);
|
17
|
+
});
|
18
|
+
|
19
|
+
this.navigationActive = true;
|
20
|
+
}
|
21
|
+
|
22
|
+
this.setNavigationActive = function(state) {
|
23
|
+
this.navigationActive = state;
|
24
|
+
this.clearMoveTimeout();
|
25
|
+
}
|
26
|
+
|
27
|
+
this.onkeyup = function(e) {
|
28
|
+
if (!this.navigationActive) return;
|
29
|
+
|
30
|
+
switch(e.keyCode) {
|
31
|
+
case 37: //Event.KEY_LEFT:
|
32
|
+
case 38: //Event.KEY_UP:
|
33
|
+
case 39: //Event.KEY_RIGHT:
|
34
|
+
case 40: //Event.KEY_DOWN:
|
35
|
+
this.clearMoveTimeout();
|
36
|
+
break;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
this.onkeydown = function(e) {
|
41
|
+
if (!this.navigationActive) return;
|
42
|
+
switch(e.keyCode) {
|
43
|
+
case 37: //Event.KEY_LEFT:
|
44
|
+
if (this.moveLeft()) e.preventDefault();
|
45
|
+
break;
|
46
|
+
case 38: //Event.KEY_UP:
|
47
|
+
if (e.keyCode == 38 || e.ctrlKey) {
|
48
|
+
if (this.moveUp()) e.preventDefault();
|
49
|
+
this.startMoveTimeout(false);
|
50
|
+
}
|
51
|
+
break;
|
52
|
+
case 39: //Event.KEY_RIGHT:
|
53
|
+
if (this.moveRight()) e.preventDefault();
|
54
|
+
break;
|
55
|
+
case 40: //Event.KEY_DOWN:
|
56
|
+
if (e.keyCode == 40 || e.ctrlKey) {
|
57
|
+
if (this.moveDown()) e.preventDefault();
|
58
|
+
this.startMoveTimeout(true);
|
59
|
+
}
|
60
|
+
break;
|
61
|
+
case 13: //Event.KEY_RETURN:
|
62
|
+
if (this.$current)
|
63
|
+
e.preventDefault();
|
64
|
+
this.select(this.$current);
|
65
|
+
break;
|
66
|
+
}
|
67
|
+
if (e.ctrlKey && e.shiftKey) this.select(this.$current);
|
68
|
+
}
|
69
|
+
|
70
|
+
this.clearMoveTimeout = function() {
|
71
|
+
clearTimeout(this.moveTimeout);
|
72
|
+
this.moveTimeout = null;
|
73
|
+
}
|
74
|
+
|
75
|
+
this.startMoveTimeout = function(isDown) {
|
76
|
+
if (!$.browser.mozilla && !$.browser.opera) return;
|
77
|
+
if (this.moveTimeout) this.clearMoveTimeout();
|
78
|
+
var _this = this;
|
79
|
+
|
80
|
+
var go = function() {
|
81
|
+
if (!_this.moveTimeout) return;
|
82
|
+
_this[isDown ? 'moveDown' : 'moveUp']();
|
83
|
+
_this.moveTimout = setTimeout(go, 100);
|
84
|
+
}
|
85
|
+
this.moveTimeout = setTimeout(go, 200);
|
86
|
+
}
|
87
|
+
|
88
|
+
this.moveRight = function() {
|
89
|
+
}
|
90
|
+
|
91
|
+
this.moveLeft = function() {
|
92
|
+
}
|
93
|
+
|
94
|
+
this.move = function(isDown) {
|
95
|
+
}
|
96
|
+
|
97
|
+
this.moveUp = function() {
|
98
|
+
return this.move(false);
|
99
|
+
}
|
100
|
+
|
101
|
+
this.moveDown = function() {
|
102
|
+
return this.move(true);
|
103
|
+
}
|
104
|
+
|
105
|
+
/*
|
106
|
+
* Scrolls to the given element in the scrollable element view.
|
107
|
+
*/
|
108
|
+
this.scrollInElement = function(element, view) {
|
109
|
+
var offset, viewHeight, viewScroll, height;
|
110
|
+
offset = element.offsetTop;
|
111
|
+
height = element.offsetHeight;
|
112
|
+
viewHeight = view.offsetHeight;
|
113
|
+
viewScroll = view.scrollTop;
|
114
|
+
|
115
|
+
if (offset - viewScroll + height > viewHeight) {
|
116
|
+
view.scrollTop = offset - viewHeight + height;
|
117
|
+
}
|
118
|
+
if (offset < viewScroll) {
|
119
|
+
view.scrollTop = offset;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
/*
|
124
|
+
* Scrolls to the given element in the window. The second argument is
|
125
|
+
* ignored
|
126
|
+
*/
|
127
|
+
this.scrollInWindow = function(element, ignored) {
|
128
|
+
var offset, viewHeight, viewScroll, height;
|
129
|
+
offset = element.offsetTop;
|
130
|
+
height = element.offsetHeight;
|
131
|
+
viewHeight = window.innerHeight;
|
132
|
+
viewScroll = window.scrollY;
|
133
|
+
|
134
|
+
if (offset - viewScroll + height > viewHeight) {
|
135
|
+
window.scrollTo(window.scrollX, offset - viewHeight + height);
|
136
|
+
}
|
137
|
+
if (offset < viewScroll) {
|
138
|
+
window.scrollTo(window.scrollX, offset);
|
139
|
+
}
|
140
|
+
}
|
141
|
+
}
|
142
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
var search_data = {"index":{"searchIndex":["cardboard","admincontroller","adminhelper","applicationcontroller","applicationhelper","dashboardcontroller","field","boolean","date","decimal","externallink","file","image","integer","resourcelink","richtext","string","page","pagepart","pagescontroller","publichelper","setting","settingscontroller","superusercontroller","userscontroller","datepickerinput","imageinput","object","pagescontroller","richtextinput","add()","arrange()","attr()","can_manage_cardboard_pages?()","can_manage_cardboard_resource?()","can_manage_cardboard_settings?()","cardboard_filters()","children()","clear_arranged_pages()","clear_saved_settings()","collection()","default()","default()","default()","default()","default()","default()","default()","default=()","default=()","default=()","depth()","edit()","edit()","find_by_url()","get()","homepage()","index()","index()","index()","input()","input()","is_root=()","l()","link_to_page()","main_sidebar_nav_link()","meta_and_title()","method_missing()","nested_pages()","new_subpart()","parent()","parent=()","parent_id=()","parent_url=()","parent_url_options()","ransack_options()","repeatable?()","root()","root?()","seo()","seo=()","show()","siblings()","slug=()","split_path()","subpart?()","type()","type=()","update()","update()","update()","url()","using_slug_backup=()","using_slug_backup?()","value()","value()","value()","value()","value=()","value=()","value=()","value=()"],"longSearchIndex":["cardboard","cardboard::admincontroller","cardboard::adminhelper","cardboard::applicationcontroller","cardboard::applicationhelper","cardboard::dashboardcontroller","cardboard::field","cardboard::field::boolean","cardboard::field::date","cardboard::field::decimal","cardboard::field::externallink","cardboard::field::file","cardboard::field::image","cardboard::field::integer","cardboard::field::resourcelink","cardboard::field::richtext","cardboard::field::string","cardboard::page","cardboard::pagepart","cardboard::pagescontroller","cardboard::publichelper","cardboard::setting","cardboard::settingscontroller","cardboard::superusercontroller","cardboard::userscontroller","datepickerinput","imageinput","object","pagescontroller","richtextinput","cardboard::setting::add()","cardboard::page::arrange()","cardboard::pagepart#attr()","object#can_manage_cardboard_pages?()","object#can_manage_cardboard_resource?()","object#can_manage_cardboard_settings?()","cardboard::adminhelper#cardboard_filters()","cardboard::page#children()","cardboard::page::clear_arranged_pages()","cardboard::setting::clear_saved_settings()","cardboard::admincontroller#collection()","cardboard::field::boolean#default()","cardboard::field::date#default()","cardboard::field::decimal#default()","cardboard::field::image#default()","cardboard::field::integer#default()","cardboard::field::richtext#default()","cardboard::field::string#default()","cardboard::field#default=()","cardboard::field::file#default=()","cardboard::field::image#default=()","cardboard::page#depth()","cardboard::pagescontroller#edit()","cardboard::userscontroller#edit()","cardboard::page::find_by_url()","cardboard::page#get()","cardboard::page::homepage()","cardboard::dashboardcontroller#index()","cardboard::settingscontroller#index()","cardboard::superusercontroller#index()","datepickerinput#input()","richtextinput#input()","cardboard::page#is_root=()","cardboard::adminhelper#l()","cardboard::publichelper#link_to_page()","cardboard::adminhelper#main_sidebar_nav_link()","cardboard::publichelper#meta_and_title()","cardboard::setting::method_missing()","cardboard::publichelper#nested_pages()","cardboard::pagepart#new_subpart()","cardboard::page#parent()","cardboard::page#parent=()","cardboard::page#parent_id=()","cardboard::page#parent_url=()","cardboard::page#parent_url_options()","cardboard::adminhelper#ransack_options()","cardboard::pagepart#repeatable?()","cardboard::page::root()","cardboard::page#root?()","cardboard::page#seo()","cardboard::page#seo=()","pagescontroller#show()","cardboard::page#siblings()","cardboard::page#slug=()","cardboard::page#split_path()","cardboard::pagepart#subpart?()","cardboard::field#type()","cardboard::field#type=()","cardboard::pagescontroller#update()","cardboard::settingscontroller#update()","cardboard::userscontroller#update()","cardboard::page#url()","cardboard::page#using_slug_backup=()","cardboard::page#using_slug_backup?()","cardboard::field::boolean#value()","cardboard::field::date#value()","cardboard::field::decimal#value()","cardboard::field::integer#value()","cardboard::field::boolean#value=()","cardboard::field::date#value=()","cardboard::field::decimal#value=()","cardboard::field::integer#value=()"],"info":[["Cardboard","","classes/Cardboard.html","",""],["Cardboard::AdminController","","classes/Cardboard/AdminController.html","",""],["Cardboard::AdminHelper","","classes/Cardboard/AdminHelper.html","",""],["Cardboard::ApplicationController","","classes/Cardboard/ApplicationController.html","",""],["Cardboard::ApplicationHelper","","classes/Cardboard/ApplicationHelper.html","",""],["Cardboard::DashboardController","","classes/Cardboard/DashboardController.html","",""],["Cardboard::Field","","classes/Cardboard/Field.html","",""],["Cardboard::Field::Boolean","","classes/Cardboard/Field/Boolean.html","",""],["Cardboard::Field::Date","","classes/Cardboard/Field/Date.html","",""],["Cardboard::Field::Decimal","","classes/Cardboard/Field/Decimal.html","",""],["Cardboard::Field::ExternalLink","","classes/Cardboard/Field/ExternalLink.html","",""],["Cardboard::Field::File","","classes/Cardboard/Field/File.html","",""],["Cardboard::Field::Image","","classes/Cardboard/Field/Image.html","",""],["Cardboard::Field::Integer","","classes/Cardboard/Field/Integer.html","",""],["Cardboard::Field::ResourceLink","","classes/Cardboard/Field/ResourceLink.html","",""],["Cardboard::Field::RichText","","classes/Cardboard/Field/RichText.html","",""],["Cardboard::Field::String","","classes/Cardboard/Field/String.html","",""],["Cardboard::Page","","classes/Cardboard/Page.html","",""],["Cardboard::PagePart","","classes/Cardboard/PagePart.html","",""],["Cardboard::PagesController","","classes/Cardboard/PagesController.html","",""],["Cardboard::PublicHelper","","classes/Cardboard/PublicHelper.html","",""],["Cardboard::Setting","","classes/Cardboard/Setting.html","",""],["Cardboard::SettingsController","","classes/Cardboard/SettingsController.html","",""],["Cardboard::SuperUserController","","classes/Cardboard/SuperUserController.html","",""],["Cardboard::UsersController","","classes/Cardboard/UsersController.html","",""],["DatePickerInput","","classes/DatePickerInput.html","",""],["ImageInput","","classes/ImageInput.html","",""],["Object","","classes/Object.html","",""],["PagesController","","classes/PagesController.html","",""],["RichTextInput","","classes/RichTextInput.html","",""],["add","Cardboard::Setting","classes/Cardboard/Setting.html#method-c-add","(id, hash_attributes)",""],["arrange","Cardboard::Page","classes/Cardboard/Page.html#method-c-arrange","(root_page = nil)","<p>Arrange array of nodes into a nested hash of the form {node =>\nchildren}, where children = {} if …\n"],["attr","Cardboard::PagePart","classes/Cardboard/PagePart.html#method-i-attr","(field)",""],["can_manage_cardboard_pages?","Object","classes/Object.html#method-i-can_manage_cardboard_pages-3F","()",""],["can_manage_cardboard_resource?","Object","classes/Object.html#method-i-can_manage_cardboard_resource-3F","(resource)",""],["can_manage_cardboard_settings?","Object","classes/Object.html#method-i-can_manage_cardboard_settings-3F","()",""],["cardboard_filters","Cardboard::AdminHelper","classes/Cardboard/AdminHelper.html#method-i-cardboard_filters","(model, main_element, options={})","\n<pre class=\"ruby\"><span class=\"ruby-string\">"q"</span>=<span class=\"ruby-operator\">></span>\n</pre>\n<p>{“id_lt”=>“1”,\n\n<pre class=\"ruby\"><span class=\"ruby-string\">"id_gteq"</span>=<span class=\"ruby-operator\">></span><span class=\"ruby-string\">"1"</span>,\n<span class=\"ruby-string\">"color_cont"</span>=<span class=\"ruby-operator\">></span><span class=\"ruby-string\">"1"</span>,\n<span class=\"ruby-string\">"flavor_cont"</span>=<span class=\"ruby-operator\">></span><span class=\"ruby-string\">""</span>,\n<span class=\"ruby-string\">"size_lt"</span>=<span class=\"ruby-operator\">></span><span class=\"ruby-string\">""</span>, <span class=\"ruby-operator\">...</span>\n</pre>\n"],["children","Cardboard::Page","classes/Cardboard/Page.html#method-i-children","()",""],["clear_arranged_pages","Cardboard::Page","classes/Cardboard/Page.html#method-c-clear_arranged_pages","()",""],["clear_saved_settings","Cardboard::Setting","classes/Cardboard/Setting.html#method-c-clear_saved_settings","()",""],["collection","Cardboard::AdminController","classes/Cardboard/AdminController.html#method-i-collection","()",""],["default","Cardboard::Field::Boolean","classes/Cardboard/Field/Boolean.html#method-i-default","()",""],["default","Cardboard::Field::Date","classes/Cardboard/Field/Date.html#method-i-default","()",""],["default","Cardboard::Field::Decimal","classes/Cardboard/Field/Decimal.html#method-i-default","()",""],["default","Cardboard::Field::Image","classes/Cardboard/Field/Image.html#method-i-default","()",""],["default","Cardboard::Field::Integer","classes/Cardboard/Field/Integer.html#method-i-default","()",""],["default","Cardboard::Field::RichText","classes/Cardboard/Field/RichText.html#method-i-default","()",""],["default","Cardboard::Field::String","classes/Cardboard/Field/String.html#method-i-default","()",""],["default=","Cardboard::Field","classes/Cardboard/Field.html#method-i-default-3D","(val)",""],["default=","Cardboard::Field::File","classes/Cardboard/Field/File.html#method-i-default-3D","(val)",""],["default=","Cardboard::Field::Image","classes/Cardboard/Field/Image.html#method-i-default-3D","(val)",""],["depth","Cardboard::Page","classes/Cardboard/Page.html#method-i-depth","()",""],["edit","Cardboard::PagesController","classes/Cardboard/PagesController.html#method-i-edit","()",""],["edit","Cardboard::UsersController","classes/Cardboard/UsersController.html#method-i-edit","()",""],["find_by_url","Cardboard::Page","classes/Cardboard/Page.html#method-c-find_by_url","(full_url)","<p>class methods\n"],["get","Cardboard::Page","classes/Cardboard/Page.html#method-i-get","(field)","<p>slideshow = @page.get(“slideshow”) slideshow.field(“image1”)\nslideshow.each{|p| …\n"],["homepage","Cardboard::Page","classes/Cardboard/Page.html#method-c-homepage","()",""],["index","Cardboard::DashboardController","classes/Cardboard/DashboardController.html#method-i-index","()",""],["index","Cardboard::SettingsController","classes/Cardboard/SettingsController.html#method-i-index","()",""],["index","Cardboard::SuperUserController","classes/Cardboard/SuperUserController.html#method-i-index","()",""],["input","DatePickerInput","classes/DatePickerInput.html#method-i-input","()",""],["input","RichTextInput","classes/RichTextInput.html#method-i-input","()",""],["is_root=","Cardboard::Page","classes/Cardboard/Page.html#method-i-is_root-3D","(val)",""],["l","Cardboard::AdminHelper","classes/Cardboard/AdminHelper.html#method-i-l","(val, options = {})",""],["link_to_page","Cardboard::PublicHelper","classes/Cardboard/PublicHelper.html#method-i-link_to_page","(page, html_options={}, &block)","<p>Example:\n\n<pre class=\"ruby\"><span class=\"ruby-identifier\">link_to_page</span> <span class=\"ruby-value\">123</span>, <span class=\"ruby-identifier\">class</span><span class=\"ruby-operator\">:</span> <span class=\"ruby-string\">"btn"</span> <span class=\"ruby-keyword\">do</span> <span class=\"ruby-operator\">|</span><span class=\"ruby-identifier\">page</span><span class=\"ruby-operator\">|</span>\n <span class=\"ruby-node\">"hello #{page.title}"</span>\n<span class=\"ruby-keyword\">end</span>\n</pre>\n"],["main_sidebar_nav_link","Cardboard::AdminHelper","classes/Cardboard/AdminHelper.html#method-i-main_sidebar_nav_link","(text, link, options={})","<p>.item\n\n<pre>= link_to dashboard_path, id:"nav_dashboard_link" do\n i.icon-dashboard\n span Dashboard</pre>\n"],["meta_and_title","Cardboard::PublicHelper","classes/Cardboard/PublicHelper.html#method-i-meta_and_title","(page)","<p>Example: head\n\n<pre>= meta_and_title(current_page)</pre>\n"],["method_missing","Cardboard::Setting","classes/Cardboard/Setting.html#method-c-method_missing","(sym, *args, &block)",""],["nested_pages","Cardboard::PublicHelper","classes/Cardboard/PublicHelper.html#method-i-nested_pages","(page = nil, &block)","<p>Example 1:\n<p>nested_pages Cardboard::Page.arrange do |page, subpages|\n\n<pre>.indent\n = link_to(page.title, page.url) ...</pre>\n"],["new_subpart","Cardboard::PagePart","classes/Cardboard/PagePart.html#method-i-new_subpart","()",""],["parent","Cardboard::Page","classes/Cardboard/Page.html#method-i-parent","()",""],["parent=","Cardboard::Page","classes/Cardboard/Page.html#method-i-parent-3D","(new_parent)",""],["parent_id=","Cardboard::Page","classes/Cardboard/Page.html#method-i-parent_id-3D","(new_parent_id)",""],["parent_url=","Cardboard::Page","classes/Cardboard/Page.html#method-i-parent_url-3D","(new_parent_url)",""],["parent_url_options","Cardboard::Page","classes/Cardboard/Page.html#method-i-parent_url_options","()","<p>Get all other pages\n"],["ransack_options","Cardboard::AdminHelper","classes/Cardboard/AdminHelper.html#method-i-ransack_options","()",""],["repeatable?","Cardboard::PagePart","classes/Cardboard/PagePart.html#method-i-repeatable-3F","()",""],["root","Cardboard::Page","classes/Cardboard/Page.html#method-c-root","()",""],["root?","Cardboard::Page","classes/Cardboard/Page.html#method-i-root-3F","()",""],["seo","Cardboard::Page","classes/Cardboard/Page.html#method-i-seo","()","<p>SEO children inherit their parent’s SEO settings (these can be overwritten)\n"],["seo=","Cardboard::Page","classes/Cardboard/Page.html#method-i-seo-3D","(hash)",""],["show","PagesController","classes/PagesController.html#method-i-show","()",""],["siblings","Cardboard::Page","classes/Cardboard/Page.html#method-i-siblings","()",""],["slug=","Cardboard::Page","classes/Cardboard/Page.html#method-i-slug-3D","(value)","<p>overwritten setters/getters\n"],["split_path","Cardboard::Page","classes/Cardboard/Page.html#method-i-split_path","()",""],["subpart?","Cardboard::PagePart","classes/Cardboard/PagePart.html#method-i-subpart-3F","()",""],["type","Cardboard::Field","classes/Cardboard/Field.html#method-i-type","()",""],["type=","Cardboard::Field","classes/Cardboard/Field.html#method-i-type-3D","(val)","<p>overwritten setter\n"],["update","Cardboard::PagesController","classes/Cardboard/PagesController.html#method-i-update","()",""],["update","Cardboard::SettingsController","classes/Cardboard/SettingsController.html#method-i-update","()",""],["update","Cardboard::UsersController","classes/Cardboard/UsersController.html#method-i-update","()",""],["url","Cardboard::Page","classes/Cardboard/Page.html#method-i-url","()",""],["using_slug_backup=","Cardboard::Page","classes/Cardboard/Page.html#method-i-using_slug_backup-3D","(value)",""],["using_slug_backup?","Cardboard::Page","classes/Cardboard/Page.html#method-i-using_slug_backup-3F","()",""],["value","Cardboard::Field::Boolean","classes/Cardboard/Field/Boolean.html#method-i-value","()",""],["value","Cardboard::Field::Date","classes/Cardboard/Field/Date.html#method-i-value","()",""],["value","Cardboard::Field::Decimal","classes/Cardboard/Field/Decimal.html#method-i-value","()",""],["value","Cardboard::Field::Integer","classes/Cardboard/Field/Integer.html#method-i-value","()",""],["value=","Cardboard::Field::Boolean","classes/Cardboard/Field/Boolean.html#method-i-value-3D","(val)",""],["value=","Cardboard::Field::Date","classes/Cardboard/Field/Date.html#method-i-value-3D","(val)",""],["value=","Cardboard::Field::Decimal","classes/Cardboard/Field/Decimal.html#method-i-value-3D","(val)",""],["value=","Cardboard::Field::Integer","classes/Cardboard/Field/Integer.html#method-i-value-3D","(val)",""]]}}
|
data/doc/js/searchdoc.js
ADDED
@@ -0,0 +1,449 @@
|
|
1
|
+
Searchdoc = {};
|
2
|
+
|
3
|
+
// navigation.js ------------------------------------------
|
4
|
+
|
5
|
+
Searchdoc.Navigation = new function() {
|
6
|
+
this.initNavigation = function() {
|
7
|
+
var _this = this;
|
8
|
+
|
9
|
+
$(document).keydown(function(e) {
|
10
|
+
_this.onkeydown(e);
|
11
|
+
}).keyup(function(e) {
|
12
|
+
_this.onkeyup(e);
|
13
|
+
});
|
14
|
+
|
15
|
+
this.navigationActive = true;
|
16
|
+
}
|
17
|
+
|
18
|
+
this.setNavigationActive = function(state) {
|
19
|
+
this.navigationActive = state;
|
20
|
+
this.clearMoveTimeout();
|
21
|
+
}
|
22
|
+
|
23
|
+
|
24
|
+
this.onkeyup = function(e) {
|
25
|
+
if (!this.navigationActive) return;
|
26
|
+
switch(e.keyCode) {
|
27
|
+
case 37: //Event.KEY_LEFT:
|
28
|
+
case 38: //Event.KEY_UP:
|
29
|
+
case 39: //Event.KEY_RIGHT:
|
30
|
+
case 40: //Event.KEY_DOWN:
|
31
|
+
case 73: // i - qwerty
|
32
|
+
case 74: // j
|
33
|
+
case 75: // k
|
34
|
+
case 76: // l
|
35
|
+
case 67: // c - dvorak
|
36
|
+
case 72: // h
|
37
|
+
case 84: // t
|
38
|
+
case 78: // n
|
39
|
+
this.clearMoveTimeout();
|
40
|
+
break;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
this.onkeydown = function(e) {
|
45
|
+
if (!this.navigationActive) return;
|
46
|
+
switch(e.keyCode) {
|
47
|
+
case 37: //Event.KEY_LEFT:
|
48
|
+
case 74: // j (qwerty)
|
49
|
+
case 72: // h (dvorak)
|
50
|
+
if (this.moveLeft()) e.preventDefault();
|
51
|
+
break;
|
52
|
+
case 38: //Event.KEY_UP:
|
53
|
+
case 73: // i (qwerty)
|
54
|
+
case 67: // c (dvorak)
|
55
|
+
if (e.keyCode == 38 || e.ctrlKey) {
|
56
|
+
if (this.moveUp()) e.preventDefault();
|
57
|
+
this.startMoveTimeout(false);
|
58
|
+
}
|
59
|
+
break;
|
60
|
+
case 39: //Event.KEY_RIGHT:
|
61
|
+
case 76: // l (qwerty)
|
62
|
+
case 78: // n (dvorak)
|
63
|
+
if (this.moveRight()) e.preventDefault();
|
64
|
+
break;
|
65
|
+
case 40: //Event.KEY_DOWN:
|
66
|
+
case 75: // k (qwerty)
|
67
|
+
case 84: // t (dvorak)
|
68
|
+
if (e.keyCode == 40 || e.ctrlKey) {
|
69
|
+
if (this.moveDown()) e.preventDefault();
|
70
|
+
this.startMoveTimeout(true);
|
71
|
+
}
|
72
|
+
break;
|
73
|
+
case 9: //Event.KEY_TAB:
|
74
|
+
case 13: //Event.KEY_RETURN:
|
75
|
+
if (this.$current) this.select(this.$current);
|
76
|
+
break;
|
77
|
+
case 83: // s (qwerty)
|
78
|
+
case 79: // o (dvorak)
|
79
|
+
if (e.ctrlKey) {
|
80
|
+
$('#search').focus();
|
81
|
+
e.preventDefault();
|
82
|
+
}
|
83
|
+
break;
|
84
|
+
}
|
85
|
+
if (e.ctrlKey && e.shiftKey) this.select(this.$current);
|
86
|
+
}
|
87
|
+
|
88
|
+
this.clearMoveTimeout = function() {
|
89
|
+
clearTimeout(this.moveTimeout);
|
90
|
+
this.moveTimeout = null;
|
91
|
+
}
|
92
|
+
|
93
|
+
this.startMoveTimeout = function(isDown) {
|
94
|
+
if (!$.browser.mozilla && !$.browser.opera) return;
|
95
|
+
if (this.moveTimeout) this.clearMoveTimeout();
|
96
|
+
var _this = this;
|
97
|
+
|
98
|
+
var go = function() {
|
99
|
+
if (!_this.moveTimeout) return;
|
100
|
+
_this[isDown ? 'moveDown' : 'moveUp']();
|
101
|
+
_this.moveTimout = setTimeout(go, 100);
|
102
|
+
}
|
103
|
+
this.moveTimeout = setTimeout(go, 200);
|
104
|
+
}
|
105
|
+
|
106
|
+
this.moveRight = function() {
|
107
|
+
}
|
108
|
+
|
109
|
+
this.moveLeft = function() {
|
110
|
+
}
|
111
|
+
|
112
|
+
this.move = function(isDown) {
|
113
|
+
}
|
114
|
+
|
115
|
+
this.moveUp = function() {
|
116
|
+
return this.move(false);
|
117
|
+
}
|
118
|
+
|
119
|
+
this.moveDown = function() {
|
120
|
+
return this.move(true);
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
|
125
|
+
// scrollIntoView.js --------------------------------------
|
126
|
+
|
127
|
+
function scrollIntoView(element, view) {
|
128
|
+
var offset, viewHeight, viewScroll, height;
|
129
|
+
offset = element.offsetTop;
|
130
|
+
height = element.offsetHeight;
|
131
|
+
viewHeight = view.offsetHeight;
|
132
|
+
viewScroll = view.scrollTop;
|
133
|
+
if (offset - viewScroll + height > viewHeight) {
|
134
|
+
view.scrollTop = offset - viewHeight + height;
|
135
|
+
}
|
136
|
+
if (offset < viewScroll) {
|
137
|
+
view.scrollTop = offset;
|
138
|
+
}
|
139
|
+
}
|
140
|
+
|
141
|
+
// panel.js -----------------------------------------------
|
142
|
+
|
143
|
+
Searchdoc.Panel = function(element, data, tree, frame) {
|
144
|
+
this.$element = $(element);
|
145
|
+
this.$input = $('input', element).eq(0);
|
146
|
+
this.$result = $('.result ul', element).eq(0);
|
147
|
+
this.frame = frame;
|
148
|
+
this.$current = null;
|
149
|
+
this.$view = this.$result.parent();
|
150
|
+
this.data = data;
|
151
|
+
this.searcher = new Searcher(data.index);
|
152
|
+
|
153
|
+
this.tree = new Searchdoc.Tree($('.tree', element), tree, this);
|
154
|
+
this.init();
|
155
|
+
}
|
156
|
+
|
157
|
+
Searchdoc.Panel.prototype = $.extend({}, Searchdoc.Navigation, new function() {
|
158
|
+
var suid = 1;
|
159
|
+
|
160
|
+
this.init = function() {
|
161
|
+
var _this = this;
|
162
|
+
var observer = function() {
|
163
|
+
_this.search(_this.$input[0].value);
|
164
|
+
};
|
165
|
+
this.$input.keyup(observer);
|
166
|
+
this.$input.click(observer); // mac's clear field
|
167
|
+
|
168
|
+
this.searcher.ready(function(results, isLast) {
|
169
|
+
_this.addResults(results, isLast);
|
170
|
+
})
|
171
|
+
|
172
|
+
this.$result.click(function(e) {
|
173
|
+
_this.$current.removeClass('current');
|
174
|
+
_this.$current = $(e.target).closest('li').addClass('current');
|
175
|
+
_this.select();
|
176
|
+
_this.$input.focus();
|
177
|
+
});
|
178
|
+
|
179
|
+
this.initNavigation();
|
180
|
+
this.setNavigationActive(false);
|
181
|
+
}
|
182
|
+
|
183
|
+
this.search = function(value, selectFirstMatch) {
|
184
|
+
value = jQuery.trim(value).toLowerCase();
|
185
|
+
this.selectFirstMatch = selectFirstMatch;
|
186
|
+
if (value) {
|
187
|
+
this.$element.removeClass('panel_tree').addClass('panel_results');
|
188
|
+
this.tree.setNavigationActive(false);
|
189
|
+
this.setNavigationActive(true);
|
190
|
+
} else {
|
191
|
+
this.$element.addClass('panel_tree').removeClass('panel_results');
|
192
|
+
this.tree.setNavigationActive(true);
|
193
|
+
this.setNavigationActive(false);
|
194
|
+
}
|
195
|
+
if (value != this.lastQuery) {
|
196
|
+
this.lastQuery = value;
|
197
|
+
this.firstRun = true;
|
198
|
+
this.searcher.find(value);
|
199
|
+
}
|
200
|
+
}
|
201
|
+
|
202
|
+
this.addResults = function(results, isLast) {
|
203
|
+
var target = this.$result.get(0);
|
204
|
+
if (this.firstRun && (results.length > 0 || isLast)) {
|
205
|
+
this.$current = null;
|
206
|
+
this.$result.empty();
|
207
|
+
}
|
208
|
+
for (var i=0, l = results.length; i < l; i++) {
|
209
|
+
target.appendChild(renderItem.call(this, results[i]));
|
210
|
+
};
|
211
|
+
if (this.firstRun && results.length > 0) {
|
212
|
+
this.firstRun = false;
|
213
|
+
this.$current = $(target.firstChild);
|
214
|
+
this.$current.addClass('current');
|
215
|
+
if (this.selectFirstMatch) this.select();
|
216
|
+
scrollIntoView(this.$current[0], this.$view[0])
|
217
|
+
}
|
218
|
+
if (jQuery.browser.msie) this.$element[0].className += '';
|
219
|
+
}
|
220
|
+
|
221
|
+
this.open = function(src) {
|
222
|
+
this.frame.location.href = '../' + src;
|
223
|
+
if (this.frame.highlight) this.frame.highlight(src);
|
224
|
+
}
|
225
|
+
|
226
|
+
this.select = function() {
|
227
|
+
this.open(this.$current.data('path'));
|
228
|
+
}
|
229
|
+
|
230
|
+
this.move = function(isDown) {
|
231
|
+
if (!this.$current) return;
|
232
|
+
var $next = this.$current[isDown ? 'next' : 'prev']();
|
233
|
+
if ($next.length) {
|
234
|
+
this.$current.removeClass('current');
|
235
|
+
$next.addClass('current');
|
236
|
+
scrollIntoView($next[0], this.$view[0]);
|
237
|
+
this.$current = $next;
|
238
|
+
}
|
239
|
+
return true;
|
240
|
+
}
|
241
|
+
|
242
|
+
function renderItem(result) {
|
243
|
+
var li = document.createElement('li'),
|
244
|
+
html = '', badge = result.badge;
|
245
|
+
html += '<h1>' + hlt(result.title);
|
246
|
+
if (result.params) html += '<i>' + result.params + '</i>';
|
247
|
+
html += '</h1>';
|
248
|
+
html += '<p>';
|
249
|
+
if (typeof badge != 'undefined') {
|
250
|
+
html += '<span class="badge badge_' + (badge % 6 + 1) + '">' + escapeHTML(this.data.badges[badge] || 'unknown') + '</span>';
|
251
|
+
}
|
252
|
+
html += hlt(result.namespace) + '</p>';
|
253
|
+
if (result.snippet) html += '<p class="snippet">' + escapeHTML(result.snippet) + '</p>';
|
254
|
+
li.innerHTML = html;
|
255
|
+
jQuery.data(li, 'path', result.path);
|
256
|
+
return li;
|
257
|
+
}
|
258
|
+
|
259
|
+
function hlt(html) {
|
260
|
+
return escapeHTML(html).replace(/\u0001/g, '<b>').replace(/\u0002/g, '</b>')
|
261
|
+
}
|
262
|
+
|
263
|
+
function escapeHTML(html) {
|
264
|
+
return html.replace(/[&<>]/g, function(c) {
|
265
|
+
return '&#' + c.charCodeAt(0) + ';';
|
266
|
+
});
|
267
|
+
}
|
268
|
+
|
269
|
+
});
|
270
|
+
|
271
|
+
// tree.js ------------------------------------------------
|
272
|
+
|
273
|
+
Searchdoc.Tree = function(element, tree, panel) {
|
274
|
+
this.$element = $(element);
|
275
|
+
this.$list = $('ul', element);
|
276
|
+
this.tree = tree;
|
277
|
+
this.panel = panel;
|
278
|
+
this.init();
|
279
|
+
}
|
280
|
+
|
281
|
+
Searchdoc.Tree.prototype = $.extend({}, Searchdoc.Navigation, new function() {
|
282
|
+
this.init = function() {
|
283
|
+
var stopper = document.createElement('li');
|
284
|
+
stopper.className = 'stopper';
|
285
|
+
this.$list[0].appendChild(stopper);
|
286
|
+
for (var i=0, l = this.tree.length; i < l; i++) {
|
287
|
+
buildAndAppendItem.call(this, this.tree[i], 0, stopper);
|
288
|
+
};
|
289
|
+
var _this = this;
|
290
|
+
this.$list.click(function(e) {
|
291
|
+
var $target = $(e.target),
|
292
|
+
$li = $target.closest('li');
|
293
|
+
if ($target.hasClass('icon')) {
|
294
|
+
_this.toggle($li);
|
295
|
+
} else {
|
296
|
+
_this.select($li);
|
297
|
+
}
|
298
|
+
})
|
299
|
+
|
300
|
+
this.initNavigation();
|
301
|
+
if (jQuery.browser.msie) document.body.className += '';
|
302
|
+
}
|
303
|
+
|
304
|
+
this.select = function($li) {
|
305
|
+
this.highlight($li);
|
306
|
+
var path = $li[0].searchdoc_tree_data.path;
|
307
|
+
if (path) this.panel.open(path);
|
308
|
+
}
|
309
|
+
|
310
|
+
this.highlight = function($li) {
|
311
|
+
if (this.$current) this.$current.removeClass('current');
|
312
|
+
this.$current = $li.addClass('current');
|
313
|
+
}
|
314
|
+
|
315
|
+
this.toggle = function($li) {
|
316
|
+
var closed = !$li.hasClass('closed'),
|
317
|
+
children = $li[0].searchdoc_tree_data.children;
|
318
|
+
$li.toggleClass('closed');
|
319
|
+
for (var i=0, l = children.length; i < l; i++) {
|
320
|
+
toggleVis.call(this, $(children[i].li), !closed);
|
321
|
+
};
|
322
|
+
}
|
323
|
+
|
324
|
+
this.moveRight = function() {
|
325
|
+
if (!this.$current) {
|
326
|
+
this.highlight(this.$list.find('li:first'));
|
327
|
+
return;
|
328
|
+
}
|
329
|
+
if (this.$current.hasClass('closed')) {
|
330
|
+
this.toggle(this.$current);
|
331
|
+
}
|
332
|
+
}
|
333
|
+
|
334
|
+
this.moveLeft = function() {
|
335
|
+
if (!this.$current) {
|
336
|
+
this.highlight(this.$list.find('li:first'));
|
337
|
+
return;
|
338
|
+
}
|
339
|
+
if (!this.$current.hasClass('closed')) {
|
340
|
+
this.toggle(this.$current);
|
341
|
+
} else {
|
342
|
+
var level = this.$current[0].searchdoc_tree_data.level;
|
343
|
+
if (level == 0) return;
|
344
|
+
var $next = this.$current.prevAll('li.level_' + (level - 1) + ':visible:first');
|
345
|
+
this.$current.removeClass('current');
|
346
|
+
$next.addClass('current');
|
347
|
+
scrollIntoView($next[0], this.$element[0]);
|
348
|
+
this.$current = $next;
|
349
|
+
}
|
350
|
+
}
|
351
|
+
|
352
|
+
this.move = function(isDown) {
|
353
|
+
if (!this.$current) {
|
354
|
+
this.highlight(this.$list.find('li:first'));
|
355
|
+
return true;
|
356
|
+
}
|
357
|
+
var next = this.$current[0];
|
358
|
+
if (isDown) {
|
359
|
+
do {
|
360
|
+
next = next.nextSibling;
|
361
|
+
if (next && next.style && next.style.display != 'none') break;
|
362
|
+
} while(next);
|
363
|
+
} else {
|
364
|
+
do {
|
365
|
+
next = next.previousSibling;
|
366
|
+
if (next && next.style && next.style.display != 'none') break;
|
367
|
+
} while(next);
|
368
|
+
}
|
369
|
+
if (next && next.className.indexOf('stopper') == -1) {
|
370
|
+
this.$current.removeClass('current');
|
371
|
+
$(next).addClass('current');
|
372
|
+
scrollIntoView(next, this.$element[0]);
|
373
|
+
this.$current = $(next);
|
374
|
+
}
|
375
|
+
return true;
|
376
|
+
}
|
377
|
+
|
378
|
+
function toggleVis($li, show) {
|
379
|
+
var closed = $li.hasClass('closed'),
|
380
|
+
children = $li[0].searchdoc_tree_data.children;
|
381
|
+
$li.css('display', show ? '' : 'none')
|
382
|
+
if (!show && this.$current && $li[0] == this.$current[0]) {
|
383
|
+
this.$current.removeClass('current');
|
384
|
+
this.$current = null;
|
385
|
+
}
|
386
|
+
for (var i=0, l = children.length; i < l; i++) {
|
387
|
+
toggleVis.call(this, $(children[i].li), show && !closed);
|
388
|
+
};
|
389
|
+
}
|
390
|
+
|
391
|
+
function buildAndAppendItem(item, level, before) {
|
392
|
+
var li = renderItem(item, level),
|
393
|
+
list = this.$list[0];
|
394
|
+
item.li = li;
|
395
|
+
list.insertBefore(li, before);
|
396
|
+
for (var i=0, l = item[3].length; i < l; i++) {
|
397
|
+
buildAndAppendItem.call(this, item[3][i], level + 1, before);
|
398
|
+
};
|
399
|
+
return li;
|
400
|
+
}
|
401
|
+
|
402
|
+
function renderItem(item, level) {
|
403
|
+
var li = document.createElement('li'),
|
404
|
+
cnt = document.createElement('div'),
|
405
|
+
h1 = document.createElement('h1'),
|
406
|
+
p = document.createElement('p'),
|
407
|
+
icon, i;
|
408
|
+
|
409
|
+
li.appendChild(cnt);
|
410
|
+
li.style.paddingLeft = getOffset(level);
|
411
|
+
cnt.className = 'content';
|
412
|
+
if (!item[1]) li.className = 'empty ';
|
413
|
+
cnt.appendChild(h1);
|
414
|
+
// cnt.appendChild(p);
|
415
|
+
h1.appendChild(document.createTextNode(item[0]));
|
416
|
+
// p.appendChild(document.createTextNode(item[4]));
|
417
|
+
if (item[2]) {
|
418
|
+
i = document.createElement('i');
|
419
|
+
i.appendChild(document.createTextNode(item[2]));
|
420
|
+
h1.appendChild(i);
|
421
|
+
}
|
422
|
+
if (item[3].length > 0) {
|
423
|
+
icon = document.createElement('div');
|
424
|
+
icon.className = 'icon';
|
425
|
+
cnt.appendChild(icon);
|
426
|
+
}
|
427
|
+
|
428
|
+
// user direct assignement instead of $()
|
429
|
+
// it's 8x faster
|
430
|
+
// $(li).data('path', item[1])
|
431
|
+
// .data('children', item[3])
|
432
|
+
// .data('level', level)
|
433
|
+
// .css('display', level == 0 ? '' : 'none')
|
434
|
+
// .addClass('level_' + level)
|
435
|
+
// .addClass('closed');
|
436
|
+
li.searchdoc_tree_data = {
|
437
|
+
path: item[1],
|
438
|
+
children: item[3],
|
439
|
+
level: level
|
440
|
+
}
|
441
|
+
li.style.display = level == 0 ? '' : 'none';
|
442
|
+
li.className += 'level_' + level + ' closed';
|
443
|
+
return li;
|
444
|
+
}
|
445
|
+
|
446
|
+
function getOffset(level) {
|
447
|
+
return 5 + 18*level + 'px';
|
448
|
+
}
|
449
|
+
});
|