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
@@ -0,0 +1,26 @@
|
|
1
|
+
(function($) {
|
2
|
+
$.widget('pageflow.fullscreenButton', {
|
3
|
+
_create: function() {
|
4
|
+
pageflow.fullscreen.on('change', this.update, this);
|
5
|
+
this.update();
|
6
|
+
|
7
|
+
this.element.click(function() {
|
8
|
+
pageflow.fullscreen.toggle();
|
9
|
+
});
|
10
|
+
|
11
|
+
if (!pageflow.fullscreen.isSupported()) {
|
12
|
+
this.element.css('visibility', 'hidden');
|
13
|
+
}
|
14
|
+
},
|
15
|
+
|
16
|
+
_destroy: function() {
|
17
|
+
pageflow.fullscreen.off('change', this.update);
|
18
|
+
},
|
19
|
+
|
20
|
+
update: function() {
|
21
|
+
this.element
|
22
|
+
.toggleClass('active', !!pageflow.fullscreen.isActive())
|
23
|
+
.updateTitle();
|
24
|
+
}
|
25
|
+
});
|
26
|
+
}(jQuery));
|
@@ -3,18 +3,26 @@
|
|
3
3
|
_create: function() {
|
4
4
|
var widget = this;
|
5
5
|
|
6
|
+
function show() {
|
7
|
+
widget.element.show();
|
8
|
+
toggleContent(false);
|
9
|
+
}
|
10
|
+
|
11
|
+
function hide() {
|
12
|
+
widget.element.hide();
|
13
|
+
toggleContent(true);
|
14
|
+
}
|
15
|
+
|
6
16
|
function toggleContent(state) {
|
7
17
|
$('.page .content').toggleClass('initially_hidden', !state);
|
8
18
|
$('.slideshow .scroll_indicator').toggleClass('initially_hidden', !state);
|
9
19
|
}
|
10
20
|
|
11
21
|
pageflow.manualStart.required().then(function(start) {
|
12
|
-
|
13
|
-
toggleContent(false);
|
22
|
+
show();
|
14
23
|
|
15
|
-
widget.element.find('.close').
|
16
|
-
|
17
|
-
toggleContent(true);
|
24
|
+
widget.element.find('.close').one('click', function() {
|
25
|
+
hide();
|
18
26
|
|
19
27
|
pageflow.events.trigger('button:close_multimedia_alert');
|
20
28
|
start();
|
@@ -22,6 +30,14 @@
|
|
22
30
|
return false;
|
23
31
|
});
|
24
32
|
});
|
33
|
+
|
34
|
+
pageflow.events.on('request:multimedia_alert', function() {
|
35
|
+
show();
|
36
|
+
|
37
|
+
widget.element.find('.close').one('click', function() {
|
38
|
+
hide();
|
39
|
+
});
|
40
|
+
}, this);
|
25
41
|
}
|
26
42
|
});
|
27
43
|
}(jQuery));
|
@@ -0,0 +1,42 @@
|
|
1
|
+
(function($) {
|
2
|
+
$.widget('pageflow.muteButton', {
|
3
|
+
_create: function() {
|
4
|
+
var element = this.element;
|
5
|
+
var volumeBeforeMute = 1;
|
6
|
+
|
7
|
+
element.on('click', toggleMute);
|
8
|
+
|
9
|
+
pageflow.settings.on('change:volume', this.update, this);
|
10
|
+
this.update();
|
11
|
+
|
12
|
+
function toggleMute() {
|
13
|
+
if (pageflow.settings.get('volume') > 0) {
|
14
|
+
volumeBeforeMute = pageflow.settings.get('volume');
|
15
|
+
pageflow.settings.set('volume', 0);
|
16
|
+
}
|
17
|
+
else {
|
18
|
+
pageflow.settings.set('volume', volumeBeforeMute);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
},
|
22
|
+
|
23
|
+
_destroy: function() {
|
24
|
+
pageflow.settings.off('change:volume', this.update);
|
25
|
+
},
|
26
|
+
|
27
|
+
update: function() {
|
28
|
+
var volume = pageflow.settings.get('volume');
|
29
|
+
|
30
|
+
if (volume === 0) {
|
31
|
+
this.element
|
32
|
+
.attr('title', this.element.attr('data-muted-title'))
|
33
|
+
.addClass('muted');
|
34
|
+
}
|
35
|
+
else {
|
36
|
+
this.element
|
37
|
+
.attr('title', this.element.attr('data-not-muted-title'))
|
38
|
+
.removeClass('muted');
|
39
|
+
}
|
40
|
+
}
|
41
|
+
});
|
42
|
+
}(jQuery));
|
@@ -15,68 +15,13 @@
|
|
15
15
|
$('.navigation_bar_bottom', element)
|
16
16
|
.append($('.navigation_bar_top > li', element).slice(hasHomeButton ? 4 : 3));
|
17
17
|
|
18
|
-
/* Volume */
|
19
18
|
|
20
|
-
|
21
|
-
|
22
|
-
var muteButton = $('.navigation_bg.navigation_mute', element);
|
23
|
-
|
24
|
-
var changeVolume = function(event) {
|
25
|
-
var volume = (event.pageX - $('.volume-slider', element).offset().left) / $(('.volume-slider')).width();
|
26
|
-
if (volume > 1) { volume = 1; }
|
27
|
-
if (volume < 0) { volume = 0; }
|
28
|
-
setVolume(volume);
|
29
|
-
};
|
30
|
-
|
31
|
-
var setVolume = function(volume) {
|
32
|
-
$('.volume-level', element).css({width: volume * 100 + "%"});
|
33
|
-
pageflow.settings.set('volume', volume);
|
34
|
-
|
35
|
-
if (volume === 0) {
|
36
|
-
muteButton
|
37
|
-
.attr('title', muteButton.attr('data-muted-title'))
|
38
|
-
.addClass('muted');
|
39
|
-
}
|
40
|
-
else {
|
41
|
-
muteButton
|
42
|
-
.attr('title', muteButton.attr('data-not-muted-title'))
|
43
|
-
.removeClass('muted');
|
44
|
-
}
|
45
|
-
};
|
46
|
-
|
47
|
-
var toggleMute = function () {
|
48
|
-
if (pageflow.settings.get('volume') > 0) {
|
49
|
-
volumeBeforeMute = pageflow.settings.get('volume');
|
50
|
-
setVolume(0);
|
51
|
-
}
|
52
|
-
else {
|
53
|
-
setVolume(volumeBeforeMute);
|
54
|
-
}
|
55
|
-
};
|
56
|
-
|
57
|
-
muteButton.on("click", function() {
|
58
|
-
toggleMute();
|
59
|
-
});
|
60
|
-
|
61
|
-
$('.volume-level', element).css({
|
62
|
-
width: pageflow.settings.get("volume") * 100 + "%"
|
63
|
-
});
|
64
|
-
|
65
|
-
$('.navigation_volume_box', element).on("mousedown", function(event) {
|
66
|
-
handlingVolume = true;
|
67
|
-
changeVolume(event);
|
68
|
-
});
|
69
|
-
|
70
|
-
$('.navigation_volume_box', element).on("mousemove", function(event) {
|
71
|
-
if(handlingVolume) {
|
72
|
-
changeVolume(event);
|
73
|
-
}
|
74
|
-
});
|
75
|
-
|
76
|
-
setVolume(pageflow.settings.get('volume'));
|
19
|
+
$('.navigation_volume_box', element).volumeSlider({orientation: 'h'});
|
20
|
+
$('.navigation_mute', element).muteButton();
|
77
21
|
|
78
22
|
/* hide volume button on mobile devices */
|
79
|
-
|
23
|
+
|
24
|
+
if (pageflow.browser.has('mobile platform')) {
|
80
25
|
$('li.mute', element).hide();
|
81
26
|
$('.navigation_bar_bottom', element).css('height', '224px');
|
82
27
|
$('.scroller', element).css('bottom', '224px');
|
@@ -307,22 +252,7 @@
|
|
307
252
|
});
|
308
253
|
|
309
254
|
/* fullscreen button */
|
310
|
-
|
311
|
-
var fs = $('.navigation_fullscreen', element),
|
312
|
-
fullscreenCallback = function(isFullScreen) {
|
313
|
-
fs
|
314
|
-
.toggleClass('active', !!isFullScreen)
|
315
|
-
.updateTitle();
|
316
|
-
};
|
317
|
-
|
318
|
-
fs.click(function() {
|
319
|
-
fs.toggleClass('fs').updateTitle();
|
320
|
-
$('#outer_wrapper').fullScreen({'callback': fullscreenCallback});
|
321
|
-
});
|
322
|
-
}
|
323
|
-
else {
|
324
|
-
$('.navigation_bar_bottom .fullscreen a', element).css('visibility', 'hidden');
|
325
|
-
}
|
255
|
+
$('.navigation_bar_bottom .fullscreen a', element).fullscreenButton();
|
326
256
|
|
327
257
|
$('.button, .navigation_mute, .scroll_indicator', element).on({
|
328
258
|
'touchstart mousedown': function() {
|
@@ -353,9 +283,6 @@
|
|
353
283
|
});
|
354
284
|
|
355
285
|
$('body').on({
|
356
|
-
'mouseup': function() {
|
357
|
-
handlingVolume = false;
|
358
|
-
},
|
359
286
|
'pageactivate': function(e) {
|
360
287
|
toggleIndicators();
|
361
288
|
}
|
@@ -29,6 +29,10 @@
|
|
29
29
|
$(element).removeClass('sharing');
|
30
30
|
});
|
31
31
|
|
32
|
+
$('.imprint_mobile a', element).on('click touchstart', function(event) {
|
33
|
+
event.stopPropagation();
|
34
|
+
});
|
35
|
+
|
32
36
|
$('.wrapper', element).each(function() {
|
33
37
|
var sharingMobile = $(this).parents('.sharing_mobile');
|
34
38
|
|
@@ -6,32 +6,36 @@
|
|
6
6
|
var scroller = options.scroller;
|
7
7
|
var links = element.find('a[href]');
|
8
8
|
|
9
|
+
var chapterFilter = pageflow.ChapterFilter.create();
|
10
|
+
var highlightedPage = pageflow.HighlightedPage.create();
|
11
|
+
|
9
12
|
pageflow.ready.then(function() {
|
10
13
|
highlightUnvisitedPages(pageflow.visited.getUnvisitedPages());
|
11
|
-
|
14
|
+
update(getPagePermaId(pageflow.slides.currentPage()));
|
12
15
|
});
|
13
16
|
|
14
17
|
pageflow.slides.on('pageactivate', function(e) {
|
15
18
|
setPageVisited(e.target.getAttribute('id'));
|
16
|
-
|
19
|
+
update(getPagePermaId(e.target));
|
17
20
|
});
|
18
21
|
|
19
|
-
function
|
20
|
-
return $(section).attr('id') ||
|
22
|
+
function getPagePermaId(section) {
|
23
|
+
return parseInt($(section).attr('id') || $(section).attr('data-perma-id'), 10);
|
21
24
|
}
|
22
25
|
|
23
|
-
function
|
24
|
-
var
|
25
|
-
return links.filter('[href="#' + id + '"]').length;
|
26
|
-
});
|
26
|
+
function update(currentPagePermaId) {
|
27
|
+
var highlightedPagePermaId = highlightedPage.getPagePermaId(currentPagePermaId);
|
27
28
|
|
28
|
-
|
29
|
+
element.toggleClass('inside_sub_chapter', highlightedPagePermaId !== currentPagePermaId);
|
30
|
+
|
31
|
+
highlightPage(highlightedPagePermaId);
|
32
|
+
filterChapters(currentPagePermaId);
|
29
33
|
}
|
30
34
|
|
31
|
-
function highlightPage(
|
35
|
+
function highlightPage(permaId) {
|
32
36
|
links.each(function() {
|
33
37
|
var link = $(this);
|
34
|
-
var active = '#' +
|
38
|
+
var active = '#' + permaId === link.attr('href');
|
35
39
|
|
36
40
|
link.toggleClass('active', active);
|
37
41
|
link.attr('tabindex', active ? '-1' : '3');
|
@@ -57,29 +61,6 @@
|
|
57
61
|
});
|
58
62
|
}
|
59
63
|
|
60
|
-
function pageIdsUpUntil(id) {
|
61
|
-
var found = false;
|
62
|
-
|
63
|
-
return _.filter(pageIds(), function(other) {
|
64
|
-
var result = !found;
|
65
|
-
found = found || (id === other);
|
66
|
-
return result;
|
67
|
-
});
|
68
|
-
}
|
69
|
-
|
70
|
-
function pageIds() {
|
71
|
-
if (_.isArray(pageflow.pages)) {
|
72
|
-
return _.map(pageflow.pages, function(page) {
|
73
|
-
return page.perma_id.toString();
|
74
|
-
});
|
75
|
-
}
|
76
|
-
else {
|
77
|
-
return pageflow.pages.map(function(page) {
|
78
|
-
return page.get('perma_id').toString();
|
79
|
-
});
|
80
|
-
}
|
81
|
-
}
|
82
|
-
|
83
64
|
function highlightUnvisitedPages(ids) {
|
84
65
|
links.each(function() {
|
85
66
|
var link = $(this);
|
@@ -92,6 +73,19 @@
|
|
92
73
|
function setPageVisited(id) {
|
93
74
|
element.find('[href="#' + id + '"]').removeClass('unvisited');
|
94
75
|
}
|
76
|
+
|
77
|
+
function filterChapters(currentPagePermaId) {
|
78
|
+
links.each(function() {
|
79
|
+
var link = $(this);
|
80
|
+
|
81
|
+
link.toggleClass('filtered', !chapterFilter.chapterVisibleFromPage(
|
82
|
+
currentPagePermaId,
|
83
|
+
link.data('chapterId')
|
84
|
+
));
|
85
|
+
});
|
86
|
+
|
87
|
+
scroller.refresh();
|
88
|
+
}
|
95
89
|
}
|
96
90
|
});
|
97
91
|
}(jQuery));
|
@@ -0,0 +1,27 @@
|
|
1
|
+
(function($) {
|
2
|
+
$.widget('pageflow.parentPageButton', {
|
3
|
+
_create: function() {
|
4
|
+
var element = this.element;
|
5
|
+
|
6
|
+
element.click(function(event) {
|
7
|
+
pageflow.slides.goToParentPage();
|
8
|
+
event.preventDefault();
|
9
|
+
});
|
10
|
+
|
11
|
+
pageflow.slides.on('pageactivate', function(e, ui) {
|
12
|
+
update();
|
13
|
+
});
|
14
|
+
|
15
|
+
update();
|
16
|
+
|
17
|
+
function update() {
|
18
|
+
var pagePermaId = parseInt(pageflow.slides.currentPage().attr('id'), 10);
|
19
|
+
var chapterId = pageflow.entryData.getChapterIdByPagePermaId(pagePermaId);
|
20
|
+
var chapterConfiguration = pageflow.entryData.getChapterConfiguration(chapterId);
|
21
|
+
|
22
|
+
element.toggle(pageflow.slides.parentPageExists() &&
|
23
|
+
chapterConfiguration.display_parent_page_button);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
});
|
27
|
+
}(jQuery));
|
@@ -0,0 +1,22 @@
|
|
1
|
+
(function($) {
|
2
|
+
$.widget('pageflow.skipPageButton', {
|
3
|
+
_create: function() {
|
4
|
+
this.element.on('click', function() {
|
5
|
+
pageflow.slides.next();
|
6
|
+
});
|
7
|
+
|
8
|
+
pageflow.events.on('page:change page:update', this.update, this);
|
9
|
+
this.update();
|
10
|
+
},
|
11
|
+
|
12
|
+
_destroy: function() {
|
13
|
+
pageflow.events.off(null, this.update);
|
14
|
+
},
|
15
|
+
|
16
|
+
update: function() {
|
17
|
+
if (pageflow.slides) {
|
18
|
+
this.element.toggleClass('enabled', !!pageflow.slides.nextPageExists());
|
19
|
+
}
|
20
|
+
}
|
21
|
+
});
|
22
|
+
}(jQuery));
|
@@ -4,22 +4,21 @@
|
|
4
4
|
var element = this.element;
|
5
5
|
|
6
6
|
element.click(function(event) {
|
7
|
-
pageflow.slides.
|
7
|
+
pageflow.slides.goToLandingPage();
|
8
8
|
event.preventDefault();
|
9
9
|
});
|
10
10
|
|
11
11
|
pageflow.slides.on('pageactivate', function(e, ui) {
|
12
|
-
toggle(
|
12
|
+
toggle();
|
13
13
|
});
|
14
14
|
|
15
15
|
toggle(pageflow.slides.currentPage());
|
16
16
|
|
17
|
-
function toggle(
|
18
|
-
var
|
19
|
-
var onFirstPage = (currentPageId === element.data('link'));
|
17
|
+
function toggle() {
|
18
|
+
var onLandingPage = pageflow.slides.isOnLandingPage();
|
20
19
|
|
21
|
-
element.toggleClass('deactivated',
|
22
|
-
element.attr('tabindex',
|
20
|
+
element.toggleClass('deactivated', onLandingPage);
|
21
|
+
element.attr('tabindex', onLandingPage ? '-1' : '2');
|
23
22
|
}
|
24
23
|
}
|
25
24
|
});
|
@@ -0,0 +1,62 @@
|
|
1
|
+
(function($) {
|
2
|
+
$.widget('pageflow.volumeSlider', {
|
3
|
+
_create: function() {
|
4
|
+
var element = this.element;
|
5
|
+
var orientation = this.options.orientation;
|
6
|
+
var slider = $('.volume-slider', element);
|
7
|
+
var handlingVolume = false;
|
8
|
+
|
9
|
+
element.on('mousedown', function(event) {
|
10
|
+
var parent = $('body');
|
11
|
+
|
12
|
+
parent.on('mousemove.volumeSlider', changeVolume);
|
13
|
+
element.addClass('lock_showing');
|
14
|
+
|
15
|
+
parent.on('mouseup.volumeSlider', function() {
|
16
|
+
parent.off('mousemove.volumeSlider mouseup.volumeSlider');
|
17
|
+
element.removeClass('lock_showing');
|
18
|
+
});
|
19
|
+
|
20
|
+
changeVolume(event);
|
21
|
+
|
22
|
+
function changeVolume(event) {
|
23
|
+
var volume;
|
24
|
+
|
25
|
+
if (orientation === 'v') {
|
26
|
+
volume = 1 - (event.pageY - slider.offset().top) / slider.height();
|
27
|
+
}
|
28
|
+
else {
|
29
|
+
volume = (event.pageX - slider.offset().left) / slider.width();
|
30
|
+
}
|
31
|
+
|
32
|
+
pageflow.settings.set('volume', Math.min(1, Math.max(0, volume)));
|
33
|
+
}
|
34
|
+
});
|
35
|
+
|
36
|
+
pageflow.settings.on('change:volume', this.update, this);
|
37
|
+
this.update();
|
38
|
+
},
|
39
|
+
|
40
|
+
_destroy: function() {
|
41
|
+
pageflow.settings.off('change:volume', this.update);
|
42
|
+
},
|
43
|
+
|
44
|
+
update: function() {
|
45
|
+
var volume = pageflow.settings.get('volume');
|
46
|
+
|
47
|
+
if (this.options.orientation === 'v') {
|
48
|
+
$('.volume-level', this.element).css({height: volume * 100 + '%'});
|
49
|
+
$('.volume-handle', this.element).css({bottom: volume * 100 + '%', top: 'initial'});
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
$('.volume-level', this.element).css({width: volume * 100 + '%'});
|
53
|
+
$('.volume-handle', this.element).css({left: volume * 100 + '%'});
|
54
|
+
}
|
55
|
+
|
56
|
+
this.element.toggleClass('volume-high', volume > 2 / 3);
|
57
|
+
this.element.toggleClass('volume-medium', volume >= 1 / 3 && volume <= 2 / 3 );
|
58
|
+
this.element.toggleClass('volume-low', volume < 1 / 3 && volume > 0);
|
59
|
+
this.element.toggleClass('volume-mute', volume === 0);
|
60
|
+
}
|
61
|
+
});
|
62
|
+
}(jQuery));
|