qbrick 2.5.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +423 -0
- data/Rakefile +82 -0
- data/app/assets/javascripts/ckeditor/plugins/adv_link/LICENSE.txt +674 -0
- data/app/assets/javascripts/ckeditor/plugins/adv_link/README.md +62 -0
- data/app/assets/javascripts/ckeditor/plugins/adv_link/dialogs/anchor.js.coffee +81 -0
- data/app/assets/javascripts/ckeditor/plugins/adv_link/dialogs/link.js.coffee +1353 -0
- data/app/assets/javascripts/ckeditor/plugins/adv_link/images/anchor.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/adv_link/images/hidpi/anchor.png +0 -0
- data/app/assets/javascripts/ckeditor/plugins/adv_link/lang/de.js +68 -0
- data/app/assets/javascripts/ckeditor/plugins/adv_link/lang/en.js +68 -0
- data/app/assets/javascripts/ckeditor/plugins/adv_link/plugin.js.coffee +282 -0
- data/app/assets/javascripts/kuhsaft/application.js.coffee +7 -0
- data/app/assets/javascripts/kuhsaft/cms/application.js.coffee.erb +136 -0
- data/app/assets/javascripts/kuhsaft/views/read_more_view.js.coffee +17 -0
- data/app/assets/stylesheets/kuhsaft/application.css.sass +1 -0
- data/app/assets/stylesheets/kuhsaft/cms/application.css.sass +204 -0
- data/app/assets/stylesheets/kuhsaft/modules/_text_brick.css.sass +16 -0
- data/app/controllers/kuhsaft/api/pages_controller.rb +14 -0
- data/app/controllers/kuhsaft/cms/admin_controller.rb +18 -0
- data/app/controllers/kuhsaft/cms/assets_controller.rb +38 -0
- data/app/controllers/kuhsaft/cms/bricks_controller.rb +61 -0
- data/app/controllers/kuhsaft/cms/ckimages_controller.rb +26 -0
- data/app/controllers/kuhsaft/cms/pages_controller.rb +71 -0
- data/app/controllers/kuhsaft/pages_controller.rb +38 -0
- data/app/controllers/kuhsaft/sitemaps_controller.rb +12 -0
- data/app/helpers/cms_helper.rb +27 -0
- data/app/helpers/kuhsaft/admin_helper.rb +20 -0
- data/app/helpers/kuhsaft/cms/admin_helper.rb +21 -0
- data/app/helpers/kuhsaft/cms/pages_helper.rb +17 -0
- data/app/helpers/pages_helper.rb +49 -0
- data/app/helpers/sitemaps_helper.rb +12 -0
- data/app/models/kuhsaft/accordion_brick.rb +15 -0
- data/app/models/kuhsaft/accordion_item_brick.rb +21 -0
- data/app/models/kuhsaft/anchor_brick.rb +17 -0
- data/app/models/kuhsaft/asset.rb +29 -0
- data/app/models/kuhsaft/asset_brick.rb +26 -0
- data/app/models/kuhsaft/brick.rb +137 -0
- data/app/models/kuhsaft/brick_type.rb +7 -0
- data/app/models/kuhsaft/brick_type_filter.rb +18 -0
- data/app/models/kuhsaft/ckimage.rb +5 -0
- data/app/models/kuhsaft/cms.rb +7 -0
- data/app/models/kuhsaft/column_brick.rb +22 -0
- data/app/models/kuhsaft/image_brick.rb +16 -0
- data/app/models/kuhsaft/image_size.rb +51 -0
- data/app/models/kuhsaft/link_brick.rb +21 -0
- data/app/models/kuhsaft/page.rb +160 -0
- data/app/models/kuhsaft/page_type.rb +11 -0
- data/app/models/kuhsaft/partition.rb +18 -0
- data/app/models/kuhsaft/placeholder_brick.rb +23 -0
- data/app/models/kuhsaft/publish_state.rb +24 -0
- data/app/models/kuhsaft/slider_brick.rb +18 -0
- data/app/models/kuhsaft/text_brick.rb +23 -0
- data/app/models/kuhsaft/two_column_brick.rb +46 -0
- data/app/models/kuhsaft/video_brick.rb +22 -0
- data/app/uploaders/kuhsaft/asset_brick_asset_uploader.rb +43 -0
- data/app/uploaders/kuhsaft/asset_uploader.rb +50 -0
- data/app/uploaders/kuhsaft/ckimage_uploader.rb +16 -0
- data/app/uploaders/kuhsaft/image_brick_image_uploader.rb +35 -0
- data/app/views/kuhsaft/accordion_bricks/_accordion_brick.html.haml +3 -0
- data/app/views/kuhsaft/accordion_bricks/accordion_brick/_edit.html.haml +0 -0
- data/app/views/kuhsaft/accordion_item_bricks/_accordion_item_brick.html.haml +8 -0
- data/app/views/kuhsaft/accordion_item_bricks/accordion_item_brick/_edit.html.haml +1 -0
- data/app/views/kuhsaft/anchor_bricks/_anchor_brick.html.haml +1 -0
- data/app/views/kuhsaft/anchor_bricks/anchor_brick/_edit.html.haml +1 -0
- data/app/views/kuhsaft/asset_bricks/_asset_brick.html.haml +2 -0
- data/app/views/kuhsaft/asset_bricks/asset_brick/_edit.html.haml +8 -0
- data/app/views/kuhsaft/cms/admin/_brick_type_dropdown.html.haml +14 -0
- data/app/views/kuhsaft/cms/admin/_content_language_switch.html.haml +7 -0
- data/app/views/kuhsaft/cms/admin/_empty_state.html.haml +5 -0
- data/app/views/kuhsaft/cms/admin/_flash.html.haml +7 -0
- data/app/views/kuhsaft/cms/admin/_main_navigation.html.haml +6 -0
- data/app/views/kuhsaft/cms/assets/_form.html.haml +15 -0
- data/app/views/kuhsaft/cms/assets/_list.html.haml +11 -0
- data/app/views/kuhsaft/cms/assets/edit.html.haml +2 -0
- data/app/views/kuhsaft/cms/assets/index.html.haml +3 -0
- data/app/views/kuhsaft/cms/assets/new.html.haml +2 -0
- data/app/views/kuhsaft/cms/bricks/_brick_header.html.haml +43 -0
- data/app/views/kuhsaft/cms/bricks/_brick_item.html.haml +25 -0
- data/app/views/kuhsaft/cms/bricks/_brick_list.html.haml +4 -0
- data/app/views/kuhsaft/cms/bricks/_new.html.haml +41 -0
- data/app/views/kuhsaft/cms/bricks/_sort_form.html.haml +3 -0
- data/app/views/kuhsaft/cms/bricks/create.js.erb +11 -0
- data/app/views/kuhsaft/cms/bricks/destroy.js.erb +10 -0
- data/app/views/kuhsaft/cms/bricks/new.js.erb +14 -0
- data/app/views/kuhsaft/cms/bricks/update.js.erb +8 -0
- data/app/views/kuhsaft/cms/ckimages/create.html.haml +11 -0
- data/app/views/kuhsaft/cms/ckimages/destroy.js.erb +2 -0
- data/app/views/kuhsaft/cms/ckimages/index.html.haml +13 -0
- data/app/views/kuhsaft/cms/pages/_branch.html.haml +19 -0
- data/app/views/kuhsaft/cms/pages/_form.html.haml +45 -0
- data/app/views/kuhsaft/cms/pages/edit.html.haml +16 -0
- data/app/views/kuhsaft/cms/pages/index.html.haml +14 -0
- data/app/views/kuhsaft/cms/pages/new.html.haml +1 -0
- data/app/views/kuhsaft/cms/pages/show.html.haml +0 -0
- data/app/views/kuhsaft/cms/pages/sort.js.erb +0 -0
- data/app/views/kuhsaft/column_bricks/_column_brick.html.haml +3 -0
- data/app/views/kuhsaft/column_bricks/column_brick/_edit.html.haml +0 -0
- data/app/views/kuhsaft/image_bricks/_image_brick.html.haml +11 -0
- data/app/views/kuhsaft/image_bricks/image_brick/_edit.html.haml +13 -0
- data/app/views/kuhsaft/link_bricks/_link_brick.html.haml +2 -0
- data/app/views/kuhsaft/link_bricks/link_brick/_edit.html.haml +4 -0
- data/app/views/kuhsaft/pages/index.html.haml +7 -0
- data/app/views/kuhsaft/pages/show.html.haml +11 -0
- data/app/views/kuhsaft/placeholder_bricks/_placeholder_brick.html.haml +2 -0
- data/app/views/kuhsaft/placeholder_bricks/placeholder_brick/_edit.html.haml +1 -0
- data/app/views/kuhsaft/search/_form.html.haml +2 -0
- data/app/views/kuhsaft/search/_results.html.haml +8 -0
- data/app/views/kuhsaft/search/_results_entry.html.haml +13 -0
- data/app/views/kuhsaft/sitemaps/index.xml.haml +9 -0
- data/app/views/kuhsaft/slider_bricks/_slider_brick.html.haml +10 -0
- data/app/views/kuhsaft/slider_bricks/slider_brick/_edit.html.haml +0 -0
- data/app/views/kuhsaft/text_bricks/_text_brick.html.haml +11 -0
- data/app/views/kuhsaft/text_bricks/text_brick/_edit.html.haml +2 -0
- data/app/views/kuhsaft/two_column_bricks/_two_column_brick.html.haml +3 -0
- data/app/views/kuhsaft/two_column_bricks/two_column_brick/_childs.html.haml +5 -0
- data/app/views/kuhsaft/two_column_bricks/two_column_brick/_edit.html.haml +1 -0
- data/app/views/kuhsaft/video_bricks/_video_brick.html.haml +9 -0
- data/app/views/kuhsaft/video_bricks/video_brick/_edit.html.haml +8 -0
- data/app/views/layouts/kuhsaft/cms/application.html.haml +25 -0
- data/app/views/layouts/kuhsaft/cms/ckimages.html.haml +18 -0
- data/config/initializers/simple_form.rb +142 -0
- data/config/initializers/simple_form_bootstrap.rb +45 -0
- data/config/locales/de.yml +207 -0
- data/config/locales/en.yml +211 -0
- data/config/locales/models/kuhsaft/accordion_brick/de.yml +4 -0
- data/config/locales/models/kuhsaft/accordion_brick/en.yml +4 -0
- data/config/locales/models/kuhsaft/accordion_item_brick/de.yml +7 -0
- data/config/locales/models/kuhsaft/accordion_item_brick/en.yml +7 -0
- data/config/locales/models/kuhsaft/anchor_brick/de.yml +7 -0
- data/config/locales/models/kuhsaft/anchor_brick/en.yml +7 -0
- data/config/locales/models/kuhsaft/asset_brick/de.yml +9 -0
- data/config/locales/models/kuhsaft/asset_brick/en.yml +9 -0
- data/config/locales/models/kuhsaft/brick/de.yml +5 -0
- data/config/locales/models/kuhsaft/brick/en.yml +5 -0
- data/config/locales/models/kuhsaft/column_brick/de.yml +4 -0
- data/config/locales/models/kuhsaft/column_brick/en.yml +4 -0
- data/config/locales/models/kuhsaft/image_brick/de.yml +11 -0
- data/config/locales/models/kuhsaft/image_brick/en.yml +11 -0
- data/config/locales/models/kuhsaft/image_size/de.yml +13 -0
- data/config/locales/models/kuhsaft/image_size/en.yml +13 -0
- data/config/locales/models/kuhsaft/link_brick/de.yml +10 -0
- data/config/locales/models/kuhsaft/link_brick/en.yml +10 -0
- data/config/locales/models/kuhsaft/page/de.yml +19 -0
- data/config/locales/models/kuhsaft/page/en.yml +19 -0
- data/config/locales/models/kuhsaft/placeholder_brick/de.yml +8 -0
- data/config/locales/models/kuhsaft/placeholder_brick/en.yml +8 -0
- data/config/locales/models/kuhsaft/slider_brick/de.yml +4 -0
- data/config/locales/models/kuhsaft/slider_brick/en.yml +4 -0
- data/config/locales/models/kuhsaft/text_brick/de.yml +11 -0
- data/config/locales/models/kuhsaft/text_brick/en.yml +11 -0
- data/config/locales/models/kuhsaft/two_column_brick/de.yml +7 -0
- data/config/locales/models/kuhsaft/two_column_brick/en.yml +7 -0
- data/config/locales/models/kuhsaft/video_brick/de.yml +9 -0
- data/config/locales/models/kuhsaft/video_brick/en.yml +9 -0
- data/config/locales/simple_form.en.yml +26 -0
- data/config/locales/views/kuhsaft/cms/admin/de.yml +13 -0
- data/config/locales/views/kuhsaft/cms/admin/en.yml +12 -0
- data/config/locales/views/kuhsaft/cms/bricks/de.yml +18 -0
- data/config/locales/views/kuhsaft/cms/bricks/en.yml +18 -0
- data/config/locales/views/kuhsaft/cms/pages/de.yml +31 -0
- data/config/locales/views/kuhsaft/cms/pages/en.yml +31 -0
- data/config/locales/views/kuhsaft/image_brick/de.yml +6 -0
- data/config/locales/views/kuhsaft/image_brick/en.yml +6 -0
- data/config/locales/views/kuhsaft/search/de.yml +12 -0
- data/config/locales/views/kuhsaft/search/en.yml +12 -0
- data/config/locales/views/kuhsaft/text_brick/de.yml +6 -0
- data/config/locales/views/kuhsaft/text_brick/en.yml +6 -0
- data/config/locales/views/kuhsaft/video_brick/de.yml +7 -0
- data/config/locales/views/kuhsaft/video_brick/en.yml +7 -0
- data/config/routes.rb +30 -0
- data/db/migrate/01_create_kuhsaft_pages.rb +31 -0
- data/db/migrate/02_create_kuhsaft_bricks.rb +23 -0
- data/db/migrate/03_create_kuhsaft_brick_types.rb +12 -0
- data/db/migrate/04_create_kuhsaft_assets.rb +10 -0
- data/db/migrate/05_remove_cms_admin.rb +9 -0
- data/db/migrate/06_add_template_name_to_kuhsaft_bricks.rb +7 -0
- data/db/migrate/07_add_default_value_to_brick_type_enabled.rb +6 -0
- data/db/migrate/08_add_display_styles_to_bricks.rb +5 -0
- data/db/migrate/09_add_additional_fields_to_kuhsaft_bricks.rb +6 -0
- data/db/migrate/10_add_redirect_url_to_kuhsaft_pages.rb +7 -0
- data/db/migrate/11_update_url_and_redirect_url_value.rb +45 -0
- data/db/migrate/12_regenerate_fulltext.rb +12 -0
- data/db/migrate/13_add_page_title_to_pages.rb +7 -0
- data/db/migrate/14_move_kuhsaft_assets.rb +22 -0
- data/db/migrate/15_add_alt_text_to_bricks.rb +5 -0
- data/db/migrate/16_update_default_value_for_page_type.rb +9 -0
- data/db/migrate/17_set_page_type_to_content_for_empty_fields.rb +7 -0
- data/db/migrate/18_add_identifier_to_kuhsaft_pages.rb +6 -0
- data/db/migrate/19_add_col_count_to_bricks.rb +5 -0
- data/db/migrate/20_create_kuhsaft_ckimages.rb +9 -0
- data/db/seeds.rb +20 -0
- data/lib/generators/kuhsaft/assets/install_generator.rb +25 -0
- data/lib/generators/kuhsaft/translations/add_generator.rb +41 -0
- data/lib/kuhsaft.rb +22 -0
- data/lib/kuhsaft/brick_list.rb +87 -0
- data/lib/kuhsaft/engine.rb +27 -0
- data/lib/kuhsaft/gridded.rb +20 -0
- data/lib/kuhsaft/image_uploader_mounting.rb +22 -0
- data/lib/kuhsaft/orderable.rb +71 -0
- data/lib/kuhsaft/page_tree.rb +14 -0
- data/lib/kuhsaft/partial_extractor.rb +21 -0
- data/lib/kuhsaft/searchable.rb +69 -0
- data/lib/kuhsaft/touch_placeholders.rb +31 -0
- data/lib/kuhsaft/translatable.rb +54 -0
- data/lib/kuhsaft/version.rb +3 -0
- data/lib/tasks/kuhsaft_tasks.rake +22 -0
- data/lib/templates/kuhsaft/assets/ck-config.js.coffee +48 -0
- data/lib/templates/kuhsaft/assets/customizations.css.sass +0 -0
- data/lib/templates/kuhsaft/assets/customizations.js.coffee +0 -0
- data/lib/templates/kuhsaft/translations/add_translation.erb +8 -0
- data/spec/controllers/kuhsaft/api/pages_controller_spec.rb +70 -0
- data/spec/controllers/kuhsaft/pages_controller_spec.rb +90 -0
- data/spec/controllers/kuhsaft/sitemaps_controller_spec.rb +13 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/images/spec-image.png +0 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/javascripts/kuhsaft/cms/ck-config.js.coffee +48 -0
- data/spec/dummy/app/assets/javascripts/kuhsaft/cms/customizations.js.coffee +0 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/assets/stylesheets/kuhsaft/cms/customizations.css.sass +0 -0
- data/spec/dummy/app/controllers/application_controller.rb +4 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +26 -0
- data/spec/dummy/config/boot.rb +3 -0
- data/spec/dummy/config/database.yml +19 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +29 -0
- data/spec/dummy/config/environments/production.rb +81 -0
- data/spec/dummy/config/environments/test.rb +36 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/kuhsaft.rb +5 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +12 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +3 -0
- data/spec/dummy/db/.gitkeep +0 -0
- data/spec/dummy/lib/assets/.gitkeep +0 -0
- data/spec/dummy/log/.gitkeep +0 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/stylesheets/.gitkeep +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/factories.rb +26 -0
- data/spec/features/cms_pages_spec.rb +76 -0
- data/spec/features/search_spec.rb +78 -0
- data/spec/helpers/kuhsaft/cms/admin_helper_spec.rb +25 -0
- data/spec/helpers/kuhsaft/cms/pages_helper_spec.rb +46 -0
- data/spec/helpers/kuhsaft/pages_helper_spec.rb +21 -0
- data/spec/kuhsaft_spec.rb +7 -0
- data/spec/lib/brick_list_spec.rb +50 -0
- data/spec/lib/engine_spec.rb +25 -0
- data/spec/lib/gridded_spec.rb +24 -0
- data/spec/lib/image_uploader_mounting_spec.rb +14 -0
- data/spec/lib/page_tree_spec.rb +38 -0
- data/spec/lib/searchable_spec.rb +30 -0
- data/spec/lib/touch_placeholders_spec.rb +44 -0
- data/spec/lib/translatable_spec.rb +155 -0
- data/spec/models/accordion_brick_spec.rb +38 -0
- data/spec/models/accordion_item_brick_spec.rb +50 -0
- data/spec/models/anchor_brick_spec.rb +26 -0
- data/spec/models/asset_brick_spec.rb +45 -0
- data/spec/models/asset_spec.rb +41 -0
- data/spec/models/brick_spec.rb +134 -0
- data/spec/models/brick_type_filter_spec.rb +64 -0
- data/spec/models/column_brick_spec.rb +32 -0
- data/spec/models/image_brick_spec.rb +49 -0
- data/spec/models/image_size_spec.rb +36 -0
- data/spec/models/link_brick_spec.rb +51 -0
- data/spec/models/page_spec.rb +472 -0
- data/spec/models/placeholder_brick_spec.rb +46 -0
- data/spec/models/publish_state_spec.rb +33 -0
- data/spec/models/slider_brick_spec.rb +26 -0
- data/spec/models/text_brick_spec.rb +30 -0
- data/spec/models/two_column_brick_spec.rb +82 -0
- data/spec/models/video_brick_spec.rb +32 -0
- data/spec/spec_helper.rb +81 -0
- data/spec/support/kuhsaft_spec_helper.rb +8 -0
- data/spec/support/write_expectation.rb +57 -0
- data/spec/views/kuhsaft/sitemaps/index.xml.haml_spec.rb +67 -0
- data/vendor/assets/javascripts/bootstrap-modal-v2.js +376 -0
- data/vendor/assets/javascripts/bootstrap-modalmanager.js +423 -0
- data/vendor/assets/javascripts/jquery.nestable.js +485 -0
- data/vendor/assets/stylesheets/bootstrap_modal.css +214 -0
- data/vendor/assets/stylesheets/nestable.css +84 -0
- metadata +870 -0
Binary file
|
@@ -0,0 +1,68 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.md or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
CKEDITOR.plugins.setLang( 'adv_link', 'de', {
|
6
|
+
localPages:'CMS Seite',
|
7
|
+
selectPageLabel:'Wählen Sie eine Seite aus',
|
8
|
+
selectPageTitle:'Wählen Sie eine Seite aus, auf die Sie verlinken möchten',
|
9
|
+
acccessKey: 'Zugriffstaste',
|
10
|
+
advanced: 'Erweitert',
|
11
|
+
advisoryContentType: 'Inhaltstyp',
|
12
|
+
advisoryTitle: 'Titel Beschreibung',
|
13
|
+
anchor: {
|
14
|
+
toolbar: 'Anker einfügen/editieren',
|
15
|
+
menu: 'Anker-Eigenschaften',
|
16
|
+
title: 'Anker-Eigenschaften',
|
17
|
+
name: 'Anker Name',
|
18
|
+
errorName: 'Bitte geben Sie den Namen des Ankers ein',
|
19
|
+
remove: 'Anker entfernen'
|
20
|
+
},
|
21
|
+
anchorId: 'nach Element Id',
|
22
|
+
anchorName: 'nach Anker Name',
|
23
|
+
charset: 'Ziel-Zeichensatz',
|
24
|
+
cssClasses: 'Stylesheet Klasse',
|
25
|
+
emailAddress: 'E-Mail Adresse',
|
26
|
+
emailBody: 'Nachrichtentext',
|
27
|
+
emailSubject: 'Betreffzeile',
|
28
|
+
id: 'Id',
|
29
|
+
info: 'Link-Info',
|
30
|
+
langCode: 'Sprachenkürzel',
|
31
|
+
langDir: 'Schreibrichtung',
|
32
|
+
langDirLTR: 'Links nach Rechts (LTR)',
|
33
|
+
langDirRTL: 'Rechts nach Links (RTL)',
|
34
|
+
menu: 'Link editieren',
|
35
|
+
name: 'Name',
|
36
|
+
noAnchors: '(keine Anker im Dokument vorhanden)',
|
37
|
+
noEmail: 'Bitte geben Sie e-Mail Adresse an',
|
38
|
+
noUrl: 'Bitte geben Sie die Link-URL an',
|
39
|
+
other: '<andere>',
|
40
|
+
popupDependent: 'Abhängig (Netscape)',
|
41
|
+
popupFeatures: 'Pop-up Fenster-Eigenschaften',
|
42
|
+
popupFullScreen: 'Vollbild (IE)',
|
43
|
+
popupLeft: 'Linke Position',
|
44
|
+
popupLocationBar: 'Adress-Leiste',
|
45
|
+
popupMenuBar: 'Menü-Leiste',
|
46
|
+
popupResizable: 'Größe änderbar',
|
47
|
+
popupScrollBars: 'Rollbalken',
|
48
|
+
popupStatusBar: 'Statusleiste',
|
49
|
+
popupToolbar: 'Symbolleiste',
|
50
|
+
popupTop: 'Obere Position',
|
51
|
+
rel: 'Beziehung',
|
52
|
+
selectAnchor: 'Anker auswählen',
|
53
|
+
styles: 'Style',
|
54
|
+
tabIndex: 'Tab-Index',
|
55
|
+
target: 'Zielseite',
|
56
|
+
targetFrame: '<Frame>',
|
57
|
+
targetFrameName: 'Ziel-Fenster-Name',
|
58
|
+
targetPopup: '<Pop-up Fenster>',
|
59
|
+
targetPopupName: 'Pop-up Fenster-Name',
|
60
|
+
title: 'Link',
|
61
|
+
toAnchor: 'Anker in dieser Seite',
|
62
|
+
toEmail: 'E-Mail',
|
63
|
+
toUrl: 'URL',
|
64
|
+
toolbar: 'Link einfügen/editieren',
|
65
|
+
type: 'Link-Typ',
|
66
|
+
unlink: 'Link entfernen',
|
67
|
+
upload: 'Hochladen'
|
68
|
+
});
|
@@ -0,0 +1,68 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.md or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
CKEDITOR.plugins.setLang( 'adv_link', 'en', {
|
6
|
+
localPages:'CMS Pages',
|
7
|
+
selectPageLabel:'Select a page',
|
8
|
+
selectPageTitle:'Select the page you want to link to',
|
9
|
+
acccessKey: 'Access Key',
|
10
|
+
advanced: 'Advanced',
|
11
|
+
advisoryContentType: 'Advisory Content Type',
|
12
|
+
advisoryTitle: 'Advisory Title',
|
13
|
+
anchor: {
|
14
|
+
toolbar: 'Anchor',
|
15
|
+
menu: 'Edit Anchor',
|
16
|
+
title: 'Anchor Properties',
|
17
|
+
name: 'Anchor Name',
|
18
|
+
errorName: 'Please type the anchor name',
|
19
|
+
remove: 'Remove Anchor'
|
20
|
+
},
|
21
|
+
anchorId: 'By Element Id',
|
22
|
+
anchorName: 'By Anchor Name',
|
23
|
+
charset: 'Linked Resource Charset',
|
24
|
+
cssClasses: 'Stylesheet Classes',
|
25
|
+
emailAddress: 'E-Mail Address',
|
26
|
+
emailBody: 'Message Body',
|
27
|
+
emailSubject: 'Message Subject',
|
28
|
+
id: 'Id',
|
29
|
+
info: 'Link Info',
|
30
|
+
langCode: 'Language Code',
|
31
|
+
langDir: 'Language Direction',
|
32
|
+
langDirLTR: 'Left to Right (LTR)',
|
33
|
+
langDirRTL: 'Right to Left (RTL)',
|
34
|
+
menu: 'Edit Link',
|
35
|
+
name: 'Name',
|
36
|
+
noAnchors: '(No anchors available in the document)',
|
37
|
+
noEmail: 'Please type the e-mail address',
|
38
|
+
noUrl: 'Please type the link URL',
|
39
|
+
other: '<other>',
|
40
|
+
popupDependent: 'Dependent (Netscape)',
|
41
|
+
popupFeatures: 'Popup Window Features',
|
42
|
+
popupFullScreen: 'Full Screen (IE)',
|
43
|
+
popupLeft: 'Left Position',
|
44
|
+
popupLocationBar: 'Location Bar',
|
45
|
+
popupMenuBar: 'Menu Bar',
|
46
|
+
popupResizable: 'Resizable',
|
47
|
+
popupScrollBars: 'Scroll Bars',
|
48
|
+
popupStatusBar: 'Status Bar',
|
49
|
+
popupToolbar: 'Toolbar',
|
50
|
+
popupTop: 'Top Position',
|
51
|
+
rel: 'Relationship',
|
52
|
+
selectAnchor: 'Select an Anchor',
|
53
|
+
styles: 'Style',
|
54
|
+
tabIndex: 'Tab Index',
|
55
|
+
target: 'Target',
|
56
|
+
targetFrame: '<frame>',
|
57
|
+
targetFrameName: 'Target Frame Name',
|
58
|
+
targetPopup: '<popup window>',
|
59
|
+
targetPopupName: 'Popup Window Name',
|
60
|
+
title: 'Link',
|
61
|
+
toAnchor: 'Link to anchor in the text',
|
62
|
+
toEmail: 'E-mail',
|
63
|
+
toUrl: 'URL',
|
64
|
+
toolbar: 'Link',
|
65
|
+
type: 'Link Type',
|
66
|
+
unlink: 'Unlink',
|
67
|
+
upload: 'Upload'
|
68
|
+
});
|
@@ -0,0 +1,282 @@
|
|
1
|
+
###
|
2
|
+
@license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.md or http://ckeditor.com/license
|
4
|
+
###
|
5
|
+
CKEDITOR.plugins.add "adv_link",
|
6
|
+
requires: "dialog,fakeobjects"
|
7
|
+
lang: "en,es,fr,it" # %REMOVE_LINE_CORE%
|
8
|
+
icons: "anchor,anchor-rtl,link,unlink" # %REMOVE_LINE_CORE%
|
9
|
+
hidpi: true # %REMOVE_LINE_CORE%
|
10
|
+
onLoad: ->
|
11
|
+
cssWithDir = (dir) ->
|
12
|
+
template.replace(/%1/g, (if dir is "rtl" then "right" else "left")).replace /%2/g, "cke_contents_" + dir
|
13
|
+
iconPath = CKEDITOR.getUrl(@path + "images" + ((if CKEDITOR.env.hidpi then "/hidpi" else "")) + "/anchor.png")
|
14
|
+
baseStyle = "background:url(" + iconPath + ") no-repeat %1 center;border:1px dotted #00f;background-size:16px;"
|
15
|
+
template = ".%2 a.cke_anchor," + ".%2 a.cke_anchor_empty" + ",.cke_editable.%2 a[name]" + ",.cke_editable.%2 a[data-cke-saved-name]" + "{" + baseStyle + "padding-%1:18px;" + "cursor:auto;" + "}" + ((if CKEDITOR.env.ie then ("a.cke_anchor_empty" + "{" + "display:inline-block;" + "}") else "")) + ".%2 img.cke_anchor" + "{" + baseStyle + "width:16px;" + "min-height:15px;" + "height:1.15em;" + "vertical-align:" + ((if CKEDITOR.env.opera then "middle" else "text-bottom")) + ";" + "}"
|
16
|
+
CKEDITOR.addCss cssWithDir("ltr") + cssWithDir("rtl")
|
17
|
+
return
|
18
|
+
|
19
|
+
init: (editor) ->
|
20
|
+
allowed = "a[!href]"
|
21
|
+
required = "a[href]"
|
22
|
+
allowed = allowed.replace("]", ",accesskey,charset,dir,id,lang,name,rel,tabindex,title,type]{*}(*)") if CKEDITOR.dialog.isTabEnabled(editor, "link", "advanced")
|
23
|
+
allowed = allowed.replace("]", ",target,onclick]") if CKEDITOR.dialog.isTabEnabled(editor, "link", "target")
|
24
|
+
|
25
|
+
# Add the link and unlink buttons.
|
26
|
+
editor.addCommand "link", new CKEDITOR.dialogCommand("link",
|
27
|
+
allowedContent: allowed
|
28
|
+
requiredContent: required
|
29
|
+
)
|
30
|
+
editor.addCommand "anchor", new CKEDITOR.dialogCommand("anchor",
|
31
|
+
allowedContent: "a[!name,id]"
|
32
|
+
requiredContent: "a[name]"
|
33
|
+
)
|
34
|
+
editor.addCommand "unlink", new CKEDITOR.unlinkCommand()
|
35
|
+
editor.addCommand "removeAnchor", new CKEDITOR.removeAnchorCommand()
|
36
|
+
editor.setKeystroke CKEDITOR.CTRL + 76, "link" #L
|
37
|
+
if editor.ui.addButton
|
38
|
+
editor.ui.addButton "Link",
|
39
|
+
label: editor.lang.link.toolbar
|
40
|
+
command: "link"
|
41
|
+
toolbar: "links,10"
|
42
|
+
|
43
|
+
editor.ui.addButton "Unlink",
|
44
|
+
label: editor.lang.link.unlink
|
45
|
+
command: "unlink"
|
46
|
+
toolbar: "links,20"
|
47
|
+
|
48
|
+
editor.ui.addButton "Anchor",
|
49
|
+
label: editor.lang.link.anchor.toolbar
|
50
|
+
command: "anchor"
|
51
|
+
toolbar: "links,30"
|
52
|
+
|
53
|
+
CKEDITOR.dialog.add "link", @path + "dialogs/link.js"
|
54
|
+
CKEDITOR.dialog.add "anchor", @path + "dialogs/anchor.js"
|
55
|
+
editor.on "doubleclick", (evt) ->
|
56
|
+
element = CKEDITOR.plugins.link.getSelectedLink(editor) or evt.data.element
|
57
|
+
unless element.isReadOnly()
|
58
|
+
if element.is("a")
|
59
|
+
evt.data.dialog = (if (element.getAttribute("name") and (not element.getAttribute("href") or not element.getChildCount())) then "anchor" else "link")
|
60
|
+
editor.getSelection().selectElement element
|
61
|
+
else evt.data.dialog = "anchor" if CKEDITOR.plugins.link.tryRestoreFakeAnchor(editor, element)
|
62
|
+
return
|
63
|
+
|
64
|
+
# If the "menu" plugin is loaded, register the menu items.
|
65
|
+
if editor.addMenuItems
|
66
|
+
editor.addMenuItems
|
67
|
+
anchor:
|
68
|
+
label: editor.lang.link.anchor.menu
|
69
|
+
command: "anchor"
|
70
|
+
group: "anchor"
|
71
|
+
order: 1
|
72
|
+
|
73
|
+
removeAnchor:
|
74
|
+
label: editor.lang.link.anchor.remove
|
75
|
+
command: "removeAnchor"
|
76
|
+
group: "anchor"
|
77
|
+
order: 5
|
78
|
+
|
79
|
+
link:
|
80
|
+
label: editor.lang.link.menu
|
81
|
+
command: "link"
|
82
|
+
group: "link"
|
83
|
+
order: 1
|
84
|
+
|
85
|
+
unlink:
|
86
|
+
label: editor.lang.link.unlink
|
87
|
+
command: "unlink"
|
88
|
+
group: "link"
|
89
|
+
order: 5
|
90
|
+
|
91
|
+
# If the "contextmenu" plugin is loaded, register the listeners.
|
92
|
+
if editor.contextMenu
|
93
|
+
editor.contextMenu.addListener (element, selection) ->
|
94
|
+
return null if not element or element.isReadOnly()
|
95
|
+
anchor = CKEDITOR.plugins.link.tryRestoreFakeAnchor(editor, element)
|
96
|
+
return null if not anchor and not (anchor = CKEDITOR.plugins.link.getSelectedLink(editor))
|
97
|
+
menu = {}
|
98
|
+
if anchor.getAttribute("href") and anchor.getChildCount()
|
99
|
+
menu =
|
100
|
+
link: CKEDITOR.TRISTATE_OFF
|
101
|
+
unlink: CKEDITOR.TRISTATE_OFF
|
102
|
+
menu.anchor = menu.removeAnchor = CKEDITOR.TRISTATE_OFF if anchor and anchor.hasAttribute("name")
|
103
|
+
menu
|
104
|
+
|
105
|
+
return
|
106
|
+
|
107
|
+
afterInit: (editor) ->
|
108
|
+
# Register a filter to displaying placeholders after mode change.
|
109
|
+
dataProcessor = editor.dataProcessor
|
110
|
+
dataFilter = dataProcessor and dataProcessor.dataFilter
|
111
|
+
htmlFilter = dataProcessor and dataProcessor.htmlFilter
|
112
|
+
pathFilters = editor._.elementsPath and editor._.elementsPath.filters
|
113
|
+
if dataFilter
|
114
|
+
dataFilter.addRules elements:
|
115
|
+
a: (element) ->
|
116
|
+
attributes = element.attributes
|
117
|
+
return null unless attributes.name
|
118
|
+
isEmpty = not element.children.length
|
119
|
+
if CKEDITOR.plugins.link.synAnchorSelector
|
120
|
+
|
121
|
+
# IE needs a specific class name to be applied
|
122
|
+
# to the anchors, for appropriate styling.
|
123
|
+
ieClass = (if isEmpty then "cke_anchor_empty" else "cke_anchor")
|
124
|
+
cls = attributes["class"]
|
125
|
+
attributes["class"] = (cls or "") + " " + ieClass if attributes.name and (not cls or cls.indexOf(ieClass) < 0)
|
126
|
+
if isEmpty and CKEDITOR.plugins.link.emptyAnchorFix
|
127
|
+
attributes.contenteditable = "false"
|
128
|
+
attributes["data-cke-editable"] = 1
|
129
|
+
else return editor.createFakeParserElement(element, "cke_anchor", "anchor") if CKEDITOR.plugins.link.fakeAnchor and isEmpty
|
130
|
+
null
|
131
|
+
|
132
|
+
if CKEDITOR.plugins.link.emptyAnchorFix and htmlFilter
|
133
|
+
htmlFilter.addRules elements:
|
134
|
+
a: (element) ->
|
135
|
+
delete element.attributes.contenteditable
|
136
|
+
|
137
|
+
return
|
138
|
+
|
139
|
+
if pathFilters
|
140
|
+
pathFilters.push (element, name) ->
|
141
|
+
"anchor" if CKEDITOR.plugins.link.tryRestoreFakeAnchor(editor, element) or (element.getAttribute("name") and (not element.getAttribute("href") or not element.getChildCount())) if name is "a"
|
142
|
+
|
143
|
+
return
|
144
|
+
|
145
|
+
###
|
146
|
+
Set of link plugin's helpers.
|
147
|
+
|
148
|
+
@class
|
149
|
+
@singleton
|
150
|
+
###
|
151
|
+
CKEDITOR.plugins.link =
|
152
|
+
|
153
|
+
###
|
154
|
+
Get the surrounding link element of current selection.
|
155
|
+
|
156
|
+
CKEDITOR.plugins.link.getSelectedLink( editor );
|
157
|
+
|
158
|
+
// The following selection will all return the link element.
|
159
|
+
|
160
|
+
<a href="#">li^nk</a>
|
161
|
+
<a href="#">[link]</a>
|
162
|
+
text[<a href="#">link]</a>
|
163
|
+
<a href="#">li[nk</a>]
|
164
|
+
[<b><a href="#">li]nk</a></b>]
|
165
|
+
[<a href="#"><b>li]nk</b></a>
|
166
|
+
|
167
|
+
@since 3.2.1
|
168
|
+
@param {CKEDITOR.editor} editor
|
169
|
+
###
|
170
|
+
getSelectedLink: (editor) ->
|
171
|
+
selection = editor.getSelection()
|
172
|
+
selectedElement = selection.getSelectedElement()
|
173
|
+
return selectedElement if selectedElement and selectedElement.is("a")
|
174
|
+
range = selection.getRanges(true)[0]
|
175
|
+
if range
|
176
|
+
range.shrink CKEDITOR.SHRINK_TEXT
|
177
|
+
return editor.elementPath(range.getCommonAncestor()).contains("a", 1)
|
178
|
+
null
|
179
|
+
|
180
|
+
###
|
181
|
+
Opera and WebKit don't make it possible to select empty anchors. Fake
|
182
|
+
elements must be used for them.
|
183
|
+
|
184
|
+
@readonly
|
185
|
+
@property {Boolean}
|
186
|
+
###
|
187
|
+
fakeAnchor: CKEDITOR.env.opera or CKEDITOR.env.webkit
|
188
|
+
|
189
|
+
###
|
190
|
+
For browsers that don't support CSS3 `a[name]:empty()`, note IE9 is included because of #7783.
|
191
|
+
|
192
|
+
@readonly
|
193
|
+
@property {Boolean}
|
194
|
+
###
|
195
|
+
synAnchorSelector: CKEDITOR.env.ie
|
196
|
+
|
197
|
+
###
|
198
|
+
For browsers that have editing issue with empty anchor.
|
199
|
+
|
200
|
+
@readonly
|
201
|
+
@property {Boolean}
|
202
|
+
###
|
203
|
+
emptyAnchorFix: CKEDITOR.env.ie and CKEDITOR.env.version < 8
|
204
|
+
|
205
|
+
###
|
206
|
+
@param {CKEDITOR.editor} editor
|
207
|
+
@param {CKEDITOR.dom.element} element
|
208
|
+
@todo
|
209
|
+
###
|
210
|
+
tryRestoreFakeAnchor: (editor, element) ->
|
211
|
+
if element and element.data("cke-real-element-type") and element.data("cke-real-element-type") is "anchor"
|
212
|
+
link = editor.restoreRealElement(element)
|
213
|
+
link if link.data("cke-saved-name")
|
214
|
+
|
215
|
+
|
216
|
+
# TODO Much probably there's no need to expose these as public objects.
|
217
|
+
CKEDITOR.unlinkCommand = ->
|
218
|
+
|
219
|
+
CKEDITOR.unlinkCommand:: =
|
220
|
+
exec: (editor) ->
|
221
|
+
style = new CKEDITOR.style(
|
222
|
+
element: "a"
|
223
|
+
type: CKEDITOR.STYLE_INLINE
|
224
|
+
alwaysRemoveElement: 1
|
225
|
+
)
|
226
|
+
editor.removeStyle style
|
227
|
+
return
|
228
|
+
|
229
|
+
refresh: (editor, path) ->
|
230
|
+
|
231
|
+
# Despite our initial hope, document.queryCommandEnabled() does not work
|
232
|
+
# for this in Firefox. So we must detect the state by element paths.
|
233
|
+
element = path.lastElement and path.lastElement.getAscendant("a", true)
|
234
|
+
if element and element.getName() is "a" and element.getAttribute("href") and element.getChildCount()
|
235
|
+
@setState CKEDITOR.TRISTATE_OFF
|
236
|
+
else
|
237
|
+
@setState CKEDITOR.TRISTATE_DISABLED
|
238
|
+
return
|
239
|
+
|
240
|
+
contextSensitive: 1
|
241
|
+
startDisabled: 1
|
242
|
+
requiredContent: "a[href]"
|
243
|
+
|
244
|
+
CKEDITOR.removeAnchorCommand = ->
|
245
|
+
|
246
|
+
CKEDITOR.removeAnchorCommand:: =
|
247
|
+
exec: (editor) ->
|
248
|
+
sel = editor.getSelection()
|
249
|
+
bms = sel.createBookmarks()
|
250
|
+
anchor = undefined
|
251
|
+
if sel and (anchor = sel.getSelectedElement()) and ((if CKEDITOR.plugins.link.fakeAnchor and not anchor.getChildCount() then CKEDITOR.plugins.link.tryRestoreFakeAnchor(editor, anchor) else anchor.is("a")))
|
252
|
+
anchor.remove 1
|
253
|
+
else
|
254
|
+
if anchor = CKEDITOR.plugins.link.getSelectedLink(editor)
|
255
|
+
if anchor.hasAttribute("href")
|
256
|
+
anchor.removeAttributes
|
257
|
+
name: 1
|
258
|
+
"data-cke-saved-name": 1
|
259
|
+
|
260
|
+
anchor.removeClass "cke_anchor"
|
261
|
+
else
|
262
|
+
anchor.remove 1
|
263
|
+
sel.selectBookmarks bms
|
264
|
+
return
|
265
|
+
|
266
|
+
requiredContent: "a[name]"
|
267
|
+
|
268
|
+
CKEDITOR.tools.extend CKEDITOR.config,
|
269
|
+
|
270
|
+
###
|
271
|
+
@cfg {Boolean} [linkShowAdvancedTab=true]
|
272
|
+
@member CKEDITOR.config
|
273
|
+
@todo
|
274
|
+
###
|
275
|
+
linkShowAdvancedTab: true
|
276
|
+
|
277
|
+
###
|
278
|
+
@cfg {Boolean} [linkShowTargetTab=true]
|
279
|
+
@member CKEDITOR.config
|
280
|
+
@todo
|
281
|
+
###
|
282
|
+
linkShowTargetTab: true
|
@@ -0,0 +1,136 @@
|
|
1
|
+
#= depend_on_asset kuhsaft/cms/ck-config
|
2
|
+
#
|
3
|
+
#= require jquery
|
4
|
+
#= require jquery_ujs
|
5
|
+
#= require jquery.remotipart
|
6
|
+
#= require jquery-ui
|
7
|
+
#= require bootstrap
|
8
|
+
#= require bootstrap-modal-v2
|
9
|
+
#= require bootstrap-modalmanager
|
10
|
+
#= require ckeditor-jquery
|
11
|
+
#= require jquery.nestable
|
12
|
+
#= require_tree .
|
13
|
+
#
|
14
|
+
# Disable timestamp for ckeditor internal asset loading. This prevents issues with Asset Pipeline on production.
|
15
|
+
root = exports ? this
|
16
|
+
root.CKEDITOR.timestamp = null
|
17
|
+
|
18
|
+
# As @ryabrody & @k-graefenhain found out there is obviously a bug which causes the asset_path_helper to return paths always without digest:
|
19
|
+
# https://github.com/rails/sprockets-rails/issues/66
|
20
|
+
# That's why we need the environment switch here:
|
21
|
+
CKEDITOR.config.customConfig = "<%= asset_path('kuhsaft/cms/ck-config.js') %>"
|
22
|
+
|
23
|
+
loadTextEditor = ->
|
24
|
+
CKEDITOR.replaceAll('ckeditor')
|
25
|
+
|
26
|
+
updateInputsForRedirectPage = (redirect_url, keywords, description) ->
|
27
|
+
redirect_url.removeAttr('disabled')
|
28
|
+
keywords.attr('disabled', 'disabled')
|
29
|
+
description.attr('disabled', 'disabled')
|
30
|
+
|
31
|
+
clearInputsFromRedirectPage = (redirect_url, keywords, description) ->
|
32
|
+
redirect_url.attr('disabled', 'disabled')
|
33
|
+
keywords.removeAttr('disabled')
|
34
|
+
description.removeAttr('disabled')
|
35
|
+
|
36
|
+
checkPageType = ->
|
37
|
+
redirect_url = $('#page_redirect_url')
|
38
|
+
keywords = $('#page_keywords')
|
39
|
+
description = $('#page_description')
|
40
|
+
if ($('#page_page_type option:selected').val() == 'redirect')
|
41
|
+
updateInputsForRedirectPage(redirect_url, keywords, description)
|
42
|
+
else
|
43
|
+
clearInputsFromRedirectPage(redirect_url, keywords, description)
|
44
|
+
|
45
|
+
sortableBrick = ->
|
46
|
+
$(".brick-list").each (idx, elem) ->
|
47
|
+
$(elem).sortable(
|
48
|
+
handle: '.brick-item-header',
|
49
|
+
axis: "y",
|
50
|
+
update: (event, ui) ->
|
51
|
+
idList = $(this).find("> .brick-item")
|
52
|
+
.each (idx, elem) ->
|
53
|
+
$(this).find("input.position-field").val(idx+1)
|
54
|
+
.map ->
|
55
|
+
$(this).data('id')
|
56
|
+
|
57
|
+
sortForm = $('#bricks-sort-form form')
|
58
|
+
sortForm.find('input[name="bricks[ids]"]').val(idList.toArray().join(','))
|
59
|
+
sortForm.trigger('submit')
|
60
|
+
)
|
61
|
+
|
62
|
+
window.initSubmitLinks = (selector = null)->
|
63
|
+
selector ||= $('body')
|
64
|
+
|
65
|
+
selector.find('a.submit')
|
66
|
+
.click (e)->
|
67
|
+
$('textarea.ckeditor').each (index, elem) ->
|
68
|
+
CKEDITOR.instances[elem.id].updateElement()
|
69
|
+
|
70
|
+
form = $(this).closest('form')
|
71
|
+
form.submit()
|
72
|
+
e.preventDefault()
|
73
|
+
|
74
|
+
window.initSavePopover = (selector) ->
|
75
|
+
link = selector.find('a.submit')
|
76
|
+
link.popover(placement: 'top', trigger: 'manual')
|
77
|
+
|
78
|
+
# initial delay
|
79
|
+
setTimeout ->
|
80
|
+
link.popover('show')
|
81
|
+
# fade out delay
|
82
|
+
setTimeout ->
|
83
|
+
link.popover('hide')
|
84
|
+
, 1500
|
85
|
+
, 50
|
86
|
+
|
87
|
+
window.initCKEditor = (selector) ->
|
88
|
+
CKEDITOR.replace(selector)
|
89
|
+
|
90
|
+
window.toggleCollapseBricksNav = (bool = false) ->
|
91
|
+
if bool
|
92
|
+
$('#collapse-bricks-nav').removeClass('hidden')
|
93
|
+
else
|
94
|
+
$('#collapse-bricks-nav').addClass('hidden')
|
95
|
+
|
96
|
+
# Stop propagation for display styles dropdown
|
97
|
+
window.stopPropagationOfDisplayStyles = (selector) ->
|
98
|
+
selector.click (e) ->
|
99
|
+
e.stopPropagation()
|
100
|
+
|
101
|
+
$(document).ajaxSuccess ->
|
102
|
+
sortableBrick()
|
103
|
+
|
104
|
+
$(document).ready ->
|
105
|
+
loadTextEditor()
|
106
|
+
checkPageType()
|
107
|
+
sortableBrick()
|
108
|
+
initSubmitLinks()
|
109
|
+
stopPropagationOfDisplayStyles($('#display-styles ul'))
|
110
|
+
|
111
|
+
$('#page_page_type').change ->
|
112
|
+
checkPageType()
|
113
|
+
|
114
|
+
$('.dd').nestable(
|
115
|
+
collapseBtnHTML: '<button data-action="collapse"><i class="icon-minus-sign"></i></button>'
|
116
|
+
expandBtnHTML: '<button data-action="expand"><i class="icon-plus-sign"></i></button>'
|
117
|
+
)
|
118
|
+
|
119
|
+
$('.dd').on('change', ->
|
120
|
+
pageTree = $('.dd').nestable('serialize')
|
121
|
+
url = '/cms/pages/sort'
|
122
|
+
$.post(url, { page_tree: pageTree }, "json")
|
123
|
+
)
|
124
|
+
|
125
|
+
# collapse / expand all
|
126
|
+
$('#expand-all').click ->
|
127
|
+
$('.brick-item-content').each (index, elem) ->
|
128
|
+
$(elem).collapse('show')
|
129
|
+
$('.resize-toggler').each (index, elem) ->
|
130
|
+
$(elem).removeClass('collapsed')
|
131
|
+
|
132
|
+
$('#collapse-all').click ->
|
133
|
+
$('.brick-item-content').each (index, elem) ->
|
134
|
+
$(elem).collapse('hide')
|
135
|
+
$('.resize-toggler').each (index, elem) ->
|
136
|
+
$(elem).addClass('collapsed')
|