pageflow 0.8.2 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pageflow might be problematic. Click here for more details.
- checksums.yaml +8 -8
- data/CHANGELOG.md +810 -0
- data/README.md +179 -0
- data/admins/pageflow/accounts.rb +46 -3
- data/admins/pageflow/entry.rb +35 -7
- data/app/assets/javascripts/pageflow/audio.js +62 -0
- data/app/assets/javascripts/pageflow/audio/multi_player.js +127 -0
- data/app/assets/javascripts/pageflow/audio/player_pool.js +15 -0
- data/app/assets/javascripts/pageflow/audio_player.js +23 -1
- data/app/assets/javascripts/pageflow/audio_player/null.js +37 -0
- data/app/assets/javascripts/pageflow/audio_player/pause_in_background.js +34 -0
- data/app/assets/javascripts/pageflow/audio_player/rewind_method.js +17 -0
- data/app/assets/javascripts/pageflow/audio_player/seek_with_invalid_state_handling.js +41 -0
- data/app/assets/javascripts/pageflow/base.js +10 -0
- data/app/assets/javascripts/pageflow/browser.js +123 -0
- data/app/assets/javascripts/pageflow/{features → browser}/hashchange_support.js +1 -1
- data/app/assets/javascripts/pageflow/{features → browser}/high_bandwidth.js +1 -1
- data/app/assets/javascripts/pageflow/{features → browser}/ie_platform.js +1 -1
- data/app/assets/javascripts/pageflow/browser/ios_platform.js +6 -0
- data/app/assets/javascripts/pageflow/{features → browser}/mobile_platform.js +1 -1
- data/app/assets/javascripts/pageflow/{features → browser}/phone_platform.js +1 -1
- data/app/assets/javascripts/pageflow/browser/pushstate_support.js +3 -0
- data/app/assets/javascripts/pageflow/{features → browser}/touch_support.js +1 -1
- data/app/assets/javascripts/pageflow/browser/video.js +16 -0
- data/app/assets/javascripts/pageflow/browser/volume_control_support.js +3 -0
- data/app/assets/javascripts/pageflow/chapter_filter.js +56 -0
- data/app/assets/javascripts/pageflow/editor/api.js +29 -0
- data/app/assets/javascripts/pageflow/editor/api/page_type.js +42 -0
- data/app/assets/javascripts/pageflow/editor/api/page_types.js +47 -0
- data/app/assets/javascripts/pageflow/editor/base.js +7 -1
- data/app/assets/javascripts/pageflow/editor/collections/subset_collection.js +5 -1
- data/app/assets/javascripts/pageflow/editor/initializers/boot.js +10 -2
- data/app/assets/javascripts/pageflow/editor/initializers/setup_audio.js +8 -0
- data/app/assets/javascripts/pageflow/editor/initializers/setup_collections.js +7 -0
- data/app/assets/javascripts/pageflow/editor/initializers/setup_features.js +3 -0
- data/app/assets/javascripts/pageflow/editor/initializers/setup_hotkeys.js +20 -0
- data/app/assets/javascripts/pageflow/editor/initializers/setup_page_types.js +1 -6
- data/app/assets/javascripts/pageflow/editor/models/audio_file.js +8 -0
- data/app/assets/javascripts/pageflow/editor/models/chapter.js +23 -4
- data/app/assets/javascripts/pageflow/editor/models/chapter_configuration.js +7 -0
- data/app/assets/javascripts/pageflow/editor/models/configuration.js +5 -3
- data/app/assets/javascripts/pageflow/editor/models/entry.js +6 -4
- data/app/assets/javascripts/pageflow/editor/models/mixins/delayed_destroying.js +1 -1
- data/app/assets/javascripts/pageflow/editor/models/mixins/stage_provider.js +3 -2
- data/app/assets/javascripts/pageflow/editor/models/page.js +11 -4
- data/app/assets/javascripts/pageflow/editor/models/preview_entry_data.js +31 -0
- data/app/assets/javascripts/pageflow/editor/models/theming.js +8 -0
- data/app/assets/javascripts/pageflow/editor/models/uploaded_file.js +8 -0
- data/app/assets/javascripts/pageflow/editor/templates/drop_down_button.jst.ejs +6 -0
- data/app/assets/javascripts/pageflow/editor/templates/drop_down_button_item.jst.ejs +1 -0
- data/app/assets/javascripts/pageflow/editor/templates/files_explorer.jst.ejs +2 -2
- data/app/assets/javascripts/pageflow/editor/templates/inputs/reference.jst.ejs +7 -0
- data/app/assets/javascripts/pageflow/editor/templates/list.jst.ejs +5 -0
- data/app/assets/javascripts/pageflow/editor/templates/list_blank_slate.jst.ejs +1 -0
- data/app/assets/javascripts/pageflow/editor/templates/list_item.jst.ejs +11 -0
- data/app/assets/javascripts/pageflow/editor/templates/loading.jst.ejs +7 -1
- data/app/assets/javascripts/pageflow/editor/templates/other_entries_blank_slate.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/page_link_item.jst.ejs +7 -0
- data/app/assets/javascripts/pageflow/editor/templates/page_links.jst.ejs +6 -0
- data/app/assets/javascripts/pageflow/editor/templates/page_selection.jst.ejs +12 -0
- data/app/assets/javascripts/pageflow/editor/templates/publish_entry.jst.ejs +44 -8
- data/app/assets/javascripts/pageflow/editor/views/chapter_item_view.js +3 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/options.js +34 -2
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/page_transitions.js +6 -0
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/video.js +6 -1
- data/app/assets/javascripts/pageflow/editor/views/disabled_atmo_indicator_view.js +27 -0
- data/app/assets/javascripts/pageflow/editor/views/drop_down_button_item_view.js +33 -0
- data/app/assets/javascripts/pageflow/editor/views/drop_down_button_view.js +80 -0
- data/app/assets/javascripts/pageflow/editor/views/edit_chapter_view.js +25 -5
- data/app/assets/javascripts/pageflow/editor/views/edit_entry_view.js +9 -1
- data/app/assets/javascripts/pageflow/editor/views/edit_page_view.js +7 -5
- data/app/assets/javascripts/pageflow/editor/views/edit_widget_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/embedded/background_image_embedded_view.js +4 -1
- data/app/assets/javascripts/pageflow/editor/views/embedded/lazy_video_embedded_view.js +41 -0
- data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +6 -6
- data/app/assets/javascripts/pageflow/editor/views/inputs/page_link_input_view.js +9 -0
- data/app/assets/javascripts/pageflow/editor/views/inputs/reference_input_view.js +66 -0
- data/app/assets/javascripts/pageflow/editor/views/list_item_view.js +95 -0
- data/app/assets/javascripts/pageflow/editor/views/list_view.js +59 -0
- data/app/assets/javascripts/pageflow/editor/views/loading_view.js +5 -0
- data/app/assets/javascripts/pageflow/editor/views/model_thumbnail_view.js +37 -0
- data/app/assets/javascripts/pageflow/editor/views/navigatable_page_item_view.js +1 -0
- data/app/assets/javascripts/pageflow/editor/views/other_entries_collection_view.js +4 -4
- data/app/assets/javascripts/pageflow/editor/views/other_entry_item_view.js +2 -1
- data/app/assets/javascripts/pageflow/editor/views/page_item_view.js +2 -2
- data/app/assets/javascripts/pageflow/editor/views/page_link_item_view.js +51 -0
- data/app/assets/javascripts/pageflow/editor/views/page_links_view.js +45 -0
- data/app/assets/javascripts/pageflow/editor/views/page_preview_view.js +24 -16
- data/app/assets/javascripts/pageflow/editor/views/page_selection_view.js +46 -0
- data/app/assets/javascripts/pageflow/editor/views/page_thumbnail_view.js +2 -29
- data/app/assets/javascripts/pageflow/editor/views/publish_entry_view.js +95 -10
- data/app/assets/javascripts/pageflow/editor/views/scrolling_view.js +24 -0
- data/app/assets/javascripts/pageflow/entry_data.js +35 -0
- data/app/assets/javascripts/pageflow/features.js +68 -98
- data/app/assets/javascripts/pageflow/fullscreen.js +24 -0
- data/app/assets/javascripts/pageflow/highlighted_page.js +48 -0
- data/app/assets/javascripts/pageflow/history.js +50 -18
- data/app/assets/javascripts/pageflow/history/hash_adapter.js +36 -0
- data/app/assets/javascripts/pageflow/history/push_state_adapter.js +37 -0
- data/app/assets/javascripts/pageflow/history/simulated_adapter.js +44 -0
- data/app/assets/javascripts/pageflow/media_player.js +25 -0
- data/app/assets/javascripts/pageflow/media_player/async_play.js +54 -0
- data/app/assets/javascripts/pageflow/media_player/hooks.js +24 -0
- data/app/assets/javascripts/pageflow/media_player/load_waiting.js +11 -0
- data/app/assets/javascripts/pageflow/media_player/volume_binding.js +72 -0
- data/app/assets/javascripts/pageflow/media_player/volume_fading.js +62 -0
- data/app/assets/javascripts/pageflow/multimedia_alert.js +13 -0
- data/app/assets/javascripts/pageflow/object.js +14 -0
- data/app/assets/javascripts/pageflow/page_transitions.js +27 -0
- data/app/assets/javascripts/pageflow/page_type.js +6 -0
- data/app/assets/javascripts/pageflow/page_types/audio.js +17 -21
- data/app/assets/javascripts/pageflow/page_types/background_video.js +18 -17
- data/app/assets/javascripts/pageflow/page_types/mixins/common_page_css_classes.js +29 -4
- data/app/assets/javascripts/pageflow/page_types/video.js +73 -36
- data/app/assets/javascripts/pageflow/preload.js +9 -6
- data/app/assets/javascripts/pageflow/ready.js +18 -14
- data/app/assets/javascripts/pageflow/seed_entry_data.js +43 -0
- data/app/assets/javascripts/pageflow/settings.js +17 -4
- data/app/assets/javascripts/pageflow/slideshow.js +103 -23
- data/app/assets/javascripts/pageflow/slideshow/adjacent_pages.js +26 -0
- data/app/assets/javascripts/pageflow/slideshow/adjacent_preparer.js +44 -0
- data/app/assets/javascripts/pageflow/slideshow/atmo.js +105 -0
- data/app/assets/javascripts/pageflow/slideshow/dom_order_scroll_navigator.js +29 -0
- data/app/assets/javascripts/pageflow/slideshow/lazy_page_widget.js +49 -0
- data/app/assets/javascripts/pageflow/slideshow/page_widget.js +60 -26
- data/app/assets/javascripts/pageflow/slideshow/progressive_preload.js +16 -7
- data/app/assets/javascripts/pageflow/slideshow/scroll_indicator_widget.js +45 -7
- data/app/assets/javascripts/pageflow/slideshow/scroller_widget.js +42 -5
- data/app/assets/javascripts/pageflow/ui.js +1 -0
- data/app/assets/javascripts/pageflow/ui/object.js +4 -13
- data/app/assets/javascripts/pageflow/ui/utils/i18n_utils.js +23 -0
- data/app/assets/javascripts/pageflow/ui/views/collection_view.js +8 -4
- data/app/assets/javascripts/pageflow/ui/views/configuration_editor_tab_view.js +6 -5
- data/app/assets/javascripts/pageflow/ui/views/configuration_editor_view.js +2 -11
- data/app/assets/javascripts/pageflow/ui/views/inputs/select_input_view.js +6 -1
- data/app/assets/javascripts/pageflow/ui/views/inputs/text_input_view.js +4 -0
- data/app/assets/javascripts/pageflow/ui/views/mixins/input_view.js +149 -6
- data/app/assets/javascripts/pageflow/ui/views/mixins/subview_container.js +4 -0
- data/app/assets/javascripts/pageflow/video_player.js +5 -0
- data/app/assets/javascripts/pageflow/video_player/buffer_underrun_waiting.js +1 -1
- data/app/assets/javascripts/pageflow/video_player/lazy.js +8 -4
- data/app/assets/javascripts/pageflow/video_player/media_events.js +1 -1
- data/app/assets/javascripts/pageflow/video_player/play_button_patch.js +1 -1
- data/app/assets/javascripts/pageflow/video_player/prebuffering.js +1 -1
- data/app/assets/javascripts/pageflow/widgets/fullscreen_button.js +26 -0
- data/app/assets/javascripts/pageflow/widgets/multimedia_alert.js +21 -5
- data/app/assets/javascripts/pageflow/widgets/mute_button.js +42 -0
- data/app/assets/javascripts/pageflow/widgets/navigation.js +5 -78
- data/app/assets/javascripts/pageflow/widgets/navigation_mobile.js +4 -0
- data/app/assets/javascripts/pageflow/widgets/page_navigation_list.js +28 -34
- data/app/assets/javascripts/pageflow/widgets/parent_page_button.js +27 -0
- data/app/assets/javascripts/pageflow/widgets/skip_page_button.js +22 -0
- data/app/assets/javascripts/pageflow/widgets/top_button.js +6 -7
- data/app/assets/javascripts/pageflow/widgets/volume_slider.js +62 -0
- data/app/assets/stylesheets/pageflow/admin/entries.css.scss +10 -0
- data/app/assets/stylesheets/pageflow/animations.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/animations/loading.css.scss +8 -0
- data/app/assets/stylesheets/pageflow/animations/scroll.css.scss +18 -0
- data/app/assets/stylesheets/pageflow/base.css.scss +3 -1
- data/app/assets/stylesheets/pageflow/delayed_text_fade_in.css.scss +49 -0
- data/app/assets/stylesheets/pageflow/editor/base.css.scss +15 -2
- data/app/assets/stylesheets/pageflow/editor/disabled_atmo_indicator.css.scss +13 -0
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.css.scss +54 -0
- data/app/assets/stylesheets/pageflow/editor/files_explorer.css.scss +6 -0
- data/app/assets/stylesheets/pageflow/editor/indicators.css.scss +5 -0
- data/app/assets/stylesheets/pageflow/editor/inputs.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/inputs/reference.css.scss +51 -0
- data/app/assets/stylesheets/pageflow/editor/list.css.scss +108 -0
- data/app/assets/stylesheets/pageflow/editor/loading.css.scss +31 -0
- data/app/assets/stylesheets/pageflow/editor/outline.css.scss +7 -5
- data/app/assets/stylesheets/pageflow/editor/page_links.css.scss +58 -0
- data/app/assets/stylesheets/pageflow/editor/page_selection.css.scss +39 -0
- data/app/assets/stylesheets/pageflow/editor/publish_entry.css.scss +38 -1
- data/app/assets/stylesheets/pageflow/entries.css.scss +17 -9
- data/app/assets/stylesheets/pageflow/navigation_bar.css.scss +4 -0
- data/app/assets/stylesheets/pageflow/page_transitions.css.scss +10 -0
- data/app/assets/stylesheets/pageflow/page_transitions/crossfade.css.scss +29 -0
- data/app/assets/stylesheets/pageflow/page_transitions/cut.css.scss +23 -0
- data/app/assets/stylesheets/pageflow/page_transitions/fade.css.scss +78 -0
- data/app/assets/stylesheets/pageflow/page_transitions/fade_to_black.css.scss +107 -0
- data/app/assets/stylesheets/pageflow/page_transitions/scroll.css.scss +20 -0
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_in.css.scss +66 -0
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_in_right.css.scss +68 -0
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_left.css.scss +20 -0
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_right.css.scss +20 -0
- data/app/assets/stylesheets/pageflow/page_types.css.scss +1 -3
- data/app/assets/stylesheets/pageflow/page_types/video.css.scss +0 -4
- data/app/assets/stylesheets/pageflow/slideshow.css.scss +0 -145
- data/app/assets/stylesheets/pageflow/text_variants.css.scss +0 -4
- data/app/assets/stylesheets/pageflow/themes/default/navigation.css.scss +0 -3
- data/app/controllers/concerns/pageflow/public_https_mode.rb +13 -0
- data/app/controllers/pageflow/application_controller.rb +0 -6
- data/app/controllers/pageflow/chapters_controller.rb +2 -1
- data/app/controllers/pageflow/editor/entries_controller.rb +2 -0
- data/app/controllers/pageflow/editor/entry_publications_controller.rb +3 -1
- data/app/controllers/pageflow/entries_controller.rb +16 -3
- data/app/controllers/pageflow/files_controller.rb +3 -1
- data/app/helpers/pageflow/admin/features_helper.rb +25 -0
- data/app/helpers/pageflow/background_image_helper.rb +40 -9
- data/app/helpers/pageflow/entries_helper.rb +10 -11
- data/app/helpers/pageflow/entry_json_seed_helper.rb +44 -0
- data/app/helpers/pageflow/help_entries_helper.rb +4 -4
- data/app/helpers/pageflow/page_types_helper.rb +4 -2
- data/app/helpers/pageflow/pages_helper.rb +20 -27
- data/app/helpers/pageflow/widgets_helper.rb +4 -4
- data/app/models/concerns/pageflow/feature_target.rb +37 -0
- data/app/models/pageflow/account.rb +2 -0
- data/app/models/pageflow/chapter.rb +6 -0
- data/app/models/pageflow/draft_entry.rb +2 -0
- data/app/models/pageflow/entry.rb +47 -9
- data/app/models/pageflow/entry_duplicate.rb +51 -0
- data/app/models/pageflow/image_file.rb +33 -13
- data/app/models/pageflow/page.rb +2 -2
- data/app/models/pageflow/published_entry.rb +7 -1
- data/app/views/admin/accounts/_form.html.erb +11 -1
- data/app/views/admin/features/_form.html.erb +16 -0
- data/app/views/components/pageflow/admin/features_tab.rb +10 -0
- data/app/views/components/pageflow/admin/revisions_tab.rb +4 -0
- data/app/views/layouts/pageflow/_meta_tags.html.erb +1 -1
- data/app/views/layouts/pageflow/application.html.erb +2 -2
- data/app/views/pageflow/editor/accounts/_account.json.jbuilder +1 -0
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +2 -1
- data/app/views/pageflow/editor/entries/_help_entries_seed.html.erb +2 -2
- data/app/views/pageflow/editor/entries/_indicators_seed.html.erb +3 -0
- data/app/views/pageflow/editor/entries/seed.json.erb +3 -2
- data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +1 -0
- data/app/views/pageflow/editor/image_files/_image_file.json.jbuilder +1 -1
- data/app/views/pageflow/editor/themings/_theming.json.jbuilder +4 -0
- data/app/views/pageflow/editor/video_files/_video_file.json.jbuilder +1 -0
- data/app/views/pageflow/entries/_entry.html.erb +4 -3
- data/app/views/pageflow/entries/_indicators.html.erb +13 -0
- data/app/views/pageflow/entries/_mobile_navigation.html.erb +3 -15
- data/app/views/pageflow/entries/edit.html.erb +9 -1
- data/app/views/pageflow/entries/navigation/_bar_top.html.erb +3 -15
- data/app/views/pageflow/entries/share_menu/_facebook_link.html.erb +12 -0
- data/app/views/pageflow/entries/share_menu/_google_link.html.erb +12 -0
- data/app/views/pageflow/entries/share_menu/_twitter_link.html.erb +12 -0
- data/app/views/pageflow/entries/show.css.erb +12 -2
- data/app/views/pageflow/entries/show.html.erb +5 -1
- data/app/views/pageflow/page_types/_page_type.json.jbuilder +7 -1
- data/app/views/pageflow/pages/_page.html.erb +2 -2
- data/app/views/pageflow/pages/templates/_audio.html.erb +10 -0
- data/config/initializers/admin_resource_tabs.rb +1 -0
- data/config/initializers/features.rb +9 -0
- data/config/initializers/page_type_helpers.rb +1 -1
- data/config/initializers/paperclip.rb +1 -1
- data/config/initializers/zencoder.rb +1 -1
- data/config/locales/de.yml +132 -71
- data/config/locales/en.yml +118 -191
- data/db/migrate/20141211110226_add_configuration_to_chapters.rb +5 -0
- data/db/migrate/20150115175116_add_features_configuration_to_accounts.rb +5 -0
- data/db/migrate/20150115175207_add_features_configuration_to_entries.rb +5 -0
- data/db/migrate/20150603091823_add_password_attributes_to_revisions.rb +6 -0
- data/db/migrate/20151022080518_add_first_published_at_to_entries.rb +14 -0
- data/lib/generators/pageflow/initializer/templates/pageflow.rb +26 -17
- data/lib/generators/pageflow/theme/theme_generator.rb +2 -1
- data/lib/pageflow.rb +2 -46
- data/lib/pageflow/admin/form_input.rb +18 -0
- data/lib/pageflow/admin/form_inputs.rb +41 -0
- data/lib/pageflow/built_in_page_type.rb +0 -4
- data/lib/pageflow/configuration.rb +74 -18
- data/lib/pageflow/feature.rb +33 -0
- data/lib/pageflow/features.rb +68 -0
- data/lib/pageflow/global_config_api.rb +118 -0
- data/lib/pageflow/page_type_feature.rb +21 -0
- data/lib/pageflow/page_types.rb +29 -0
- data/lib/pageflow/theme.rb +20 -0
- data/lib/pageflow/themes.rb +26 -0
- data/lib/pageflow/version.rb +1 -1
- data/spec/factories/entries.rb +6 -0
- data/spec/factories/feature_targets.rb +4 -0
- data/spec/fixtures/image.gif +0 -0
- data/spec/fixtures/video.mp4 +0 -0
- data/vendor/assets/javascripts/audio5.min.js +12 -8
- data/vendor/assets/javascripts/iscroll.js +1 -1
- metadata +144 -24
- data/app/assets/images/pageflow/internal_links_pictogram.png +0 -0
- data/app/assets/images/pageflow/internal_links_pictogram_small.png +0 -0
- data/app/assets/images/pageflow/internal_links_sprite.png +0 -0
- data/app/assets/images/pageflow/ov-internal_links.png +0 -0
- data/app/assets/images/pageflow/themes/default/internal_links_sprite.png +0 -0
- data/app/assets/javascripts/pageflow/editor/templates/embedded/page_link.jst.ejs +0 -3
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/internal_links.js +0 -24
- data/app/assets/javascripts/pageflow/editor/views/draggable_page_item_view.js +0 -31
- data/app/assets/javascripts/pageflow/editor/views/embedded/page_link_embedded_view.js +0 -176
- data/app/assets/javascripts/pageflow/features/video.js +0 -16
- data/app/assets/javascripts/pageflow/page_types/internal_links.js +0 -55
- data/app/assets/javascripts/pageflow/ui/templates/inputs/page_reference.jst.ejs +0 -6
- data/app/assets/javascripts/pageflow/ui/views/inputs/page_reference_input_view.js +0 -44
- data/app/assets/stylesheets/pageflow/editor/embedded.css.scss +0 -104
- data/app/assets/stylesheets/pageflow/page_types/internal_links.css.scss +0 -222
- data/app/views/pageflow/pages/templates/_internal_links.html.erb +0 -31
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,24 +0,0 @@
|
|
1
|
-
pageflow.ConfigurationEditorView.register('internal_links', {
|
2
|
-
configure: function() {
|
3
|
-
this.tab('general', function() {
|
4
|
-
this.group('general');
|
5
|
-
});
|
6
|
-
|
7
|
-
this.tab('files', function() {
|
8
|
-
this.input('background_image_id', pageflow.FileInputView, {collection: pageflow.imageFiles});
|
9
|
-
this.input('thumbnail_image_id', pageflow.FileInputView, {
|
10
|
-
collection: pageflow.imageFiles,
|
11
|
-
positioning: false
|
12
|
-
});
|
13
|
-
});
|
14
|
-
|
15
|
-
this.tab('links', function() {
|
16
|
-
this.input('linked_pages_layout', pageflow.SelectInputView, {values: pageflow.Page.linkedPagesLayouts});
|
17
|
-
this.input('linked_page_ids', pageflow.PageReferenceInputView);
|
18
|
-
});
|
19
|
-
|
20
|
-
this.tab('options', function() {
|
21
|
-
this.group('options');
|
22
|
-
});
|
23
|
-
}
|
24
|
-
});
|
@@ -1,31 +0,0 @@
|
|
1
|
-
pageflow.DraggablePageItemView = pageflow.PageItemView.extend({
|
2
|
-
className: 'draggable',
|
3
|
-
|
4
|
-
events: {
|
5
|
-
'mouseenter': function() {
|
6
|
-
this.model.set('highlighted', true);
|
7
|
-
},
|
8
|
-
|
9
|
-
'mouseleave': function() {
|
10
|
-
this.model.unset('highlighted');
|
11
|
-
}
|
12
|
-
},
|
13
|
-
|
14
|
-
onRender: function() {
|
15
|
-
var view = this;
|
16
|
-
|
17
|
-
this.$el.draggable({
|
18
|
-
helper: function() {
|
19
|
-
return view.$el
|
20
|
-
.clone()
|
21
|
-
.width(view.$el.width())
|
22
|
-
.wrap('<div class="editor"><ul class="dragged pages outline" /></div>')
|
23
|
-
.parents('.editor')
|
24
|
-
.css('z-index', 100);
|
25
|
-
},
|
26
|
-
appendTo: 'body'
|
27
|
-
});
|
28
|
-
|
29
|
-
pageflow.PageItemView.prototype.onRender.call(this);
|
30
|
-
}
|
31
|
-
});
|
@@ -1,176 +0,0 @@
|
|
1
|
-
pageflow.PageLinkEmbeddedView = Backbone.Marionette.ItemView.extend({
|
2
|
-
template: 'templates/embedded/page_link',
|
3
|
-
|
4
|
-
modelEvents: {
|
5
|
-
'change': 'update'
|
6
|
-
},
|
7
|
-
|
8
|
-
ui: {
|
9
|
-
title: 'span.title'
|
10
|
-
},
|
11
|
-
|
12
|
-
events: {
|
13
|
-
'click .reset': function() {
|
14
|
-
this.save(null);
|
15
|
-
},
|
16
|
-
|
17
|
-
'click .thumbnail': function () {
|
18
|
-
if (!this.$el.hasClass('editable')) {
|
19
|
-
pageflow.slides.goToById(this.linkedPage().id);
|
20
|
-
}
|
21
|
-
|
22
|
-
return false;
|
23
|
-
},
|
24
|
-
|
25
|
-
'mousedown': function() {
|
26
|
-
if (this.$el.hasClass('editable') && !this.$el.hasClass('unassigned')) {
|
27
|
-
return false;
|
28
|
-
}
|
29
|
-
}
|
30
|
-
},
|
31
|
-
|
32
|
-
onRender: function() {
|
33
|
-
var view = this;
|
34
|
-
|
35
|
-
this.$el.droppable({
|
36
|
-
tolerance: 'pointer',
|
37
|
-
|
38
|
-
accept: function() {
|
39
|
-
return view.$el.hasClass('editable') && view.$el.hasClass('unassigned');
|
40
|
-
},
|
41
|
-
|
42
|
-
activate: function() {
|
43
|
-
view.$el.addClass('droppable');
|
44
|
-
},
|
45
|
-
|
46
|
-
deactivate: function() {
|
47
|
-
view.$el.removeClass('droppable over');
|
48
|
-
},
|
49
|
-
|
50
|
-
over: function() {
|
51
|
-
view.$el.addClass('over');
|
52
|
-
},
|
53
|
-
|
54
|
-
out: function() {
|
55
|
-
view.$el.removeClass('over');
|
56
|
-
},
|
57
|
-
|
58
|
-
drop: function(event, ui) {
|
59
|
-
view.$el.removeClass('droppable over');
|
60
|
-
view.save(ui.draggable.data('permaId'));
|
61
|
-
}
|
62
|
-
});
|
63
|
-
|
64
|
-
this.$el.draggable({
|
65
|
-
disabled: true,
|
66
|
-
|
67
|
-
helper: 'clone',
|
68
|
-
|
69
|
-
revert: function(droppable) {
|
70
|
-
if (droppable) {
|
71
|
-
view.save(null);
|
72
|
-
}
|
73
|
-
|
74
|
-
return !droppable;
|
75
|
-
},
|
76
|
-
|
77
|
-
start: function() {
|
78
|
-
view.$el.addClass('dragged');
|
79
|
-
},
|
80
|
-
|
81
|
-
stop: function() {
|
82
|
-
view.$el.removeClass('dragged');
|
83
|
-
},
|
84
|
-
|
85
|
-
revertDuration: 200
|
86
|
-
});
|
87
|
-
|
88
|
-
this.listenTo(this.model.page, 'change:' + this.options.propertyName + '_editable', function() {
|
89
|
-
view.updateClassName();
|
90
|
-
view.updateDraggable();
|
91
|
-
view.options.container.refreshScroller();
|
92
|
-
});
|
93
|
-
|
94
|
-
this.update();
|
95
|
-
},
|
96
|
-
|
97
|
-
update: function() {
|
98
|
-
var linkedPage = this.linkedPage();
|
99
|
-
|
100
|
-
this.$el.data('permaId', linkedPage ? linkedPage.get('perma_id') : null);
|
101
|
-
|
102
|
-
this.updateTitle();
|
103
|
-
this.updateThumbnailView();
|
104
|
-
this.updateClassName();
|
105
|
-
this.updateDraggable();
|
106
|
-
},
|
107
|
-
|
108
|
-
updateTitle: function() {
|
109
|
-
var linkedPage = this.linkedPage();
|
110
|
-
|
111
|
-
this.ui.title.html(linkedPage ? linkedPage.configuration.get('description') : '');
|
112
|
-
},
|
113
|
-
|
114
|
-
updateThumbnailView: function() {
|
115
|
-
var linkedPage = this.linkedPage();
|
116
|
-
|
117
|
-
if (this.currentLinkedPage !== linkedPage) {
|
118
|
-
if (this.currentLinkedPage) {
|
119
|
-
this.stopListening(this.currentLinkedPage, 'change:highlighted');
|
120
|
-
this.stopListening(this.currentLinkedPage.configuration, 'change:description');
|
121
|
-
}
|
122
|
-
|
123
|
-
this.currentLinkedPage = linkedPage;
|
124
|
-
|
125
|
-
if (this.thumbnailView) {
|
126
|
-
this.thumbnailView.close();
|
127
|
-
}
|
128
|
-
|
129
|
-
if (linkedPage) {
|
130
|
-
this.thumbnailView = this.subview(new pageflow.PageThumbnailView({
|
131
|
-
model: linkedPage,
|
132
|
-
imageUrlPropertyName: 'link_thumbnail_url'
|
133
|
-
}));
|
134
|
-
|
135
|
-
this.$el.append(this.thumbnailView.el);
|
136
|
-
|
137
|
-
this.listenTo(linkedPage, 'change:highlighted', this.updateClassName);
|
138
|
-
this.listenTo(linkedPage.configuration, 'change:description', this.updateTitle);
|
139
|
-
}
|
140
|
-
}
|
141
|
-
},
|
142
|
-
|
143
|
-
updateClassName: function() {
|
144
|
-
var editable = this.model.page.get(this.options.propertyName + '_editable');
|
145
|
-
var linkedPage = this.linkedPage();
|
146
|
-
|
147
|
-
this.$el.toggleClass('title_hover', !editable);
|
148
|
-
this.$el.toggleClass('editable', !!editable);
|
149
|
-
this.$el.toggleClass('empty', !linkedPage && !editable);
|
150
|
-
this.$el.toggleClass('unassigned', !linkedPage);
|
151
|
-
this.$el.toggleClass('highlighted', !!linkedPage && !!linkedPage.get('highlighted'));
|
152
|
-
},
|
153
|
-
|
154
|
-
updateDraggable: function() {
|
155
|
-
this.$el.draggable('option', 'disabled', !this.$el.hasClass('editable') || this.$el.hasClass('unassigned'));
|
156
|
-
},
|
157
|
-
|
158
|
-
save: function(pagePermaId) {
|
159
|
-
var references = _.clone(this.model.get(this.options.propertyName) || {});
|
160
|
-
references[this.keyName()] = pagePermaId;
|
161
|
-
|
162
|
-
this.model.set(this.options.propertyName, references);
|
163
|
-
},
|
164
|
-
|
165
|
-
linkedPage: function() {
|
166
|
-
return pageflow.pages.getByPermaId(this.linkedPagePermaId());
|
167
|
-
},
|
168
|
-
|
169
|
-
linkedPagePermaId: function() {
|
170
|
-
return (this.model.get(this.options.propertyName) || {})[this.keyName()];
|
171
|
-
},
|
172
|
-
|
173
|
-
keyName: function() {
|
174
|
-
return this.$el.data('referenceKey');
|
175
|
-
}
|
176
|
-
});
|
@@ -1,16 +0,0 @@
|
|
1
|
-
pageflow.features.add('rewrite video sources support', function() {
|
2
|
-
// set from conditionally included script file
|
3
|
-
return !pageflow.ie9;
|
4
|
-
});
|
5
|
-
|
6
|
-
pageflow.features.add('stop buffering support', function(has) {
|
7
|
-
return has.not('mobile platform');
|
8
|
-
});
|
9
|
-
|
10
|
-
pageflow.features.add('buffer underrun waiting support', function(has) {
|
11
|
-
return has.not('mobile platform');
|
12
|
-
});
|
13
|
-
|
14
|
-
pageflow.features.add('prebuffering support', function(has) {
|
15
|
-
return has.not('mobile platform');
|
16
|
-
});
|
@@ -1,55 +0,0 @@
|
|
1
|
-
pageflow.pageType.register('internal_links', _.extend({
|
2
|
-
|
3
|
-
prepareNextPageTimeout: 0,
|
4
|
-
|
5
|
-
enhance: function(pageElement, configuration) {
|
6
|
-
pageElement.on('click', 'nav .thumbnail', function() {
|
7
|
-
pageflow.slides.goToById($(this).data('page'));
|
8
|
-
return false;
|
9
|
-
});
|
10
|
-
},
|
11
|
-
|
12
|
-
prepare: function(pageElement, configuration) {
|
13
|
-
},
|
14
|
-
|
15
|
-
preload: function(pageElement, configuration) {
|
16
|
-
return pageflow.preload.backgroundImage(pageElement.find('.background_image'));
|
17
|
-
},
|
18
|
-
|
19
|
-
activating: function(pageElement, configuration) {},
|
20
|
-
|
21
|
-
activated: function(pageElement, configuration) {},
|
22
|
-
|
23
|
-
deactivating: function(pageElement, configuration) {},
|
24
|
-
|
25
|
-
deactivated: function(pageElement, configuration) {},
|
26
|
-
|
27
|
-
update: function(pageElement, configuration) {
|
28
|
-
pageElement.find('h2 .tagline').text(configuration.get('tagline') || '');
|
29
|
-
pageElement.find('h2 .title').text(configuration.get('title') || '');
|
30
|
-
pageElement.find('h2 .subtitle').text(configuration.get('subtitle') || '');
|
31
|
-
pageElement.find('p').html(configuration.get('text') || '');
|
32
|
-
|
33
|
-
this.updateCommonPageCssClasses(pageElement, configuration);
|
34
|
-
|
35
|
-
pageElement.find('.shadow').css({
|
36
|
-
opacity: configuration.get('gradient_opacity') / 100
|
37
|
-
});
|
38
|
-
|
39
|
-
pageElement.find('nav').attr('data-layout', configuration.get('linked_pages_layout'));
|
40
|
-
},
|
41
|
-
|
42
|
-
embeddedEditorViews: function() {
|
43
|
-
return {
|
44
|
-
'nav li': {
|
45
|
-
view: pageflow.PageLinkEmbeddedView,
|
46
|
-
options: {propertyName: 'linked_page_ids'}
|
47
|
-
},
|
48
|
-
|
49
|
-
'.background_image': {
|
50
|
-
view: pageflow.BackgroundImageEmbeddedView,
|
51
|
-
options: {propertyName: 'background_image_id'}
|
52
|
-
}
|
53
|
-
};
|
54
|
-
}
|
55
|
-
}, pageflow.commonPageCssClasses));
|
@@ -1,44 +0,0 @@
|
|
1
|
-
pageflow.PageReferenceInputView = Backbone.Marionette.ItemView.extend({
|
2
|
-
mixins: [pageflow.inputView],
|
3
|
-
|
4
|
-
template: 'pageflow/ui/templates/inputs/page_reference',
|
5
|
-
className: 'page_reference_input',
|
6
|
-
|
7
|
-
ui: {
|
8
|
-
chapters: 'ul.chapters'
|
9
|
-
},
|
10
|
-
|
11
|
-
modelEvents: {
|
12
|
-
'change:linked_page_ids': function() {
|
13
|
-
this._highlightUsedPages();
|
14
|
-
}
|
15
|
-
},
|
16
|
-
|
17
|
-
onRender: function() {
|
18
|
-
this.model.page.set('linked_page_ids_editable', true);
|
19
|
-
|
20
|
-
this.subview(new pageflow.CollectionView({
|
21
|
-
el: this.ui.chapters,
|
22
|
-
collection: pageflow.entry.chapters,
|
23
|
-
itemViewConstructor: pageflow.ChapterItemView,
|
24
|
-
itemViewOptions: {
|
25
|
-
pageItemView: pageflow.DraggablePageItemView
|
26
|
-
}
|
27
|
-
}));
|
28
|
-
|
29
|
-
this._highlightUsedPages();
|
30
|
-
},
|
31
|
-
|
32
|
-
onClose: function() {
|
33
|
-
this.model.page.unset('linked_page_ids_editable');
|
34
|
-
},
|
35
|
-
|
36
|
-
_highlightUsedPages: function() {
|
37
|
-
var model = this.model;
|
38
|
-
|
39
|
-
this.$('ul.pages > li').each(function() {
|
40
|
-
var usedPageIds = _.values(model.get('linked_page_ids') || {});
|
41
|
-
$(this).toggleClass('used', _.contains(usedPageIds, $(this).data('permaId')));
|
42
|
-
});
|
43
|
-
}
|
44
|
-
});
|
@@ -1,104 +0,0 @@
|
|
1
|
-
.page_links li {
|
2
|
-
position: relative;
|
3
|
-
cursor: pointer;
|
4
|
-
|
5
|
-
.placeholder {
|
6
|
-
display: none;
|
7
|
-
}
|
8
|
-
|
9
|
-
.title {
|
10
|
-
pointer-events: none;
|
11
|
-
}
|
12
|
-
|
13
|
-
.reset {
|
14
|
-
@include icon-only-button(white);
|
15
|
-
@include cancel-icon;
|
16
|
-
position: absolute;
|
17
|
-
display: none;
|
18
|
-
z-index: 1;
|
19
|
-
top: 5px;
|
20
|
-
right: 15px;
|
21
|
-
background-color: #fff;
|
22
|
-
border: solid 1px #888;
|
23
|
-
}
|
24
|
-
|
25
|
-
@import "./file_thumbnails";
|
26
|
-
|
27
|
-
.pictogram {
|
28
|
-
pointer-events: none;
|
29
|
-
background-color: #444;
|
30
|
-
position: absolute !important;
|
31
|
-
bottom: 0;
|
32
|
-
}
|
33
|
-
|
34
|
-
&.editable {
|
35
|
-
cursor: default;
|
36
|
-
|
37
|
-
&:hover .reset {
|
38
|
-
display: block;
|
39
|
-
}
|
40
|
-
|
41
|
-
&.unassigned {
|
42
|
-
.reset {
|
43
|
-
display: none;
|
44
|
-
}
|
45
|
-
|
46
|
-
.placeholder {
|
47
|
-
display: block;
|
48
|
-
}
|
49
|
-
}
|
50
|
-
|
51
|
-
%highlight {
|
52
|
-
z-index: 0;
|
53
|
-
position: relative;
|
54
|
-
outline: solid 1px #000;
|
55
|
-
|
56
|
-
&:before {
|
57
|
-
content: "";
|
58
|
-
position: absolute;
|
59
|
-
top: -1px;
|
60
|
-
left: -1px;
|
61
|
-
width: 100%;
|
62
|
-
height: 100%;
|
63
|
-
border: solid 1px #fff;
|
64
|
-
@include animation(blink 3s linear infinite);
|
65
|
-
z-index: 1;
|
66
|
-
}
|
67
|
-
}
|
68
|
-
}
|
69
|
-
|
70
|
-
&.droppable %highlight {
|
71
|
-
background-color: rgba(0, 0, 0, 0.3);
|
72
|
-
|
73
|
-
&:before {
|
74
|
-
background-color: rgba(255, 255, 255, 0.6);
|
75
|
-
}
|
76
|
-
}
|
77
|
-
|
78
|
-
&.editable.highlighted %highlight,
|
79
|
-
&.over %highlight {
|
80
|
-
&:after {
|
81
|
-
content: "";
|
82
|
-
position: absolute;
|
83
|
-
top: 0;
|
84
|
-
width: 100%;
|
85
|
-
height: 100%;
|
86
|
-
background-color: rgba(255, 255, 255, 0.6);
|
87
|
-
}
|
88
|
-
}
|
89
|
-
|
90
|
-
.placeholder,
|
91
|
-
.thumbnail {
|
92
|
-
@extend %highlight;
|
93
|
-
}
|
94
|
-
|
95
|
-
&.dragged {
|
96
|
-
.thumbnail {
|
97
|
-
background-image: none !important;
|
98
|
-
}
|
99
|
-
|
100
|
-
.pictogram {
|
101
|
-
display: none;
|
102
|
-
}
|
103
|
-
}
|
104
|
-
}
|