pageflow 0.5.0 → 0.6.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/Rakefile +2 -1
- data/admins/pageflow/accounts.rb +20 -4
- data/admins/pageflow/entry.rb +4 -5
- data/app/assets/javascripts/pageflow/audio_player.js +16 -7
- data/app/assets/javascripts/pageflow/base.js +5 -0
- data/app/assets/javascripts/pageflow/built_in_widget_types.js +11 -0
- data/app/assets/javascripts/pageflow/cookies.js +43 -0
- data/app/assets/javascripts/pageflow/editor/base.js +2 -10
- data/app/assets/javascripts/pageflow/editor/collections/widgets_collection.js +16 -0
- data/app/assets/javascripts/pageflow/editor/controllers/sidebar_controller.js +3 -2
- data/app/assets/javascripts/pageflow/editor/edit_widget.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/initializers/setup_widget_types.js +3 -0
- data/app/assets/javascripts/pageflow/editor/models/configuration.js +18 -9
- data/app/assets/javascripts/pageflow/editor/models/edit_lock_container.js +1 -0
- data/app/assets/javascripts/pageflow/editor/models/entry.js +13 -3
- data/app/assets/javascripts/pageflow/editor/models/entry_configuration.js +4 -0
- data/app/assets/javascripts/pageflow/editor/models/entry_configuration_file_selection_handler.js +11 -0
- data/app/assets/javascripts/pageflow/editor/models/image_file.js +4 -0
- data/app/assets/javascripts/pageflow/editor/models/mixins/widget_subject.js +37 -0
- data/app/assets/javascripts/pageflow/editor/models/page.js +1 -1
- data/app/assets/javascripts/pageflow/editor/models/page_configuration_file_selection_handler.js +1 -25
- data/app/assets/javascripts/pageflow/editor/models/theming.js +3 -0
- data/app/assets/javascripts/pageflow/editor/models/video_file.js +7 -0
- data/app/assets/javascripts/pageflow/editor/models/widget.js +19 -0
- data/app/assets/javascripts/pageflow/editor/routers/sidebar_router.js +1 -0
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning.jst.ejs +18 -0
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning_preview.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning_sliders.jst.ejs +6 -0
- data/app/assets/javascripts/pageflow/editor/templates/edit_meta_data.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/edit_widget.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/templates/edit_widgets.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/templates/entry_preview.jst.ejs +1 -3
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_preview_view.js +39 -0
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_sliders_view.js +94 -0
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_view.js +67 -0
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio_loop.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/background_image.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/background_video.js +4 -3
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/internal_links.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/video.js +9 -2
- data/app/assets/javascripts/pageflow/editor/views/edit_meta_data_view.js +18 -2
- data/app/assets/javascripts/pageflow/editor/views/edit_widget_view.js +29 -0
- data/app/assets/javascripts/pageflow/editor/views/edit_widgets_view.js +20 -0
- data/app/assets/javascripts/pageflow/editor/views/embedded/background_image_embedded_view.js +8 -3
- data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +53 -9
- data/app/assets/javascripts/pageflow/editor/views/page_item_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/page_preview_view.js +11 -3
- data/app/assets/javascripts/pageflow/events.js +1 -0
- data/app/assets/javascripts/pageflow/features/hashchange_support.js +8 -0
- data/app/assets/javascripts/pageflow/history.js +14 -2
- data/app/assets/javascripts/pageflow/page_types/audio.js +18 -6
- data/app/assets/javascripts/pageflow/page_types/audio_loop.js +19 -7
- data/app/assets/javascripts/pageflow/page_types/background_video.js +41 -33
- data/app/assets/javascripts/pageflow/page_types/mixins/video_helpers.js +7 -16
- data/app/assets/javascripts/pageflow/ready.js +12 -25
- data/app/assets/javascripts/pageflow/slideshow.js +5 -5
- data/app/assets/javascripts/pageflow/slideshow/hide_text_on_swipe.js +1 -1
- data/app/assets/javascripts/pageflow/slideshow/page_widget.js +11 -1
- data/app/assets/javascripts/pageflow/slideshow/scroll_indicator_widget.js +19 -2
- data/app/assets/javascripts/pageflow/slideshow/scroller_widget.js +31 -6
- data/app/assets/javascripts/pageflow/slideshow/swipe_gesture.js +6 -5
- data/app/assets/javascripts/pageflow/ui.js +16 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/object.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/renderer.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/check_box.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/file_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/page_reference.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/select_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/slider_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/text_area_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/text_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/url_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/tabs_view.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/collection_view.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/configuration_editor_tab_view.js +8 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/configuration_editor_view.js +3 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/check_box_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/file_input_view.js +10 -8
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/page_reference_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/proxy_url_input_view.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/select_input_view.js +41 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/slider_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/text_area_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/text_input_view.js +8 -2
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/url_input_view.js +9 -3
- data/app/assets/javascripts/pageflow/{editor/views → ui/views/mixins}/input_view.js +5 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/mixins/subview_container.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/sortable_collection_view.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/tabs_view.js +11 -2
- data/app/assets/javascripts/pageflow/video_player/lazy.js +4 -1
- data/app/assets/javascripts/pageflow/visited.js +56 -0
- data/app/assets/javascripts/pageflow/widget_types.js +27 -0
- data/app/assets/javascripts/pageflow/widgets/events.js +33 -0
- data/app/assets/javascripts/pageflow/widgets/navigation.js +42 -33
- data/app/assets/javascripts/pageflow/widgets/navigation_mobile.js +60 -38
- data/app/assets/javascripts/pageflow/widgets/overview.js +3 -3
- data/app/assets/javascripts/pageflow/widgets/page_navigation_list.js +34 -4
- data/app/assets/javascripts/pageflow/widgets/share_menu.js +60 -0
- data/app/assets/stylesheets/pageflow/admin.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/admin/tabs_view.css.scss +50 -0
- data/app/assets/stylesheets/pageflow/application_with_simulated_media_queries.css.scss +2 -0
- data/app/assets/stylesheets/pageflow/base.css.scss +2 -1
- data/app/assets/stylesheets/pageflow/editor/{image_positioning.css.scss → background_positioning.css.scss} +66 -65
- data/app/assets/stylesheets/pageflow/editor/base.css.scss +7 -5
- data/app/assets/stylesheets/pageflow/editor/file_thumbnails.css.scss +7 -9
- data/app/assets/stylesheets/pageflow/editor/select_button.css.scss +4 -4
- data/app/assets/stylesheets/pageflow/editor/widgets.css.scss +4 -0
- data/app/assets/stylesheets/pageflow/entries.css.scss +5 -0
- data/app/assets/stylesheets/pageflow/mixins/breakpoints.css.scss +75 -10
- data/app/assets/stylesheets/pageflow/multimedia_alert.css.scss +31 -30
- data/app/assets/stylesheets/pageflow/navigation_bar.css.scss +4 -0
- data/app/assets/stylesheets/pageflow/navigation_mobile.css.scss +57 -58
- data/app/assets/stylesheets/pageflow/player_controls.css.scss +2 -2
- data/app/assets/stylesheets/pageflow/slideshow.css.scss +4 -1
- data/app/assets/stylesheets/pageflow/subshare.css.scss +28 -0
- data/app/assets/stylesheets/pageflow/ui.css.scss +7 -0
- data/app/assets/stylesheets/pageflow/{editor → ui}/forms.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/{editor → ui}/tabs_view.css.scss +1 -0
- data/app/controllers/pageflow/editor/widgets_controller.rb +39 -0
- data/app/controllers/pageflow/entries_controller.rb +10 -1
- data/app/helpers/pageflow/entries_helper.rb +7 -0
- data/app/helpers/pageflow/page_types_helper.rb +7 -7
- data/app/helpers/pageflow/pages_helper.rb +36 -5
- data/app/helpers/pageflow/social_share_helper.rb +54 -0
- data/app/helpers/pageflow/widgets_helper.rb +43 -0
- data/app/models/pageflow/draft_entry.rb +4 -1
- data/app/models/pageflow/entry.rb +1 -0
- data/app/models/pageflow/published_entry.rb +6 -3
- data/app/models/pageflow/revision.rb +5 -0
- data/app/models/pageflow/theming.rb +3 -0
- data/app/models/pageflow/widget.rb +74 -0
- data/app/views/admin/accounts/_form.html.erb +10 -0
- data/app/views/components/pageflow/admin/entries_tab.rb +22 -0
- data/app/views/components/pageflow/admin/members_tab.rb +35 -0
- data/app/views/components/pageflow/admin/revisions_tab.rb +51 -0
- data/app/views/components/pageflow/admin/tabs_view.rb +78 -0
- data/app/views/components/pageflow/admin/users_tab.rb +22 -0
- data/app/views/layouts/pageflow/application.html.erb +5 -5
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +7 -4
- data/app/views/pageflow/editor/files/_file.json.jbuilder +2 -2
- data/app/views/pageflow/editor/widgets/_widget.json.jbuilder +2 -0
- data/app/views/pageflow/editor/widgets/index.json.jbuilder +1 -0
- data/app/views/pageflow/entries/_entry.html.erb +6 -2
- data/app/views/pageflow/entries/_mobile_navigation.html.erb +56 -0
- data/app/views/pageflow/entries/_navigation.html.erb +3 -53
- data/app/views/pageflow/entries/edit.html.erb +2 -0
- data/app/views/pageflow/entries/navigation/_bar_top.html.erb +7 -3
- data/app/views/pageflow/entries/navigation/_page.html.erb +2 -2
- data/app/views/pageflow/entries/partials.html.erb +1 -1
- data/app/views/pageflow/entries/show.html.erb +12 -4
- data/app/views/pageflow/files/show.html.erb +5 -0
- data/app/views/pageflow/pages/templates/_audio_loop.html.erb +1 -1
- data/app/views/pageflow/pages/templates/_background_video.html.erb +2 -2
- data/app/views/pageflow/pages/templates/_video.html.erb +4 -3
- data/app/views/pageflow/{entries/_social_meta_tags.html.erb → social_share/_entry_meta_tags.html.erb} +2 -2
- data/app/views/pageflow/social_share/_image_tags.html.erb +3 -0
- data/app/views/pageflow/social_share/_page_meta_tags.html.erb +9 -0
- data/config/initializers/admin_resource_tabs.rb +7 -0
- data/config/initializers/paperclip.rb +1 -1
- data/config/initializers/view_components.rb +9 -1
- data/config/initializers/widget_types.rb +4 -0
- data/config/locales/activerecord.de.yml +5 -1
- data/config/locales/admin/tabs.de.yml +8 -0
- data/config/locales/editor.de.yml +5 -4
- data/config/locales/pageflow/editor/background_positioning.de.yml +13 -0
- data/config/locales/pageflow/ui.de.yml +6 -0
- data/config/locales/pageflow/widgets.de.yml +14 -0
- data/config/routes.rb +6 -0
- data/config/spring.rb +2 -1
- data/db/migrate/20141027102310_create_widgets.rb +11 -0
- data/db/migrate/20141028125408_add_emphasize_chapter_beginning_to_revisions.rb +5 -0
- data/db/migrate/20141119164526_add_emphasize_new_pages_to_revisions.rb +5 -0
- data/db/migrate/20141119174032_add_sharing_image_to_revisions.rb +7 -0
- data/lib/pageflow/ability_mixin.rb +2 -0
- data/lib/pageflow/admin/tabs.rb +18 -0
- data/lib/pageflow/built_in_widget_type.rb +27 -0
- data/lib/pageflow/configuration.rb +17 -0
- data/lib/pageflow/engine.rb +2 -0
- data/lib/pageflow/version.rb +1 -1
- data/lib/pageflow/widget_type.rb +52 -0
- data/lib/pageflow/widget_types.rb +50 -0
- data/spec/factories/audio_files.rb +1 -1
- data/spec/factories/chapters.rb +1 -1
- data/spec/factories/entries.rb +2 -2
- data/spec/factories/image_files.rb +1 -1
- data/spec/factories/video_files.rb +1 -1
- data/spec/factories/widgets.rb +6 -0
- data/vendor/assets/javascripts/audio5.min.js +3 -0
- metadata +104 -44
- data/app/assets/javascripts/pageflow/editor/templates/image_positioning.jst.ejs +0 -26
- data/app/assets/javascripts/pageflow/editor/views/image_positioning_view.js +0 -153
- data/app/views/admin/accounts/_entries_panel.html.arb +0 -15
- data/app/views/admin/accounts/_users_panel.html.arb +0 -15
- data/app/views/admin/entries/_members.html.arb +0 -29
- data/app/views/admin/entries/_revisions.html.arb +0 -45
@@ -0,0 +1,33 @@
|
|
1
|
+
jQuery(function($) {
|
2
|
+
$('body').on('click', 'a.navigation_main', function() {
|
3
|
+
pageflow.events.trigger('button:header');
|
4
|
+
});
|
5
|
+
|
6
|
+
$('body').on('click', 'a.navigation_index', function() {
|
7
|
+
pageflow.events.trigger('button:overview');
|
8
|
+
});
|
9
|
+
|
10
|
+
$('body').on('click', 'a.navigation_fullscreen', function() {
|
11
|
+
pageflow.events.trigger('button:fullscreen');
|
12
|
+
});
|
13
|
+
|
14
|
+
$('body').on('click', '.mute a', function() {
|
15
|
+
pageflow.events.trigger('button:mute');
|
16
|
+
});
|
17
|
+
|
18
|
+
$('body').on('click', 'a.share.facebook', function() {
|
19
|
+
pageflow.events.trigger('share:facebook');
|
20
|
+
});
|
21
|
+
|
22
|
+
$('body').on('click', 'a.share.twitter', function() {
|
23
|
+
pageflow.events.trigger('share:twitter');
|
24
|
+
});
|
25
|
+
|
26
|
+
$('body').on('click', 'a.share.google', function() {
|
27
|
+
pageflow.events.trigger('share:google');
|
28
|
+
});
|
29
|
+
|
30
|
+
$('body').on('pageactivate', function(event, ui) {
|
31
|
+
pageflow.events.trigger('page:change', ui.page);
|
32
|
+
});
|
33
|
+
});
|
@@ -3,33 +3,33 @@
|
|
3
3
|
(function($) {
|
4
4
|
$.widget('pageflow.navigation', {
|
5
5
|
_create: function() {
|
6
|
-
var
|
7
|
-
|
8
|
-
hasHomeButton = !!
|
6
|
+
var element = this.element,
|
7
|
+
overlays = element.find('.navigation_site_detail'),
|
8
|
+
hasHomeButton = !!element.find('.navigation_home').length,
|
9
9
|
toggleIndicators = function() {};
|
10
10
|
|
11
|
-
|
11
|
+
element.addClass('js').append(overlays);
|
12
12
|
|
13
|
-
$('a.navigation_top',
|
13
|
+
$('a.navigation_top', element).topButton();
|
14
14
|
|
15
|
-
$('.navigation_bar_bottom',
|
16
|
-
.append($('.navigation_bar_top > li',
|
15
|
+
$('.navigation_bar_bottom', element)
|
16
|
+
.append($('.navigation_bar_top > li', element).slice(hasHomeButton ? 4 : 3));
|
17
17
|
|
18
18
|
/* Volume */
|
19
19
|
|
20
20
|
var handlingVolume = false;
|
21
21
|
var volumeBeforeMute = 1;
|
22
|
-
var muteButton = $('.navigation_bg.navigation_mute',
|
22
|
+
var muteButton = $('.navigation_bg.navigation_mute', element);
|
23
23
|
|
24
24
|
var changeVolume = function(event) {
|
25
|
-
var volume = (event.pageX - $('.volume-slider',
|
25
|
+
var volume = (event.pageX - $('.volume-slider', element).offset().left) / $(('.volume-slider')).width();
|
26
26
|
if (volume > 1) { volume = 1; }
|
27
27
|
if (volume < 0) { volume = 0; }
|
28
28
|
setVolume(volume);
|
29
29
|
};
|
30
30
|
|
31
31
|
var setVolume = function(volume) {
|
32
|
-
$('.volume-level',
|
32
|
+
$('.volume-level', element).css({width: volume * 100 + "%"});
|
33
33
|
pageflow.settings.set('volume', volume);
|
34
34
|
|
35
35
|
if (volume === 0) {
|
@@ -58,16 +58,16 @@
|
|
58
58
|
toggleMute();
|
59
59
|
});
|
60
60
|
|
61
|
-
$('.volume-level',
|
61
|
+
$('.volume-level', element).css({
|
62
62
|
width: pageflow.settings.get("volume") * 100 + "%"
|
63
63
|
});
|
64
64
|
|
65
|
-
$('.navigation_volume_box',
|
65
|
+
$('.navigation_volume_box', element).on("mousedown", function(event) {
|
66
66
|
handlingVolume = true;
|
67
67
|
changeVolume(event);
|
68
68
|
});
|
69
69
|
|
70
|
-
$('.navigation_volume_box',
|
70
|
+
$('.navigation_volume_box', element).on("mousemove", function(event) {
|
71
71
|
if(handlingVolume) {
|
72
72
|
changeVolume(event);
|
73
73
|
}
|
@@ -77,14 +77,14 @@
|
|
77
77
|
|
78
78
|
/* hide volume button on mobile devices */
|
79
79
|
if (pageflow.features.has('mobile platform')) {
|
80
|
-
$('li.mute',
|
81
|
-
$('.navigation_bar_bottom',
|
82
|
-
$('.scroller',
|
83
|
-
$('.scroll_indicator.bottom',
|
80
|
+
$('li.mute', element).hide();
|
81
|
+
$('.navigation_bar_bottom', element).css('height', '224px');
|
82
|
+
$('.scroller', element).css('bottom', '224px');
|
83
|
+
$('.scroll_indicator.bottom', element).css('bottom', '190px');
|
84
84
|
}
|
85
85
|
|
86
86
|
/* header button */
|
87
|
-
$('.navigation_main',
|
87
|
+
$('.navigation_main', element).click(function() {
|
88
88
|
$(this)
|
89
89
|
.toggleClass('active')
|
90
90
|
.updateTitle();
|
@@ -93,20 +93,29 @@
|
|
93
93
|
|
94
94
|
/* open header through skiplinks */
|
95
95
|
$('a[href="#header"], a[href="#search"]', '#skipLinks').click(function() {
|
96
|
-
$('.navigation_main',
|
96
|
+
$('.navigation_main', element).addClass('active');
|
97
97
|
$('.header').addClass('active');
|
98
98
|
$(this.getAttribute('href')).select();
|
99
99
|
});
|
100
100
|
|
101
101
|
/* share-button */
|
102
|
-
$('.navigation_menu .navigation_menu_box a',
|
102
|
+
$('.navigation_menu .navigation_menu_box a', element).focus(function() {
|
103
103
|
$(this).parent().parent().addClass('focused');
|
104
104
|
}).blur(function() {
|
105
105
|
$(this).parent().parent().removeClass('focused');
|
106
106
|
});
|
107
107
|
|
108
|
+
var shareBox = $('.navigation_share_box', element),
|
109
|
+
links = $('> a', shareBox);
|
110
|
+
shareBox.shareMenu({
|
111
|
+
subMenu: $('.sub_share', element),
|
112
|
+
links: links,
|
113
|
+
insertAfter: links.last(),
|
114
|
+
closeOnMouseLeaving: shareBox
|
115
|
+
});
|
116
|
+
|
108
117
|
/* pages */
|
109
|
-
var pageLinks = $('.navigation_thumbnails a',
|
118
|
+
var pageLinks = $('.navigation_thumbnails a', element),
|
110
119
|
target;
|
111
120
|
|
112
121
|
function registerHandler() {
|
@@ -120,7 +129,7 @@
|
|
120
129
|
|
121
130
|
function closeOverview() {
|
122
131
|
$('.overview').removeClass("active");
|
123
|
-
$('.navigation_index',
|
132
|
+
$('.navigation_index', element).removeClass("active");
|
124
133
|
}
|
125
134
|
|
126
135
|
function hideOverlay() {
|
@@ -160,14 +169,14 @@
|
|
160
169
|
|
161
170
|
var initiateIndicators = function() {
|
162
171
|
setTimeout(function() {
|
163
|
-
$('.scroll_indicator',
|
172
|
+
$('.scroll_indicator', element).show();
|
164
173
|
toggleIndicators();
|
165
174
|
}, 500);
|
166
175
|
};
|
167
176
|
|
168
|
-
$('.scroller',
|
169
|
-
var bottomIndicator = $('.scroll_indicator.bottom',
|
170
|
-
topIndicator = $('.scroll_indicator.top',
|
177
|
+
$('.scroller', element).each(function () {
|
178
|
+
var bottomIndicator = $('.scroll_indicator.bottom', element),
|
179
|
+
topIndicator = $('.scroll_indicator.top', element),
|
171
180
|
scrollUpIntervalID, scrollDownIntervalID,
|
172
181
|
hideOverlay = function () {
|
173
182
|
overlays.addClass('hidden').removeClass('visible');
|
@@ -237,7 +246,7 @@
|
|
237
246
|
|
238
247
|
var scroller = new IScroll(this, scrollerOptions);
|
239
248
|
|
240
|
-
$('ul.navigation_thumbnails',
|
249
|
+
$('ul.navigation_thumbnails', element).pageNavigationList({
|
241
250
|
scroller: scroller,
|
242
251
|
scrollToActive: true
|
243
252
|
});
|
@@ -287,7 +296,7 @@
|
|
287
296
|
});
|
288
297
|
|
289
298
|
/* hide text button */
|
290
|
-
var hideText = $('.navigation_hide_text',
|
299
|
+
var hideText = $('.navigation_hide_text', element);
|
291
300
|
|
292
301
|
hideText.click(function() {
|
293
302
|
pageflow.hideText.toggle();
|
@@ -299,7 +308,7 @@
|
|
299
308
|
|
300
309
|
/* fullscreen button */
|
301
310
|
if ($.support.fullscreen) {
|
302
|
-
var fs = $('.navigation_fullscreen',
|
311
|
+
var fs = $('.navigation_fullscreen', element),
|
303
312
|
fullscreenCallback = function(isFullScreen) {
|
304
313
|
fs
|
305
314
|
.toggleClass('active', !!isFullScreen)
|
@@ -312,10 +321,10 @@
|
|
312
321
|
});
|
313
322
|
}
|
314
323
|
else {
|
315
|
-
$('.navigation_bar_bottom .fullscreen a',
|
324
|
+
$('.navigation_bar_bottom .fullscreen a', element).css('visibility', 'hidden');
|
316
325
|
}
|
317
326
|
|
318
|
-
$('.button, .navigation_mute, .scroll_indicator',
|
327
|
+
$('.button, .navigation_mute, .scroll_indicator', element).on({
|
319
328
|
'touchstart mousedown': function() {
|
320
329
|
$(this).addClass('pressed');
|
321
330
|
},
|
@@ -324,7 +333,7 @@
|
|
324
333
|
}
|
325
334
|
});
|
326
335
|
|
327
|
-
$('.navigation_share, .navigation_credits',
|
336
|
+
$('.navigation_share, .navigation_credits', element).on({
|
328
337
|
'touchstart': function() {
|
329
338
|
var element = $(this).parent().parent();
|
330
339
|
element.addClass('open');
|
@@ -339,7 +348,7 @@
|
|
339
348
|
}
|
340
349
|
});
|
341
350
|
|
342
|
-
$('li',
|
351
|
+
$('li', element).on('mouseleave', function() {
|
343
352
|
$(this).blur();
|
344
353
|
});
|
345
354
|
|
@@ -3,76 +3,98 @@
|
|
3
3
|
(function($) {
|
4
4
|
$.widget('pageflow.navigationMobile', {
|
5
5
|
_create: function() {
|
6
|
-
/* mobile version */
|
7
|
-
var that = this,
|
8
|
-
scroller;
|
9
|
-
|
10
|
-
var goToPage = function () {
|
11
|
-
var a = $('a', this),
|
12
|
-
id = a.attr("data-link");
|
13
6
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
}
|
18
|
-
else {
|
19
|
-
window.open(a.attr('href'), '_blank');
|
20
|
-
a.preventDefault();
|
21
|
-
}
|
22
|
-
};
|
7
|
+
var that = this,
|
8
|
+
element = this.element,
|
9
|
+
scroller;
|
23
10
|
|
24
|
-
$('body').on('touchstart mousedown MSPointerDown', function(event) {
|
25
|
-
if (
|
26
|
-
|
11
|
+
$('body').on('touchstart mousedown MSPointerDown pointerdown', function(event) {
|
12
|
+
if (element.hasClass('active') && !$(event.target).parents().filter(element).length) {
|
13
|
+
element.removeClass('active imprint sharing');
|
27
14
|
}
|
28
15
|
});
|
29
16
|
|
30
|
-
$('.menu.index',
|
31
|
-
if(!$(
|
32
|
-
$(
|
17
|
+
$('.menu.index', element).click(function() {
|
18
|
+
if(!$(element).hasClass('sharing') && !$(element).hasClass('imprint')) {
|
19
|
+
$(element).toggleClass('active');
|
33
20
|
}
|
34
|
-
$(
|
21
|
+
$(element).removeClass('imprint sharing');
|
35
22
|
});
|
36
|
-
$('.menu.sharing',
|
37
|
-
$(
|
38
|
-
$(
|
23
|
+
$('.menu.sharing', element).click(function() {
|
24
|
+
$(element).addClass('sharing');
|
25
|
+
$(element).removeClass('imprint');
|
39
26
|
});
|
40
|
-
$('.menu.imprint',
|
41
|
-
$(
|
42
|
-
$(
|
27
|
+
$('.menu.imprint', element).click(function() {
|
28
|
+
$(element).addClass('imprint');
|
29
|
+
$(element).removeClass('sharing');
|
43
30
|
});
|
44
31
|
|
45
|
-
$('.wrapper',
|
32
|
+
$('.wrapper', element).each(function() {
|
33
|
+
var sharingMobile = $(this).parents('.sharing_mobile');
|
34
|
+
|
46
35
|
scroller = new IScroll(this, {
|
47
36
|
mouseWheel: true,
|
48
37
|
bounce: false,
|
49
38
|
probeType: 3
|
50
39
|
});
|
51
40
|
|
52
|
-
$('ul',
|
41
|
+
$('ul', element).pageNavigationList({
|
53
42
|
scroller: scroller
|
54
43
|
});
|
55
44
|
|
56
45
|
scroller.on('scroll', function() {
|
57
|
-
$('li',
|
46
|
+
$('.overview_mobile li', element).removeClass('touched').off('touchend mouseup MSPointerUp pointerup', that._goToPage);
|
47
|
+
$('.sub_share a', sharingMobile).off('touchend mouseup MSPointerUp pointerup', that._openLink);
|
58
48
|
});
|
59
49
|
|
60
|
-
$('.menu',
|
50
|
+
$('.menu', element).click(function() {
|
61
51
|
scroller.refresh();
|
62
52
|
});
|
63
53
|
|
64
|
-
|
65
|
-
$(
|
66
|
-
'touchstart mousedown MSPointerDown': function() {
|
54
|
+
if (!$(element).data('touchBound')) {
|
55
|
+
$('li', element).on({
|
56
|
+
'touchstart mousedown MSPointerDown pointerdown': function() {
|
67
57
|
$(this).addClass('touched');
|
68
|
-
$(this).one('touchend mouseup MSPointerUp', goToPage);
|
69
58
|
},
|
70
|
-
'touchend mouseup MSPointerUp': function() {
|
59
|
+
'touchend mouseup MSPointerUp pointerup': function() {
|
71
60
|
$(this).removeClass('touched');
|
72
61
|
}
|
73
62
|
});
|
63
|
+
$('.overview_mobile li', element).on({
|
64
|
+
'touchstart mousedown MSPointerDown pointerdown': function() {
|
65
|
+
$(this).one('touchend mouseup MSPointerUp pointerup', that._goToPage);
|
66
|
+
}
|
67
|
+
});
|
68
|
+
$(element).data('touchBound', true);
|
69
|
+
}
|
70
|
+
|
71
|
+
$('.sub_share a', sharingMobile).on({
|
72
|
+
'touchstart mousedown MSPointerDown pointerdown': function() {
|
73
|
+
$(this).one('touchend mouseup MSPointerUp pointerup', that._openLink);
|
74
|
+
}
|
75
|
+
});
|
76
|
+
|
77
|
+
sharingMobile.shareMenu({
|
78
|
+
subMenu: $('.sub_share', element),
|
79
|
+
links: $('li > a', sharingMobile),
|
80
|
+
scroller: scroller
|
74
81
|
});
|
75
82
|
});
|
83
|
+
},
|
84
|
+
|
85
|
+
_goToPage: function () {
|
86
|
+
var a = $('a', this),
|
87
|
+
id = a.attr("data-link");
|
88
|
+
|
89
|
+
if (id !== undefined) {
|
90
|
+
pageflow.slides.goToById(id);
|
91
|
+
$('.navigation_mobile').removeClass('active');
|
92
|
+
}
|
93
|
+
},
|
94
|
+
|
95
|
+
_openLink: function(event) {
|
96
|
+
event.preventDefault();
|
97
|
+
window.open(this.href, '_blank');
|
76
98
|
}
|
77
99
|
});
|
78
100
|
}(jQuery));
|
@@ -10,8 +10,8 @@ jQuery(function($) {
|
|
10
10
|
noOfChapterParts = chapterParts.size(),
|
11
11
|
scrollerWidth = noOfChapterParts * chapterParts.outerWidth(true),
|
12
12
|
closeButton = $('.close', this.element),
|
13
|
-
indexButton = $('.
|
14
|
-
homeButton = $('.
|
13
|
+
indexButton = $('.navigation_index'),
|
14
|
+
homeButton = $('.navigation_home'),
|
15
15
|
overview = $('.overview'),
|
16
16
|
wrapper = $('.wrapper', this.element);
|
17
17
|
|
@@ -23,7 +23,7 @@ jQuery(function($) {
|
|
23
23
|
.toggleClass('active', state)
|
24
24
|
.updateTitle();
|
25
25
|
|
26
|
-
$('.page
|
26
|
+
$('section.page').toggleClass('hidden_by_overlay', state);
|
27
27
|
scrollIndicator.toggleClass('hidden', state);
|
28
28
|
};
|
29
29
|
|
@@ -4,18 +4,20 @@
|
|
4
4
|
var element = this.element;
|
5
5
|
var options = this.options;
|
6
6
|
var scroller = options.scroller;
|
7
|
-
var links = element.find('a');
|
7
|
+
var links = element.find('a[href]');
|
8
8
|
|
9
9
|
pageflow.ready.then(function() {
|
10
|
+
highlightUnvisitedPages(pageflow.visited.getUnvisitedPages());
|
10
11
|
highlightActivePage(getPageId(pageflow.slides.currentPage()));
|
11
12
|
});
|
12
13
|
|
13
14
|
pageflow.slides.on('pageactivate', function(e) {
|
15
|
+
setPageVisited(e.target.getAttribute('id'));
|
14
16
|
highlightActivePage(getPageId(e.target));
|
15
17
|
});
|
16
18
|
|
17
19
|
function getPageId(section) {
|
18
|
-
return $(section).attr('id') || ($(section).
|
20
|
+
return $(section).attr('id') || ($(section).attr('data-perma-id') || '').toString();
|
19
21
|
}
|
20
22
|
|
21
23
|
function highlightActivePage(id) {
|
@@ -34,12 +36,27 @@
|
|
34
36
|
link.toggleClass('active', active);
|
35
37
|
link.attr('tabindex', active ? '-1' : '3');
|
36
38
|
|
37
|
-
if (
|
38
|
-
|
39
|
+
if (active) {
|
40
|
+
if (link.data('chapterId')) {
|
41
|
+
highlightChapter(link.data('chapterId'));
|
42
|
+
}
|
43
|
+
|
44
|
+
if (options.scrollToActive) {
|
45
|
+
scroller.scrollToElement(link[0], 800);
|
46
|
+
}
|
39
47
|
}
|
40
48
|
});
|
41
49
|
}
|
42
50
|
|
51
|
+
function highlightChapter(activeChapterId) {
|
52
|
+
links.each(function() {
|
53
|
+
var link = $(this);
|
54
|
+
var active = activeChapterId === link.data('chapterId');
|
55
|
+
|
56
|
+
link.toggleClass('in_active_chapter', active);
|
57
|
+
});
|
58
|
+
}
|
59
|
+
|
43
60
|
function pageIdsUpUntil(id) {
|
44
61
|
var found = false;
|
45
62
|
|
@@ -62,6 +79,19 @@
|
|
62
79
|
});
|
63
80
|
}
|
64
81
|
}
|
82
|
+
|
83
|
+
function highlightUnvisitedPages(ids) {
|
84
|
+
links.each(function() {
|
85
|
+
var link = $(this);
|
86
|
+
var unvisited = ids.indexOf(parseInt(link.attr('href').substr(1), 10)) >= 0;
|
87
|
+
|
88
|
+
link.toggleClass('unvisited', unvisited);
|
89
|
+
});
|
90
|
+
}
|
91
|
+
|
92
|
+
function setPageVisited(id) {
|
93
|
+
element.find('[href="#' + id + '"]').removeClass('unvisited');
|
94
|
+
}
|
65
95
|
}
|
66
96
|
});
|
67
97
|
}(jQuery));
|