trusty-cms 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -1
- data/CHANGELOG.md +1 -1
- data/Gemfile +12 -8
- data/Gemfile.lock +141 -82
- data/LICENSE.md +1 -1
- data/README.md +48 -5
- data/Vagrantfile +122 -0
- data/{public → app/assets}/images/admin/add_tab.png +0 -0
- data/app/assets/images/admin/animated-overlay.gif +0 -0
- data/{public → app/assets}/images/admin/avatar_32x32.png +0 -0
- data/{public → app/assets}/images/admin/avatar_64x64.png +0 -0
- data/{public → app/assets}/images/admin/avatar_96x96.png +0 -0
- data/{public → app/assets}/images/admin/brown_bottom_line.gif +0 -0
- data/{public → app/assets}/images/admin/calendar_down.gif +0 -0
- data/{public → app/assets}/images/admin/collapse.png +0 -0
- data/{public/images/admin/expand.png → app/assets/images/admin/collapsed.png} +0 -0
- data/{public → app/assets}/images/admin/draft_page.png +0 -0
- data/{public → app/assets}/images/admin/image.png +0 -0
- data/{public → app/assets}/images/admin/javascript.png +0 -0
- data/{public → app/assets}/images/admin/layout.png +0 -0
- data/{public → app/assets}/images/admin/metadata_toggle.png +0 -0
- data/{public → app/assets}/images/admin/minus.png +0 -0
- data/{public → app/assets}/images/admin/minus_disabled.png +0 -0
- data/{public → app/assets}/images/admin/minus_grey.png +0 -0
- data/{public → app/assets}/images/admin/navigation_secondary_separator.gif +0 -0
- data/{public → app/assets}/images/admin/page.png +0 -0
- data/{public → app/assets}/images/admin/plus.png +0 -0
- data/{public → app/assets}/images/admin/plus_disabled.png +0 -0
- data/{public → app/assets}/images/admin/plus_grey.png +0 -0
- data/{public → app/assets}/images/admin/popup_border_background.png +0 -0
- data/{public → app/assets}/images/admin/popup_border_bottom_left.png +0 -0
- data/{public → app/assets}/images/admin/popup_border_bottom_right.png +0 -0
- data/{public → app/assets}/images/admin/popup_border_top_left.png +0 -0
- data/{public → app/assets}/images/admin/popup_border_top_right.png +0 -0
- data/{public → app/assets}/images/admin/search.png +0 -0
- data/{public → app/assets}/images/admin/single_form_shadow.png +0 -0
- data/{public → app/assets}/images/admin/snippet.png +0 -0
- data/{public → app/assets}/images/admin/spinner.gif +0 -0
- data/{public → app/assets}/images/admin/status_background.png +0 -0
- data/{public → app/assets}/images/admin/status_bottom_left.png +0 -0
- data/{public → app/assets}/images/admin/status_bottom_right.png +0 -0
- data/{public → app/assets}/images/admin/status_spinner.gif +0 -0
- data/{public → app/assets}/images/admin/status_top_left.png +0 -0
- data/{public → app/assets}/images/admin/status_top_right.png +0 -0
- data/{public → app/assets}/images/admin/stylesheet.png +0 -0
- data/{public → app/assets}/images/admin/tab_close.png +0 -0
- data/app/assets/images/admin/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/images/admin/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/images/admin/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/admin/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/images/admin/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/images/admin/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/images/admin/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/images/admin/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/admin/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/images/admin/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/admin/ui-icons_888888_256x240.png +0 -0
- data/app/assets/images/admin/ui-icons_cd0a0a_256x240.png +0 -0
- data/{public → app/assets}/images/admin/upload.png +0 -0
- data/{public → app/assets}/images/admin/virtual_page.png +0 -0
- data/{public → app/assets}/images/radiant/radiant-badge-color.png +0 -0
- data/app/assets/javascripts/admin.js +35 -0
- data/app/assets/javascripts/admin/autopopulate-breadcrumb.js +35 -0
- data/{public → app/assets}/javascripts/admin/cookie.js +13 -13
- data/app/assets/javascripts/admin/datecheck.js +7 -0
- data/app/assets/javascripts/admin/dropdown.js +26 -0
- data/app/assets/javascripts/admin/jquery-ui.js +2371 -0
- data/app/assets/javascripts/admin/jquery.treetable.js +629 -0
- data/app/assets/javascripts/admin/jquery.validate.min.js +4 -0
- data/app/assets/javascripts/admin/modernizr.js +409 -0
- data/app/assets/javascripts/admin/more-or-less.js +38 -0
- data/app/assets/javascripts/admin/page-edit.js +51 -0
- data/app/assets/javascripts/admin/pagefield.js +35 -0
- data/app/assets/javascripts/admin/persist.min.js +31 -0
- data/app/assets/javascripts/admin/popup.js +40 -0
- data/app/assets/javascripts/admin/preview.js +40 -0
- data/app/assets/javascripts/admin/tabcontrol.js.erb +81 -0
- data/app/assets/javascripts/admin/tags.js +41 -0
- data/app/assets/javascripts/admin/treetable.js +50 -0
- data/app/assets/javascripts/admin/utilities.js +5 -0
- data/app/assets/javascripts/admin/validation.js +7 -0
- data/app/assets/javascripts/admin/validations/user_validations.js +21 -0
- data/app/assets/javascripts/ckeditor/config.js +10 -0
- data/{config/initializers/configuration_extensions.rb → app/assets/javascripts/ckeditor/contents.css} +0 -0
- data/app/assets/javascripts/notes.md +40 -0
- data/app/assets/stylesheets/admin/_base.scss +17 -0
- data/app/assets/stylesheets/admin/main.scss +34 -0
- data/app/assets/stylesheets/admin/modules/_boxes.scss +7 -0
- data/app/assets/stylesheets/admin/modules/_gradients.scss +5 -0
- data/app/assets/stylesheets/admin/modules/_links.scss +24 -0
- data/app/assets/stylesheets/admin/partials/_actions.scss +118 -0
- data/app/assets/stylesheets/admin/partials/_avatars.scss +12 -0
- data/app/assets/stylesheets/admin/partials/_content.scss +74 -0
- data/app/assets/stylesheets/admin/partials/_dateinput.scss +71 -0
- data/app/assets/stylesheets/admin/partials/_deprecated.scss +65 -0
- data/app/assets/stylesheets/admin/partials/_dropdown.scss +34 -0
- data/app/assets/stylesheets/admin/partials/_footer.scss +14 -0
- data/app/assets/stylesheets/admin/partials/_forms.scss +419 -0
- data/app/assets/stylesheets/admin/partials/_header.scss +135 -0
- data/app/assets/stylesheets/admin/partials/_index.scss +198 -0
- data/app/assets/stylesheets/admin/partials/_jquery-ui-structure.scss +258 -0
- data/app/assets/stylesheets/admin/partials/_jquery-ui-theme.scss +410 -0
- data/app/assets/stylesheets/admin/partials/_jquery-ui.scss +650 -0
- data/app/assets/stylesheets/admin/partials/_layout.scss +14 -0
- data/app/assets/stylesheets/admin/partials/_messages.scss +13 -0
- data/app/assets/stylesheets/admin/partials/_popup.scss +263 -0
- data/app/assets/stylesheets/admin/partials/_tabcontrol.scss +94 -0
- data/app/assets/stylesheets/admin/partials/_toolbar.scss +40 -0
- data/app/assets/stylesheets/admin/partials/_treetable.scss +120 -0
- data/app/assets/stylesheets/admin/partials/_typography.scss +77 -0
- data/app/assets/stylesheets/admin/partials/_validations.scss +22 -0
- data/app/controllers/admin/configuration_controller.rb +9 -9
- data/app/controllers/admin/extensions_controller.rb +1 -1
- data/app/controllers/admin/page_parts_controller.rb +1 -1
- data/app/controllers/admin/pages_controller.rb +8 -5
- data/app/controllers/admin/preferences_controller.rb +8 -25
- data/app/controllers/admin/resource_controller.rb +19 -20
- data/app/controllers/admin/users_controller.rb +7 -7
- data/app/controllers/admin/welcome_controller.rb +9 -9
- data/app/controllers/application_controller.rb +13 -24
- data/app/controllers/site_controller.rb +2 -1
- data/app/helpers/admin/configuration_helper.rb +20 -19
- data/app/helpers/admin/extensions_helper.rb +1 -1
- data/app/helpers/admin/layouts_helper.rb +1 -19
- data/app/helpers/admin/node_helper.rb +21 -7
- data/app/helpers/admin/pages_helper.rb +4 -92
- data/app/helpers/admin/preferences_helper.rb +1 -1
- data/app/helpers/admin/regions_helper.rb +5 -4
- data/app/helpers/application_helper.rb +62 -64
- data/app/models/deprecated_tags.rb +1 -21
- data/app/models/file_not_found_page.rb +8 -8
- data/app/models/layout.rb +3 -2
- data/app/models/menu_renderer.rb +7 -7
- data/app/models/page.rb +8 -7
- data/app/models/page_context.rb +10 -10
- data/app/models/page_field.rb +1 -0
- data/app/models/page_part.rb +5 -5
- data/app/models/standard_tags.rb +95 -75
- data/app/models/status.rb +8 -8
- data/app/models/text_filter.rb +5 -5
- data/app/models/trusty_cms/config.rb +36 -42
- data/app/models/trusty_cms/page_response_cache_director.rb +2 -1
- data/app/models/user.rb +1 -10
- data/app/models/user_action_observer.rb +5 -5
- data/app/views/admin/configuration/edit.html.haml +5 -5
- data/app/views/admin/configuration/show.html.haml +11 -11
- data/app/views/admin/extensions/index.html.haml +4 -4
- data/app/views/admin/layouts/_form.html.haml +6 -7
- data/app/views/admin/layouts/_popups.html.haml +4 -0
- data/app/views/admin/layouts/edit.html.haml +4 -2
- data/app/views/admin/layouts/new.html.haml +1 -1
- data/app/views/admin/layouts/remove.html.haml +3 -3
- data/app/views/admin/page_fields/_page_field.html.haml +3 -2
- data/app/views/admin/page_parts/_page_part.html.haml +4 -5
- data/app/views/admin/pages/_fields.html.haml +2 -3
- data/app/views/admin/pages/_meta_row.html.haml +2 -2
- data/app/views/admin/pages/_node.html.haml +4 -9
- data/app/views/admin/pages/_popups.html.haml +9 -5
- data/app/views/admin/pages/children.html.haml +5 -1
- data/app/views/admin/pages/edit.html.haml +1 -3
- data/app/views/admin/pages/index.html.haml +2 -2
- data/app/views/admin/pages/new.html.haml +2 -4
- data/app/views/admin/pages/remove.html.haml +8 -7
- data/app/views/admin/preferences/edit.html.haml +14 -14
- data/app/views/admin/references/_tag_reference.haml +1 -1
- data/app/views/admin/references/filters.haml +1 -1
- data/app/views/admin/references/tags.haml +9 -27
- data/app/views/admin/users/_avatar.html.haml +2 -2
- data/app/views/admin/users/_form.html.haml +16 -16
- data/app/views/admin/users/_password_fields.html.haml +3 -3
- data/app/views/admin/users/edit.html.haml +1 -1
- data/app/views/admin/users/new.html.haml +2 -2
- data/app/views/admin/users/remove.html.haml +4 -4
- data/app/views/admin/welcome/login.html.haml +6 -6
- data/app/views/layouts/application.html.haml +22 -11
- data/app/views/site/not_found.html.haml +1 -1
- data/app/views/site/show_page.html.haml +1 -0
- data/bin/ci/before_script +0 -5
- data/config.ru +4 -0
- data/config/application.rb +118 -108
- data/config/boot.rb +1 -1
- data/config/database.mysql.yml +3 -6
- data/config/environments/development.rb +17 -5
- data/config/environments/production.rb +20 -3
- data/config/environments/test.rb +17 -0
- data/config/initializers/active_record_extensions.rb +1 -1
- data/config/initializers/haml.rb +1 -1
- data/config/initializers/rails_patch.rb +1 -1
- data/config/initializers/secret_token.rb +7 -0
- data/config/initializers/string_extensions.rb +1 -1
- data/config/initializers/symbol_extensions.rb +1 -1
- data/config/initializers/{radiant_config.rb → trusty_cms_config.rb} +2 -2
- data/config/locales/en.yml +33 -33
- data/config/locales/en_available_tags.yml +62 -62
- data/config/routes.rb +18 -10
- data/db/migrate/001_create_radiant_tables.rb +3 -3
- data/db/migrate/002_insert_initial_data.rb +2 -2
- data/db/migrate/005_add_virtual_column_to_page.rb +1 -1
- data/db/migrate/006_integer_columns_to_boolean.rb +9 -9
- data/db/migrate/007_remove_virtual_column_from_page.rb +1 -1
- data/db/migrate/008_add_virtual_column_to_page_again.rb +1 -1
- data/db/migrate/010_merge_behaviors_and_pages.rb +6 -6
- data/db/migrate/014_rename_config_default_parts_key.rb +3 -3
- data/db/migrate/015_add_optimistic_locking.rb +2 -2
- data/db/migrate/020_add_session_info_to_users.rb +1 -1
- data/db/migrate/20081203140407_add_indexes.rb +2 -2
- data/db/migrate/20090226140109_add_user_language.rb +2 -2
- data/db/migrate/20100805155020_convert_page_metas.rb +1 -1
- data/db/migrate/20110902203823_add_allowed_children_cache_to_pages.rb +1 -1
- data/db/migrate/20111016150725_extend_page_part_content_limit.rb +1 -1
- data/db/migrate/20120209231801_change_pages_allowed_children_cache_to_text.rb +3 -4
- data/db/schema.rb +0 -6
- data/lib/active_record_extensions/active_record_extensions.rb +3 -3
- data/lib/annotatable.rb +3 -3
- data/lib/configuration_extensions/configuration_extensions.rb +7 -42
- data/lib/generators/extension/extension_generator.rb +11 -11
- data/lib/generators/extension/templates/README.md +1 -1
- data/lib/generators/extension/templates/cucumber.yml +1 -1
- data/lib/generators/extension/templates/cucumber_env.rb +2 -2
- data/lib/generators/extension/templates/cucumber_paths.rb +7 -7
- data/lib/generators/extension/templates/en.yml +1 -1
- data/lib/generators/extension/templates/functional_test.rb +3 -3
- data/lib/generators/extension/templates/migration.rb +4 -4
- data/lib/generators/extension/templates/routes.rb +1 -1
- data/lib/generators/extension/templates/spec_helper.rb +1 -1
- data/lib/generators/extension/templates/tasks.rake +5 -5
- data/lib/generators/extension/templates/test_helper.rb +5 -5
- data/lib/generators/extension_controller/extension_controller_generator.rb +11 -11
- data/lib/generators/extension_controller/templates/helper.rb +1 -1
- data/lib/generators/extension_controller/templates/helper_spec.rb +2 -2
- data/lib/generators/extension_controller/templates/view.html.erb +1 -1
- data/lib/generators/extension_controller/templates/view_spec.rb +1 -1
- data/lib/generators/extension_mailer/extension_mailer_generator.rb +10 -10
- data/lib/generators/extension_mailer/templates/mailer.rb +2 -2
- data/lib/generators/extension_migration/extension_migration_generator.rb +5 -5
- data/lib/generators/extension_model/extension_model_generator.rb +10 -10
- data/lib/generators/generator_base_extension.rb +1 -1
- data/lib/generators/instance/instance_generator.rb +14 -14
- data/lib/generators/instance/templates/databases/db2.yml +3 -3
- data/lib/generators/instance/templates/databases/mysql.yml +2 -2
- data/lib/generators/instance/templates/instance_boot.rb +4 -4
- data/lib/generators/instance/templates/instance_environment.rb +13 -3
- data/lib/generators/instance/templates/instance_radiant_config.rb +2 -2
- data/lib/generators/language_extension/language_extension_generator.rb +14 -14
- data/lib/generators/language_extension/templates/available_tags.yml +91 -91
- data/lib/generators/language_extension/templates/cucumber.yml +1 -1
- data/lib/generators/language_extension/templates/cucumber_env.rb +3 -3
- data/lib/generators/language_extension/templates/cucumber_paths.rb +4 -4
- data/lib/generators/language_extension/templates/extension.rb +1 -1
- data/lib/generators/language_extension/templates/functional_test.rb +3 -3
- data/lib/generators/language_extension/templates/lang.yml +39 -39
- data/lib/generators/language_extension/templates/spec_helper.rb +1 -1
- data/lib/generators/language_extension/templates/tasks.rake +3 -3
- data/lib/generators/language_extension/templates/test_helper.rb +5 -5
- data/lib/inheritable_class_attributes.rb +11 -11
- data/lib/local_time.rb +2 -2
- data/lib/login_system.rb +5 -6
- data/lib/method_observer.rb +9 -9
- data/lib/simpleton.rb +7 -7
- data/lib/string_extensions/string_extensions.rb +5 -5
- data/lib/symbol_extensions/symbol_extensions.rb +1 -1
- data/lib/tasks/database.rake +17 -20
- data/lib/tasks/extensions.rake +2 -2
- data/lib/tasks/framework.rake +13 -13
- data/lib/tasks/instance.rake +1 -1
- data/lib/tasks/radiant_config.rake +3 -3
- data/lib/tasks/translate.rake +10 -10
- data/lib/tasks/undefine.rake +1 -5
- data/lib/translation_support.rb +7 -7
- data/lib/trusty_cms.rb +1 -1
- data/lib/trusty_cms/admin_ui.rb +34 -34
- data/lib/trusty_cms/admin_ui/region_partials.rb +3 -3
- data/lib/trusty_cms/admin_ui/region_set.rb +5 -5
- data/lib/trusty_cms/available_locales.rb +1 -1
- data/lib/trusty_cms/config/definition.rb +21 -21
- data/lib/trusty_cms/engine.rb +4 -7
- data/lib/trusty_cms/extension.rb +15 -15
- data/lib/trusty_cms/extension/script.rb +7 -7
- data/lib/trusty_cms/extension_loader.rb +23 -11
- data/lib/trusty_cms/extension_migrator.rb +9 -9
- data/lib/trusty_cms/extension_path.rb +23 -23
- data/lib/trusty_cms/initializer.rb +33 -15
- data/lib/trusty_cms/pagination/link_renderer.rb +3 -3
- data/lib/trusty_cms/resource_responses.rb +15 -15
- data/lib/trusty_cms/setup.rb +35 -33
- data/lib/trusty_cms/taggable.rb +18 -18
- data/public/404.html +1 -1
- data/public/500.html +1 -1
- data/public/loading-iframe.html +1 -1
- data/public/robots.txt +1 -1
- data/script/rails +0 -0
- data/spec/features/admin_login_spec.rb +92 -0
- data/spec/features/config_spec.rb +34 -0
- data/spec/features/javascript_smoke_spec.rb +59 -0
- data/spec/features/layouts_spec.rb +49 -0
- data/spec/features/pages_spec.rb +55 -0
- data/spec/fixtures/users.yml +16 -0
- data/spec/helpers/regions_helper_spec.rb +16 -0
- data/spec/rails_helper.rb +74 -0
- data/spec/spec_helper.rb +78 -0
- data/spec/support/custom_actions.rb +9 -0
- data/trusty_cms.gemspec +22 -25
- metadata +393 -242
- checksums.yaml +0 -15
- data/config/compass.config +0 -15
- data/config/database.db2.yml +0 -20
- data/config/database.postgresql.yml +0 -25
- data/config/database.sqlite.yml +0 -16
- data/config/database.sqlserver.yml +0 -20
- data/config/initializers/object_extensions.rb +0 -1
- data/config/preinitializer.rb +0 -18
- data/lib/object_extensions/object_extensions.rb +0 -5
- data/lib/tasks/prototype.rake +0 -31
- data/lib/tasks/release.rake +0 -131
- data/lib/trusty_cms/cache.rb +0 -100
- data/public/javascripts/admin/application.js +0 -94
- data/public/javascripts/admin/codearea.js +0 -165
- data/public/javascripts/admin/controls.js +0 -965
- data/public/javascripts/admin/dateinput.js +0 -402
- data/public/javascripts/admin/dragdrop.js +0 -974
- data/public/javascripts/admin/dropdown.js +0 -216
- data/public/javascripts/admin/effects.js +0 -1122
- data/public/javascripts/admin/lowpro.js +0 -340
- data/public/javascripts/admin/overrides.js +0 -1
- data/public/javascripts/admin/page_preview.js +0 -41
- data/public/javascripts/admin/pagefield.js +0 -54
- data/public/javascripts/admin/pagestatus.js +0 -17
- data/public/javascripts/admin/popup.js +0 -339
- data/public/javascripts/admin/prototype.js +0 -4874
- data/public/javascripts/admin/ruledtable.js +0 -13
- data/public/javascripts/admin/shortcuts.js +0 -33
- data/public/javascripts/admin/sitemap.js +0 -149
- data/public/javascripts/admin/status.js +0 -233
- data/public/javascripts/admin/tabcontrol.js +0 -123
- data/public/javascripts/admin/toggle.js +0 -430
- data/public/javascripts/admin/utility.js +0 -53
- data/public/javascripts/admin/validationerror.js +0 -18
- data/public/stylesheets/sass/admin/_base.sass +0 -18
- data/public/stylesheets/sass/admin/main.sass +0 -27
- data/public/stylesheets/sass/admin/modules/_boxes.sass +0 -6
- data/public/stylesheets/sass/admin/modules/_gradients.sass +0 -4
- data/public/stylesheets/sass/admin/modules/_links.sass +0 -18
- data/public/stylesheets/sass/admin/overrides.sass +0 -2
- data/public/stylesheets/sass/admin/partials/_actions.sass +0 -96
- data/public/stylesheets/sass/admin/partials/_avatars.sass +0 -10
- data/public/stylesheets/sass/admin/partials/_content.sass +0 -58
- data/public/stylesheets/sass/admin/partials/_dateinput.sass +0 -62
- data/public/stylesheets/sass/admin/partials/_deprecated.sass +0 -55
- data/public/stylesheets/sass/admin/partials/_dropdown.sass +0 -28
- data/public/stylesheets/sass/admin/partials/_footer.sass +0 -12
- data/public/stylesheets/sass/admin/partials/_forms.sass +0 -322
- data/public/stylesheets/sass/admin/partials/_header.sass +0 -114
- data/public/stylesheets/sass/admin/partials/_index.sass +0 -147
- data/public/stylesheets/sass/admin/partials/_layout.sass +0 -10
- data/public/stylesheets/sass/admin/partials/_messages.sass +0 -10
- data/public/stylesheets/sass/admin/partials/_popup.sass +0 -213
- data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +0 -72
- data/public/stylesheets/sass/admin/partials/_toolbar.sass +0 -31
- data/public/stylesheets/sass/admin/partials/_typography.sass +0 -60
- data/public/stylesheets/sass/admin/partials/_validations.sass +0 -19
- data/rails/init.rb +0 -1
- data/script/about +0 -4
- data/script/breakpointer +0 -3
- data/script/console +0 -3
- data/script/dbconsole +0 -3
- data/script/destroy +0 -3
- data/script/generate +0 -3
- data/script/performance/benchmarker +0 -3
- data/script/performance/profiler +0 -3
- data/script/performance/request +0 -3
- data/script/plugin +0 -3
- data/script/process/inspector +0 -3
- data/script/process/reaper +0 -3
- data/script/process/spawner +0 -3
- data/script/process/spinner +0 -3
- data/script/runner +0 -3
- data/script/server +0 -3
- data/script/version +0 -5
- data/spec/ci/database.postgresql.yml +0 -4
- data/spec/ci/database.sqlite.yml +0 -3
@@ -0,0 +1,51 @@
|
|
1
|
+
(function(PageEdit, $) {
|
2
|
+
PageEdit.addPart = function (form) {
|
3
|
+
if (PageEdit.validPartName()) {
|
4
|
+
PageEdit.partLoading();
|
5
|
+
$.post(
|
6
|
+
$(form).attr('action'),
|
7
|
+
$(form).serialize(),
|
8
|
+
function(data) {
|
9
|
+
$('#tab_control .pages').append(data);
|
10
|
+
PageEdit.partAdded();
|
11
|
+
}
|
12
|
+
)
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
PageEdit.partAdded = function (tabId) {
|
17
|
+
$('#add_part_busy').hide();
|
18
|
+
$('#add_part_button').attr('disabled', false);
|
19
|
+
Popup.close();
|
20
|
+
$('#part_name_field').val('');
|
21
|
+
TabControl.updateTabsBasedOnPages();
|
22
|
+
TabControl.selectTab($('div#tab_control .tabs .tab').last().attr('id'));
|
23
|
+
}
|
24
|
+
|
25
|
+
PageEdit.partLoading = function () {
|
26
|
+
$('#add_part_button').attr('disabled', true);
|
27
|
+
$('#add_part_busy').show();
|
28
|
+
}
|
29
|
+
|
30
|
+
PageEdit.validPartName = function () {
|
31
|
+
var partNameField = $('#part_name_field');
|
32
|
+
var name = partNameField.val().toLowerCase();
|
33
|
+
if (name === '') {
|
34
|
+
alert('Part name cannot be empty.');
|
35
|
+
return false;
|
36
|
+
}
|
37
|
+
if ($('#tab_' + name).length > 0) {
|
38
|
+
alert('Part name must be unique.');
|
39
|
+
return false;
|
40
|
+
}
|
41
|
+
return true;
|
42
|
+
}
|
43
|
+
|
44
|
+
}(window.PageEdit = window.PageEdit || {}, jQuery));
|
45
|
+
|
46
|
+
$(function () {
|
47
|
+
$('#new_page_part').submit(function(event) {
|
48
|
+
event.preventDefault();
|
49
|
+
PageEdit.addPart(this);
|
50
|
+
});
|
51
|
+
});
|
@@ -0,0 +1,35 @@
|
|
1
|
+
PageFields = {
|
2
|
+
attachEvents: function() {
|
3
|
+
|
4
|
+
$('#add_page_field_button').click(function(e){
|
5
|
+
e.preventDefault();
|
6
|
+
$.ajax({
|
7
|
+
method: 'post',
|
8
|
+
url: '/admin/page_fields/',
|
9
|
+
data: $('#new_page_field').serialize(),
|
10
|
+
success: function(data, textStatus, jqXHR) {
|
11
|
+
PageFields.updateFields(data);
|
12
|
+
}
|
13
|
+
});
|
14
|
+
});
|
15
|
+
|
16
|
+
$('.remove_field').click(function(e){
|
17
|
+
e.preventDefault();
|
18
|
+
var row = $(this).closest('tr');
|
19
|
+
row.find(".delete_input").val(true);
|
20
|
+
row.find(".page_field_name").val('');
|
21
|
+
row.hide();
|
22
|
+
});
|
23
|
+
|
24
|
+
},
|
25
|
+
updateFields: function(element) {
|
26
|
+
$('.fieldset tr:last').after(element);
|
27
|
+
Popup.close();
|
28
|
+
$('#new_page_field').trigger('reset');
|
29
|
+
PageFields.attachEvents();
|
30
|
+
}
|
31
|
+
};
|
32
|
+
|
33
|
+
$(function() {
|
34
|
+
PageFields.attachEvents();
|
35
|
+
});
|
@@ -0,0 +1,31 @@
|
|
1
|
+
(function(){if(window.google&&google.gears){return;}
|
2
|
+
var F=null;if(typeof GearsFactory!='undefined'){F=new GearsFactory();}else{try{F=new ActiveXObject('Gears.Factory');if(F.getBuildInfo().indexOf('ie_mobile')!=-1){F.privateSetGlobalObject(this);}}catch(e){if((typeof navigator.mimeTypes!='undefined')&&navigator.mimeTypes["application/x-googlegears"]){F=document.createElement("object");F.style.display="none";F.width=0;F.height=0;F.type="application/x-googlegears";document.documentElement.appendChild(F);}}}
|
3
|
+
if(!F){return;}
|
4
|
+
if(!window.google){google={};}
|
5
|
+
if(!google.gears){google.gears={factory:F};}})();Persist=(function(){var VERSION='0.3.1',P,B,esc,init,empty,ec;ec=(function(){var EPOCH='Thu, 01-Jan-1970 00:00:01 GMT',RATIO=1000*60*60*24,KEYS=['expires','path','domain'],esc=escape,un=unescape,doc=document,me;var get_now=function(){var r=new Date();r.setTime(r.getTime());return r;};var cookify=function(c_key,c_val){var i,key,val,r=[],opt=(arguments.length>2)?arguments[2]:{};r.push(esc(c_key)+'='+esc(c_val));for(var idx=0;idx<KEYS.length;idx++){key=KEYS[idx];val=opt[key];if(val){r.push(key+'='+val);}}
|
6
|
+
if(opt.secure){r.push('secure');}
|
7
|
+
return r.join('; ');};var alive=function(){var k='__EC_TEST__',v=new Date();v=v.toGMTString();this.set(k,v);this.enabled=(this.remove(k)==v);return this.enabled;};me={set:function(key,val){var opt=(arguments.length>2)?arguments[2]:{},now=get_now(),expire_at,cfg={};if(opt.expires){var expires=opt.expires*RATIO;cfg.expires=new Date(now.getTime()+expires);cfg.expires=cfg.expires.toGMTString();}
|
8
|
+
var keys=['path','domain','secure'];for(var i=0;i<keys.length;i++){if(opt[keys[i]]){cfg[keys[i]]=opt[keys[i]];}}
|
9
|
+
var r=cookify(key,val,cfg);doc.cookie=r;return val;},has:function(key){key=esc(key);var c=doc.cookie,ofs=c.indexOf(key+'='),len=ofs+key.length+1,sub=c.substring(0,key.length);return((!ofs&&key!=sub)||ofs<0)?false:true;},get:function(key){key=esc(key);var c=doc.cookie,ofs=c.indexOf(key+'='),len=ofs+key.length+1,sub=c.substring(0,key.length),end;if((!ofs&&key!=sub)||ofs<0){return null;}
|
10
|
+
end=c.indexOf(';',len);if(end<0){end=c.length;}
|
11
|
+
return un(c.substring(len,end));},remove:function(k){var r=me.get(k),opt={expires:EPOCH};doc.cookie=cookify(k,'',opt);return r;},keys:function(){var c=doc.cookie,ps=c.split('; '),i,p,r=[];for(var idx=0;idx<ps.length;idx++){p=ps[idx].split('=');r.push(un(p[0]));}
|
12
|
+
return r;},all:function(){var c=doc.cookie,ps=c.split('; '),i,p,r=[];for(var idx=0;idx<ps.length;idx++){p=ps[idx].split('=');r.push([un(p[0]),un(p[1])]);}
|
13
|
+
return r;},version:'0.2.1',enabled:false};me.enabled=alive.call(me);return me;}());var index_of=(function(){if(Array.prototype.indexOf){return function(ary,val){return Array.prototype.indexOf.call(ary,val);};}else{return function(ary,val){var i,l;for(var idx=0,len=ary.length;idx<len;idx++){if(ary[idx]==val){return idx;}}
|
14
|
+
return-1;};}})();empty=function(){};esc=function(str){return'PS'+str.replace(/_/g,'__').replace(/ /g,'_s');};var C={search_order:['localstorage','globalstorage','gears','cookie','ie','flash'],name_re:/^[a-z][a-z0-9_ \-]+$/i,methods:['init','get','set','remove','load','save','iterate'],sql:{version:'1',create:"CREATE TABLE IF NOT EXISTS persist_data (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)",get:"SELECT v FROM persist_data WHERE k = ?",set:"INSERT INTO persist_data(k, v) VALUES (?, ?)",remove:"DELETE FROM persist_data WHERE k = ?",keys:"SELECT * FROM persist_data"},flash:{div_id:'_persist_flash_wrap',id:'_persist_flash',path:'persist.swf',size:{w:1,h:1},params:{autostart:true}}};B={gears:{size:-1,test:function(){return(window.google&&window.google.gears)?true:false;},methods:{init:function(){var db;db=this.db=google.gears.factory.create('beta.database');db.open(esc(this.name));db.execute(C.sql.create).close();},get:function(key){var r,sql=C.sql.get;var db=this.db;var ret;db.execute('BEGIN').close();r=db.execute(sql,[key]);ret=r.isValidRow()?r.field(0):null;r.close();db.execute('COMMIT').close();return ret;},set:function(key,val){var rm_sql=C.sql.remove,sql=C.sql.set,r;var db=this.db;var ret;db.execute('BEGIN').close();db.execute(rm_sql,[key]).close();db.execute(sql,[key,val]).close();db.execute('COMMIT').close();return val;},remove:function(key){var get_sql=C.sql.get,sql=C.sql.remove,r,val=null,is_valid=false;var db=this.db;db.execute('BEGIN').close();db.execute(sql,[key]).close();db.execute('COMMIT').close();return true;},iterate:function(fn,scope){var key_sql=C.sql.keys;var r;var db=this.db;r=db.execute(key_sql);while(r.isValidRow()){fn.call(scope||this,r.field(0),r.field(1));r.next();}
|
15
|
+
r.close();}}},globalstorage:{size:5*1024*1024,test:function(){if(window.globalStorage){var domain='127.0.0.1';if(this.o&&this.o.domain){domain=this.o.domain;}
|
16
|
+
try{var dontcare=globalStorage[domain];return true;}catch(e){if(window.console&&window.console.warn){console.warn("globalStorage exists, but couldn't use it because your browser is running on domain:",domain);}
|
17
|
+
return false;}}else{return false;}},methods:{key:function(key){return esc(this.name)+esc(key);},init:function(){this.store=globalStorage[this.o.domain];},get:function(key){key=this.key(key);return this.store.getItem(key);},set:function(key,val){key=this.key(key);this.store.setItem(key,val);return val;},remove:function(key){var val;key=this.key(key);val=this.store.getItem[key];this.store.removeItem(key);return val;}}},localstorage:{size:-1,test:function(){try{if(window.localStorage&&window.localStorage.setItem("test",null)==undefined){if(/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){var ffVersion=RegExp.$1;if(ffVersion>=9){return true;}
|
18
|
+
if(window.location.protocol=='file:'){return false;}}else{return true;}}else{return false;}
|
19
|
+
return window.localStorage?true:false;}catch(e){return false;}},methods:{key:function(key){return this.name+'>'+key;},init:function(){this.store=localStorage;},get:function(key){key=this.key(key);return this.store.getItem(key);},set:function(key,val){key=this.key(key);this.store.setItem(key,val);return val;},remove:function(key){var val;key=this.key(key);val=this.store.getItem(key);this.store.removeItem(key);return val;},iterate:function(fn,scope){var l=this.store,key,keys;for(var i=0;i<l.length;i++){key=l.key(i);keys=key.split('>');if((keys.length==2)&&(keys[0]==this.name)){fn.call(scope||this,keys[1],l.getItem(key));}}}}},ie:{prefix:'_persist_data-',size:64*1024,test:function(){return window.ActiveXObject?true:false;},make_userdata:function(id){var el=document.createElement('div');el.id=id;el.style.display='none';el.addBehavior('#default#userdata');document.body.appendChild(el);return el;},methods:{init:function(){var id=B.ie.prefix+esc(this.name);this.el=B.ie.make_userdata(id);if(this.o.defer){this.load();}},get:function(key){var val;key=esc(key);if(!this.o.defer){this.load();}
|
20
|
+
val=this.el.getAttribute(key);return val;},set:function(key,val){key=esc(key);this.el.setAttribute(key,val);if(!this.o.defer){this.save();}
|
21
|
+
return val;},remove:function(key){var val;key=esc(key);if(!this.o.defer){this.load();}
|
22
|
+
val=this.el.getAttribute(key);this.el.removeAttribute(key);if(!this.o.defer){this.save();}
|
23
|
+
return val;},load:function(){this.el.load(esc(this.name));},save:function(){this.el.save(esc(this.name));}}},cookie:{delim:':',size:4000,test:function(){return P.Cookie.enabled?true:false;},methods:{key:function(key){return this.name+B.cookie.delim+key;},get:function(key,fn){var val;key=this.key(key);val=ec.get(key);return val;},set:function(key,val,fn){key=this.key(key);ec.set(key,val,this.o);return val;},remove:function(key,val){var val;key=this.key(key);val=ec.remove(key);return val;}}},flash:{test:function(){try{if(!swfobject){return false;}}catch(e){return false;}
|
24
|
+
var major=swfobject.getFlashPlayerVersion().major;return(major>=8)?true:false;},methods:{init:function(){if(!B.flash.el){var key,el,fel,cfg=C.flash;el=document.createElement('div');el.id=cfg.div_id;fel=document.createElement('div');fel.id=cfg.id;el.appendChild(fel);document.body.appendChild(el);B.flash.el=swfobject.createSWF({id:cfg.id,data:this.o.swf_path||cfg.path,width:cfg.size.w,height:cfg.size.h},cfg.params,cfg.id);}
|
25
|
+
this.el=B.flash.el;},get:function(key){var val;key=esc(key);val=this.el.get(this.name,key);return val;},set:function(key,val){var old_val;key=esc(key);old_val=this.el.set(this.name,key,val);return old_val;},remove:function(key){var val;key=esc(key);val=this.el.remove(this.name,key);return val;}}}};init=function(){var i,l,b,key,fns=C.methods,keys=C.search_order;for(var idx=0,len=fns.length;idx<len;idx++){P.Store.prototype[fns[idx]]=empty;}
|
26
|
+
P.type=null;P.size=-1;for(var idx2=0,len2=keys.length;!P.type&&idx2<len2;idx2++){b=B[keys[idx2]];if(b.test()){P.type=keys[idx2];P.size=b.size;for(key in b.methods){P.Store.prototype[key]=b.methods[key];}}}
|
27
|
+
P._init=true;};P={VERSION:VERSION,type:null,size:0,add:function(o){B[o.id]=o;C.search_order=[o.id].concat(C.search_order);init();},remove:function(id){var ofs=index_of(C.search_order,id);if(ofs<0){return;}
|
28
|
+
C.search_order.splice(ofs,1);delete B[id];init();},Cookie:ec,Store:function(name,o){if(!C.name_re.exec(name)){throw new Error("Invalid name");}
|
29
|
+
if(!P.type){throw new Error("No suitable storage found");}
|
30
|
+
o=o||{};this.name=name;o.domain=o.domain||location.hostname||'localhost';o.domain=o.domain.replace(/:\d+$/,'');o.domain=(o.domain=='localhost')?'':o.domain;this.o=o;o.expires=o.expires||365*2;o.path=o.path||'/';if(this.o.search_order){C.search_order=this.o.search_order;init();}
|
31
|
+
this.init();}};init();return P;})();
|
@@ -0,0 +1,40 @@
|
|
1
|
+
(function(Popup, $) {
|
2
|
+
Popup.setup = function(link) {
|
3
|
+
$(link).on('click', function(event){
|
4
|
+
event.preventDefault();
|
5
|
+
var href = $(link).attr('href');
|
6
|
+
var match = href.match(/\#(.+)$/);
|
7
|
+
Popup.show(match[1]);
|
8
|
+
});
|
9
|
+
}
|
10
|
+
|
11
|
+
Popup.show = function(popupId) {
|
12
|
+
$('#popups').append($('#popup_window .content .popup').detach());
|
13
|
+
$('#popup_window .content').append($('#' + popupId).detach());
|
14
|
+
|
15
|
+
var popup_window = $('#popup_window').detach();
|
16
|
+
$('body').prepend(popup_window);
|
17
|
+
|
18
|
+
$('#popup_window').show();
|
19
|
+
$('#popup_window #' + popupId).show();
|
20
|
+
|
21
|
+
var l = parseInt($(window).scrollLeft() + ($(window).width() - $('#popup_window').width()) / 2) + 'px';
|
22
|
+
var t = parseInt($(window).scrollTop() + ($(window).height() - $('#popup_window').height()) / 2.2) + 'px';
|
23
|
+
|
24
|
+
$("#popup_window").css('left', l);
|
25
|
+
$("#popup_window").css('top', t);
|
26
|
+
$("#popup_window form input[type='text']:first").focus();
|
27
|
+
}
|
28
|
+
|
29
|
+
Popup.close = function() {
|
30
|
+
$('#popup_window').hide();
|
31
|
+
$('div.popup').hide();
|
32
|
+
}
|
33
|
+
|
34
|
+
}(window.Popup = window.Popup || {}, jQuery));
|
35
|
+
|
36
|
+
$(function () {
|
37
|
+
$('a.popup').each(function(){
|
38
|
+
Popup.setup(this);
|
39
|
+
});
|
40
|
+
});
|
@@ -0,0 +1,40 @@
|
|
1
|
+
(function(Preview, $) {
|
2
|
+
Preview.showPreview = function(form){
|
3
|
+
var oldTarget = form.target;
|
4
|
+
var oldAction = form.action;
|
5
|
+
|
6
|
+
var $previewer = $('#preview_panel');
|
7
|
+
var $preview_tools = $previewer.find('.preview_tools');
|
8
|
+
var $frame = $('#page-preview');
|
9
|
+
|
10
|
+
$(window).scrollTop(0);
|
11
|
+
$previewer.show();
|
12
|
+
$preview_tools.css('opacity', 1);
|
13
|
+
$('body').addClass('clipped');
|
14
|
+
form.target = $frame.attr('id');
|
15
|
+
form.action = relative_url_root + '/admin/preview';
|
16
|
+
form.submit();
|
17
|
+
|
18
|
+
form.target = oldTarget;
|
19
|
+
form.action = oldAction;
|
20
|
+
}
|
21
|
+
|
22
|
+
}(window.Preview = window.Preview || {}, jQuery));
|
23
|
+
|
24
|
+
$(function () {
|
25
|
+
$('#show-preview').on('click', function(event){
|
26
|
+
event.preventDefault();
|
27
|
+
Preview.showPreview(this.form);
|
28
|
+
});
|
29
|
+
|
30
|
+
$('.preview_tools a.cancel').on('click', function(event){
|
31
|
+
event.preventDefault();
|
32
|
+
$('#preview_panel').hide();
|
33
|
+
$('body').removeClass('clipped');
|
34
|
+
$('#page-preview').attr('src', '');
|
35
|
+
});
|
36
|
+
|
37
|
+
$('iframe').on('load', function(event){
|
38
|
+
$('#preview_panel .preview_tools').css('opacity', null);
|
39
|
+
});
|
40
|
+
});
|
@@ -0,0 +1,81 @@
|
|
1
|
+
(function(TabControl, $) {
|
2
|
+
TabControl.setupTabs = function() {
|
3
|
+
var $pages = $('div#tab_control .pages .page');
|
4
|
+
|
5
|
+
if($pages.length > 0) {
|
6
|
+
TabControl.updateTabsBasedOnPages();
|
7
|
+
|
8
|
+
$('div#tab_control .tabs').on('click', '.tab', function(event) {
|
9
|
+
event.preventDefault();
|
10
|
+
TabControl.selectTab($(this).attr('id'));
|
11
|
+
});
|
12
|
+
|
13
|
+
$('div#tab_control .tabs').on('click', '.tab .close', function(event) {
|
14
|
+
event.stopPropagation();
|
15
|
+
TabControl.removeTab($(this).closest('.tab').attr('id'));
|
16
|
+
});
|
17
|
+
|
18
|
+
TabControl.selectTab($pages.first().attr('id'));
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
TabControl.addTab = function(tabText) {
|
23
|
+
$('div#tab_control .tabs').append("<a id='tab_" + tabText + "' href='#' class='tab'><span>" + tabText + "</span><img src='" + relative_url_root + "<%= asset_path('admin/tab_close.png') %>' class='close' alt='Remove part' title='Remove part' /></a>");
|
24
|
+
var $page_part_index = $('#page_part_index_field');
|
25
|
+
$page_part_index.val(parseInt($page_part_index.val()) + 1);
|
26
|
+
}
|
27
|
+
|
28
|
+
TabControl.selectTab = function(id) {
|
29
|
+
id = id.replace(/^tab_/, '').replace(/^page_/, '');
|
30
|
+
var $pages = $('div#tab_control .pages .page');
|
31
|
+
var $tabs = $('div#tab_control .tabs .tab');
|
32
|
+
|
33
|
+
$pages.hide();
|
34
|
+
$tabs.removeClass('here');
|
35
|
+
|
36
|
+
$pages.filter('#page_' + id).show();
|
37
|
+
$tabs.filter('#tab_' + id).addClass('here');
|
38
|
+
}
|
39
|
+
|
40
|
+
TabControl.removeTab = function(id) {
|
41
|
+
id = id.replace(/^tab_/, '').replace(/^page_/, '');
|
42
|
+
if(confirm('Remove the "' + id + '" part?')) {
|
43
|
+
var $pages = $('div#tab_control .pages .page');
|
44
|
+
var $tabs = $('div#tab_control .tabs .tab');
|
45
|
+
|
46
|
+
var $tab = $tabs.filter('#tab_' + id);
|
47
|
+
if($tab.hasClass('here')) {
|
48
|
+
var $prevTab = $tab.prev('.tab');
|
49
|
+
var $nextTab = $tab.next('.tab');
|
50
|
+
if($prevTab.length > 0) {
|
51
|
+
TabControl.selectTab($prevTab.attr('id'));
|
52
|
+
} else if($nextTab.length > 0) {
|
53
|
+
TabControl.selectTab($nextTab.attr('id'));
|
54
|
+
}
|
55
|
+
}
|
56
|
+
$tab.remove();
|
57
|
+
|
58
|
+
$page = $pages.filter('#page_' + id);
|
59
|
+
var idInput = $page.find('.id_input');
|
60
|
+
var deleteInput = $page.find('.delete_input');
|
61
|
+
deleteInput.attr('value', 'true');
|
62
|
+
$('div#tab_control').append(idInput).append(deleteInput);
|
63
|
+
$page.remove();
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
67
|
+
TabControl.updateTabsBasedOnPages = function() {
|
68
|
+
var $pages = $('div#tab_control .pages .page');
|
69
|
+
$pages.each(function(page) {
|
70
|
+
var tabName = $(this).data('caption');
|
71
|
+
if($('div#tab_control .tabs #tab_' + tabName).length == 0) {
|
72
|
+
TabControl.addTab($(this).data('caption'));
|
73
|
+
}
|
74
|
+
});
|
75
|
+
}
|
76
|
+
|
77
|
+
}(window.TabControl = window.TabControl || {}, jQuery));
|
78
|
+
|
79
|
+
$(function () {
|
80
|
+
TabControl.setupTabs();
|
81
|
+
});
|
@@ -0,0 +1,41 @@
|
|
1
|
+
$(function(){
|
2
|
+
$('#tag_reference').click(function(event){
|
3
|
+
event.preventDefault();
|
4
|
+
var href = $(this).attr('href');
|
5
|
+
$.ajax({
|
6
|
+
url: href,
|
7
|
+
type: "GET",
|
8
|
+
dataType: "html",
|
9
|
+
success: function(data, textStatus, xhr){
|
10
|
+
$('#popups').append(data);
|
11
|
+
Popup.show('tag_reference_popup');
|
12
|
+
$('#filter').keyup(function(){
|
13
|
+
|
14
|
+
// Retrieve the input field text and reset the count to zero
|
15
|
+
var filter = $(this).val(), count = 0;
|
16
|
+
|
17
|
+
// Loop through the tag list
|
18
|
+
$(".tag_description").each(function(){
|
19
|
+
|
20
|
+
// If the list item does not contain the text phrase fade it out
|
21
|
+
if ($(this).text().search(new RegExp(filter, "i")) < 0) {
|
22
|
+
$(this).fadeOut();
|
23
|
+
|
24
|
+
// Show the list item if the phrase matches and increase the count by 1
|
25
|
+
} else {
|
26
|
+
$(this).show();
|
27
|
+
count++;
|
28
|
+
}
|
29
|
+
});
|
30
|
+
|
31
|
+
// Update the count
|
32
|
+
$("#filter-count").text("Found "+count+" Tags").css("background-color","yellow");
|
33
|
+
});
|
34
|
+
$('.close_link').click(function(){
|
35
|
+
Popup.close();
|
36
|
+
$('#tag_reference_popup').remove();
|
37
|
+
});
|
38
|
+
}
|
39
|
+
});
|
40
|
+
});
|
41
|
+
});
|
@@ -0,0 +1,50 @@
|
|
1
|
+
|
2
|
+
$(function() {
|
3
|
+
var persistStore = new Persist.Store("Trusty CMS");
|
4
|
+
var needToExpand = [];
|
5
|
+
$("#pages").treetable({
|
6
|
+
expandable: true,
|
7
|
+
initialState: "collapsed",
|
8
|
+
onNodeCollapse: function() {
|
9
|
+
var node = this;
|
10
|
+
persistStore.remove(node.id);
|
11
|
+
$("#pages").treetable("unloadBranch", this);
|
12
|
+
},
|
13
|
+
onInitialized: function() {
|
14
|
+
var length = needToExpand.length;
|
15
|
+
for (var i = 0; i < length; i++)
|
16
|
+
$("#pages").treetable("expandNode", needToExpand[i]);
|
17
|
+
},
|
18
|
+
onNodeInitialized: function() {
|
19
|
+
var node = this;
|
20
|
+
var state = persistStore.get(node.id);
|
21
|
+
if (state) {
|
22
|
+
needToExpand.push(node.id);
|
23
|
+
}
|
24
|
+
|
25
|
+
},
|
26
|
+
onNodeExpand: function() {
|
27
|
+
var node = this;
|
28
|
+
persistStore.set(node.id, 'expanded');
|
29
|
+
// Render loader/spinner while loading
|
30
|
+
$.ajax({
|
31
|
+
async: false, // Must be false, otherwise loadBranch happens after showChildren?
|
32
|
+
url: "/admin/pages/" + node.row.data('ttPageId') + "/children?index=" + node.id
|
33
|
+
}).done(function(html) {
|
34
|
+
var rows = $(html).filter("tr");
|
35
|
+
|
36
|
+
|
37
|
+
$("#pages").treetable("loadBranch", node, rows);
|
38
|
+
$.each(node.children, function() {
|
39
|
+
var state = persistStore.get(this.id);
|
40
|
+
if (state) {
|
41
|
+
$("#pages").treetable("expandNode", this.id);
|
42
|
+
}
|
43
|
+
});
|
44
|
+
$('a.dropdown').each(function(){
|
45
|
+
Dropdown.setup(this);
|
46
|
+
});
|
47
|
+
});
|
48
|
+
}
|
49
|
+
});
|
50
|
+
});
|
@@ -0,0 +1,21 @@
|
|
1
|
+
$(function () {
|
2
|
+
$(".user_form").validate({
|
3
|
+
|
4
|
+
// Specify the validation rules
|
5
|
+
rules: {
|
6
|
+
"user[name]": {required: true},
|
7
|
+
"user[login]": "required",
|
8
|
+
"user[email]": {
|
9
|
+
email: true
|
10
|
+
},
|
11
|
+
"user[password]": {
|
12
|
+
required: true,
|
13
|
+
minlength: 5
|
14
|
+
},
|
15
|
+
"user[password_confirmation]": {
|
16
|
+
required: true,
|
17
|
+
equalTo: "#user_password"
|
18
|
+
}
|
19
|
+
}
|
20
|
+
});
|
21
|
+
});
|
@@ -0,0 +1,10 @@
|
|
1
|
+
CKEDITOR.editorConfig = function( config ) {
|
2
|
+
config.allowedContent = true;
|
3
|
+
config.removeFormatTags = "";
|
4
|
+
config.protectedSource.push(/<r:([\S]+)*>.*<\/r:\1>/g);
|
5
|
+
config.protectedSource.push(/<r:[^>\/]*\/>/g);
|
6
|
+
config.forcePasteAsPlainText = true;
|
7
|
+
// if you want to remove clipboard, you have to remove all of these:
|
8
|
+
// clipboard, pastetext, pastefromword
|
9
|
+
config.removePlugins = "save, newpage, preview, print, templates, forms, flash, smiley, language, pagebreak, iframe, bidi";
|
10
|
+
};
|
File without changes
|
@@ -0,0 +1,40 @@
|
|
1
|
+
Removed Features
|
2
|
+
===============
|
3
|
+
|
4
|
+
* Fade in/fade out on drag/drop
|
5
|
+
* Transparency while dragging
|
6
|
+
* Dropdown slide down/up
|
7
|
+
* Ability to drag/drop popups
|
8
|
+
* Shortcut keys
|
9
|
+
* s to save
|
10
|
+
* [ and ] to move between tabs
|
11
|
+
* 1-9 to select tabs by number
|
12
|
+
* Support for tabs in textareas
|
13
|
+
* Tag search in available tags reference
|
14
|
+
* Pretty popups
|
15
|
+
* form activate - focus fields
|
16
|
+
|
17
|
+
TODO
|
18
|
+
====
|
19
|
+
|
20
|
+
* Page field addition/removal, make pagefield.js more like page-edit.js
|
21
|
+
* Published at field datepicker
|
22
|
+
* Validation errors that are in context and can be dismissed
|
23
|
+
* (ajax spinner) Onsubmit statuses
|
24
|
+
|
25
|
+
* When page status is set to Scheduled, Published, or Hidden (>=90), show the published_at field. Otherwise, hide the published_at field.
|
26
|
+
* Get page_edit_javascripts and layout_edit_javascripts out of ruby
|
27
|
+
* Reimplement any undefined utility function calls
|
28
|
+
* (docs) Load tag reference - "Available Tags" link
|
29
|
+
* (docs) Filter reference - I don't know what this is supposed to do, when I click it on radiant's demo it says "no documentation for filter".
|
30
|
+
|
31
|
+
Might work
|
32
|
+
==========
|
33
|
+
|
34
|
+
* pagefield.js
|
35
|
+
* Cookie
|
36
|
+
|
37
|
+
Notes
|
38
|
+
=====
|
39
|
+
|
40
|
+
* Sitemap only looks to be used on the table on the remove page, but it doesn't seem to have any effect. It looks like you used to be able to toggle things expanded or collapsed.
|