pageflow 13.0.0.beta6 → 13.0.0.beta7
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 +4 -4
- data/CHANGELOG.md +74 -0
- data/README.md +1 -0
- data/app/assets/audios/pageflow/unmute.mp3 +0 -0
- data/app/assets/images/pageflow/editor/help/phone_horizontal_slideshow_mode.gif +0 -0
- data/app/assets/javascripts/pageflow/asset_urls.js.erb +1 -1
- data/app/assets/javascripts/pageflow/audio/multi_player.js +4 -0
- data/app/assets/javascripts/pageflow/audio_player.js +1 -1
- data/app/assets/javascripts/pageflow/background_media.js +22 -0
- data/app/assets/javascripts/pageflow/base.js +1 -0
- data/app/assets/javascripts/pageflow/browser/agent.js +92 -78
- data/app/assets/javascripts/pageflow/browser/autoplay_support.js +2 -2
- data/app/assets/javascripts/pageflow/dist/react.js +711 -252
- data/app/assets/javascripts/pageflow/editor/api/page_type.js +4 -0
- data/app/assets/javascripts/pageflow/editor/base.js +1 -0
- data/app/assets/javascripts/pageflow/editor/collections/files_collection.js +8 -0
- data/app/assets/javascripts/pageflow/editor/initializers/boot.js +6 -4
- data/app/assets/javascripts/pageflow/editor/initializers/setup_asset_urls.js +3 -0
- data/app/assets/javascripts/pageflow/editor/models/entry.js +2 -2
- data/app/assets/javascripts/pageflow/editor/models/file_stage.js +6 -1
- data/app/assets/javascripts/pageflow/editor/models/mixins/stage_provider.js +9 -0
- data/app/assets/javascripts/pageflow/editor/models/mixins/transient_references.js +12 -2
- data/app/assets/javascripts/pageflow/editor/models/preview_entry_data.js +5 -0
- data/app/assets/javascripts/pageflow/editor/models/uploaded_file.js +6 -1
- data/app/assets/javascripts/pageflow/editor/templates/emulation_mode_button.jst.ejs +26 -0
- data/app/assets/javascripts/pageflow/editor/templates/entry_preview.jst.ejs +8 -3
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/options.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/page_link.js +3 -6
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/page_transitions.js +14 -4
- data/app/assets/javascripts/pageflow/editor/views/edit_storyline_view.js +3 -6
- data/app/assets/javascripts/pageflow/editor/views/embedded/background_image_embedded_view.js +47 -12
- data/app/assets/javascripts/pageflow/editor/views/emulation_mode_button_view.js +45 -0
- data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +62 -8
- data/app/assets/javascripts/pageflow/editor/views/file_stage_item_view.js +7 -0
- data/app/assets/javascripts/pageflow/editor/views/help_image_view.js +9 -0
- data/app/assets/javascripts/pageflow/editor/views/info_box_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/inputs/file_processing_state_display_view.js +60 -0
- data/app/assets/javascripts/pageflow/editor/views/sidebar_footer_view.js +12 -0
- data/app/assets/javascripts/pageflow/editor/views/widget_types/phone_horizontal_slideshow_mode.js +14 -0
- data/app/assets/javascripts/pageflow/entry_data.js +4 -0
- data/app/assets/javascripts/pageflow/media_player.js +7 -3
- data/app/assets/javascripts/pageflow/media_player/handle_failed_play.js +34 -0
- data/app/assets/javascripts/pageflow/media_player/volume_fading/web_audio.js +29 -3
- data/app/assets/javascripts/pageflow/page_transitions.js +59 -15
- data/app/assets/javascripts/pageflow/page_type.js +5 -1
- data/app/assets/javascripts/pageflow/seed_entry_data.js +13 -0
- data/app/assets/javascripts/pageflow/slideshow.js +31 -11
- data/app/assets/javascripts/pageflow/slideshow/atmo.js +23 -12
- data/app/assets/javascripts/pageflow/slideshow/lazy_page_widget.js +9 -3
- data/app/assets/javascripts/pageflow/slideshow/navigation_direction.js +37 -0
- data/app/assets/javascripts/pageflow/slideshow/page_widget.js +12 -6
- data/app/assets/javascripts/pageflow/slideshow/scroll_indicator_widget.js +13 -16
- data/app/assets/javascripts/pageflow/slideshow/scroller_widget.js +49 -14
- data/app/assets/javascripts/pageflow/ui/views/mixins/input_view.js +10 -3
- data/app/assets/javascripts/pageflow/video_player/lazy.js +1 -1
- data/app/assets/stylesheets/pageflow/animations/bounce.scss +13 -1
- data/app/assets/stylesheets/pageflow/editor/base.scss +5 -0
- data/app/assets/stylesheets/pageflow/editor/emulation_mode_button.scss +78 -0
- data/app/assets/stylesheets/pageflow/editor/entry_preview.scss +41 -0
- data/app/assets/stylesheets/pageflow/editor/file_stages.scss +11 -3
- data/app/assets/stylesheets/pageflow/editor/help.scss +4 -14
- data/app/assets/stylesheets/pageflow/editor/help_image.scss +5 -0
- data/app/assets/stylesheets/pageflow/editor/info_box.scss +5 -0
- data/app/assets/stylesheets/pageflow/editor/inputs.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/inputs/file_processing_state_display.scss +18 -0
- data/app/assets/stylesheets/pageflow/editor/sidebar_footer.scss +12 -0
- data/app/assets/stylesheets/pageflow/entries.scss +29 -6
- data/app/assets/stylesheets/pageflow/mixins/breakpoints.scss +5 -3
- data/app/assets/stylesheets/pageflow/mixins/icons/fontawesome.scss +1 -1
- data/app/assets/stylesheets/pageflow/navigation_mobile.scss +5 -1
- data/app/assets/stylesheets/pageflow/page_transitions.scss +0 -6
- data/app/assets/stylesheets/pageflow/page_transitions/crossfade.scss +5 -1
- data/app/assets/stylesheets/pageflow/page_transitions/fade.scss +44 -36
- data/app/assets/stylesheets/pageflow/page_transitions/scroll.scss +96 -11
- data/app/assets/stylesheets/pageflow/slideshow.scss +0 -4
- data/app/assets/stylesheets/pageflow/themes/default/background_media_unmute_button.scss +68 -0
- data/app/assets/stylesheets/pageflow/themes/default/base.scss +1 -0
- data/app/assets/stylesheets/pageflow/themes/default/indicators/icons/icon_font.scss +7 -0
- data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -0
- data/app/controllers/pageflow/editor/files_controller.rb +9 -1
- data/app/helpers/pageflow/asset_urls_helper.rb +9 -0
- data/app/helpers/pageflow/background_image_helper.rb +6 -10
- data/app/helpers/pageflow/file_background_images_helper.rb +78 -0
- data/app/helpers/pageflow/pages_helper.rb +2 -2
- data/app/helpers/pageflow/render_json_helper.rb +3 -2
- data/app/models/concerns/pageflow/hosted_file.rb +2 -9
- data/app/models/concerns/pageflow/uploaded_file.rb +9 -0
- data/app/models/pageflow/draft_entry.rb +2 -2
- data/app/models/pageflow/image_file.rb +5 -20
- data/app/models/pageflow/image_file_css_background_image_urls.rb +17 -0
- data/app/models/pageflow/video_file_css_background_image_urls.rb +13 -0
- data/app/views/pageflow/editor/asset_urls/_asset_urls.json.jbuilder +4 -0
- data/app/views/pageflow/editor/entries/seed.json.erb +3 -1
- data/app/views/pageflow/editor/image_files/_image_file.json.jbuilder +1 -1
- data/app/views/pageflow/entries/_indicators.html.erb +8 -3
- data/app/views/pageflow/entries/edit.html.erb +1 -1
- data/app/views/pageflow/entries/show.css.erb +6 -20
- data/app/views/pageflow/file_background_images/_rule.css.erb +3 -0
- data/config/initializers/features.rb +1 -0
- data/config/locales/de.yml +20 -8
- data/config/locales/en.yml +23 -11
- data/config/routes.rb +1 -0
- data/lib/pageflow/built_in_file_type.rb +4 -0
- data/lib/pageflow/built_in_widget_type.rb +12 -0
- data/lib/pageflow/built_in_widget_types_plugin.rb +5 -0
- data/lib/pageflow/file_type.rb +39 -0
- data/lib/pageflow/file_types.rb +6 -0
- data/lib/pageflow/version.rb +1 -1
- data/spec/factories/hosted_files.rb +12 -8
- data/vendor/assets/javascripts/audio5.min.js +280 -129
- data/vendor/assets/javascripts/iscroll.js +16 -11
- metadata +47 -16
- data/app/assets/javascripts/pageflow/media_player/catch_play_promise.js +0 -23
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_in.scss +0 -66
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_in_right.scss +0 -68
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_left.scss +0 -20
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_over_from_left.scss +0 -12
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_over_from_right.scss +0 -12
- data/app/assets/stylesheets/pageflow/page_transitions/scroll_right.scss +0 -20
- data/lib/pageflow/images/palette.png +0 -0
@@ -2,14 +2,19 @@
|
|
2
2
|
var attributeName = 'atmo_audio_file_id';
|
3
3
|
|
4
4
|
pageflow.Atmo = pageflow.Object.extend({
|
5
|
-
initialize: function(
|
6
|
-
this.slideshow = slideshow;
|
7
|
-
this.multiPlayer = multiPlayer;
|
5
|
+
initialize: function(options) {
|
6
|
+
this.slideshow = options.slideshow;
|
7
|
+
this.multiPlayer = options.multiPlayer;
|
8
|
+
this.backgroundMedia = options.backgroundMedia;
|
8
9
|
this.disabled = pageflow.browser.has('mobile platform');
|
9
10
|
|
10
|
-
this.listenTo(events, 'page:change page:update', function() {
|
11
|
+
this.listenTo(options.events, 'page:change page:update background_media:unmute', function() {
|
11
12
|
this.update();
|
12
13
|
});
|
14
|
+
|
15
|
+
this.listenTo(options.multiPlayer, 'playfailed', function() {
|
16
|
+
options.backgroundMedia.mute();
|
17
|
+
});
|
13
18
|
},
|
14
19
|
|
15
20
|
disable: function() {
|
@@ -46,7 +51,7 @@
|
|
46
51
|
|
47
52
|
resume: function() {
|
48
53
|
if (this.multiPlayer.paused()) {
|
49
|
-
if (this.disabled) {
|
54
|
+
if (this.disabled || this.backgroundMedia.muted) {
|
50
55
|
return new $.Deferred().resolve().promise();
|
51
56
|
}
|
52
57
|
else {
|
@@ -62,7 +67,12 @@
|
|
62
67
|
var configuration = this.slideshow.currentPageConfiguration();
|
63
68
|
|
64
69
|
if (!this.disabled) {
|
65
|
-
this.
|
70
|
+
if (this.backgroundMedia.muted) {
|
71
|
+
this.multiPlayer.fadeOutAndPause();
|
72
|
+
}
|
73
|
+
else {
|
74
|
+
this.multiPlayer.fadeTo(configuration[attributeName]);
|
75
|
+
}
|
66
76
|
}
|
67
77
|
},
|
68
78
|
|
@@ -86,11 +96,12 @@
|
|
86
96
|
}
|
87
97
|
});
|
88
98
|
|
89
|
-
pageflow.Atmo.create = function(slideshow, events, audio) {
|
90
|
-
return new pageflow.Atmo(
|
91
|
-
slideshow,
|
92
|
-
events,
|
93
|
-
|
99
|
+
pageflow.Atmo.create = function(slideshow, events, audio, backgroundMedia) {
|
100
|
+
return new pageflow.Atmo({
|
101
|
+
slideshow: slideshow,
|
102
|
+
events: events,
|
103
|
+
backgroundMedia: backgroundMedia,
|
104
|
+
multiPlayer: audio.createMultiPlayer({
|
94
105
|
loop: true,
|
95
106
|
fadeDuration: 500,
|
96
107
|
crossFade: true,
|
@@ -98,7 +109,7 @@
|
|
98
109
|
rewindOnChange: true,
|
99
110
|
pauseInBackground: true
|
100
111
|
})
|
101
|
-
);
|
112
|
+
});
|
102
113
|
};
|
103
114
|
|
104
115
|
pageflow.Atmo.duringPlaybackModes = ['play', 'mute', 'turn_down'];
|
@@ -1,6 +1,12 @@
|
|
1
1
|
(function($) {
|
2
|
-
var creatingMethods = [
|
3
|
-
|
2
|
+
var creatingMethods = [
|
3
|
+
'reinit', 'reactivate', 'activate', 'activateAsLandingPage', 'prepare', 'linkedPages'
|
4
|
+
];
|
5
|
+
|
6
|
+
var ignoredMethods = [
|
7
|
+
'cleanup', 'refreshScroller', 'resize', 'preload', 'deactivate', 'unprepare',
|
8
|
+
'isPageChangeAllowed'
|
9
|
+
];
|
4
10
|
|
5
11
|
var prototype = {
|
6
12
|
_create: function() {
|
@@ -55,4 +61,4 @@
|
|
55
61
|
});
|
56
62
|
|
57
63
|
$.widget('pageflow.page', prototype);
|
58
|
-
}(jQuery));
|
64
|
+
}(jQuery));
|
@@ -0,0 +1,37 @@
|
|
1
|
+
pageflow.navigationDirection = (function() {
|
2
|
+
var eventMapping = {
|
3
|
+
v: {
|
4
|
+
scrollerbumpnext: 'scrollerbumpdown',
|
5
|
+
scrollerbumpback: 'scrollerbumpup',
|
6
|
+
scrollerhintnext: 'scrollerhintdown',
|
7
|
+
scrollerhintback: 'scrollerhintup',
|
8
|
+
},
|
9
|
+
h: {
|
10
|
+
scrollerbumpnext: 'scrollerbumpright',
|
11
|
+
scrollerbumpback: 'scrollerbumpleft',
|
12
|
+
scrollerhintnext: 'scrollerhintright',
|
13
|
+
scrollerhintback: 'scrollerhintleft',
|
14
|
+
}
|
15
|
+
};
|
16
|
+
|
17
|
+
return {
|
18
|
+
isHorizontalOnPhone: function() {
|
19
|
+
return pageflow.widgets.isPresent('phone_horizontal_slideshow_mode');
|
20
|
+
},
|
21
|
+
|
22
|
+
isHorizontal: function() {
|
23
|
+
return this.isHorizontalOnPhone() &&
|
24
|
+
pageflow.browser.has('phone platform');
|
25
|
+
},
|
26
|
+
|
27
|
+
getEventName: function(name) {
|
28
|
+
var result = eventMapping[this.isHorizontal() ? 'h' : 'v'][name];
|
29
|
+
|
30
|
+
if (!result) {
|
31
|
+
throw 'Unknown event name ' + name;
|
32
|
+
}
|
33
|
+
|
34
|
+
return result;
|
35
|
+
}
|
36
|
+
};
|
37
|
+
}());
|
@@ -101,6 +101,10 @@
|
|
101
101
|
return this._triggerPageTypeHook('linkedPages');
|
102
102
|
},
|
103
103
|
|
104
|
+
isPageChangeAllowed: function(options) {
|
105
|
+
return this._triggerPageTypeHook('isPageChangeAllowed', options);
|
106
|
+
},
|
107
|
+
|
104
108
|
preload: function() {
|
105
109
|
var page = this;
|
106
110
|
|
@@ -152,9 +156,10 @@
|
|
152
156
|
|
153
157
|
animateTransition: function(destination, options, callback) {
|
154
158
|
var otherDestination = destination === 'in' ? 'out' : 'in';
|
155
|
-
var transition =
|
156
|
-
|
157
|
-
|
159
|
+
var transition = pageflow.pageTransitions.get(options.transition ||
|
160
|
+
this.configuration.transition ||
|
161
|
+
'fade');
|
162
|
+
var animateClass = transition.className + ' animate-' + destination + '-' + options.direction;
|
158
163
|
|
159
164
|
this.element
|
160
165
|
.removeClass('animate-' + otherDestination + '-forwards animate-' + otherDestination + '-backwards')
|
@@ -163,9 +168,9 @@
|
|
163
168
|
setTimeout(_.bind(function() {
|
164
169
|
this.element.removeClass(animateClass);
|
165
170
|
callback.call(this);
|
166
|
-
}, this), duration);
|
171
|
+
}, this), transition.duration);
|
167
172
|
|
168
|
-
return duration;
|
173
|
+
return transition.duration;
|
169
174
|
},
|
170
175
|
|
171
176
|
_triggerDelayedPageTypeHook: function(name) {
|
@@ -185,6 +190,7 @@
|
|
185
190
|
|
186
191
|
_setupHideTextOnSwipe: function() {
|
187
192
|
if (pageflow.entryData.getThemingOption('hide_text_on_swipe') &&
|
193
|
+
!pageflow.navigationDirection.isHorizontal() &&
|
188
194
|
!this.pageType.noHideTextOnSwipe) {
|
189
195
|
this.element.hideTextOnSwipe({
|
190
196
|
eventTargetSelector: '.content > .scroller'
|
@@ -227,4 +233,4 @@
|
|
227
233
|
});
|
228
234
|
}
|
229
235
|
});
|
230
|
-
}(jQuery));
|
236
|
+
}(jQuery));
|
@@ -1,7 +1,7 @@
|
|
1
1
|
(function($) {
|
2
2
|
var boundaries = {
|
3
|
-
|
4
|
-
|
3
|
+
back: 'top',
|
4
|
+
next: 'bottom'
|
5
5
|
};
|
6
6
|
|
7
7
|
$.widget('pageflow.scrollIndicator', {
|
@@ -13,16 +13,7 @@
|
|
13
13
|
fadeTimeout;
|
14
14
|
|
15
15
|
function update(page) {
|
16
|
-
|
17
|
-
(page.hasClass('scroll_indicator_mode_only_next') && direction === 'up') ||
|
18
|
-
(page.hasClass('scroll_indicator_mode_only_back') && direction === 'down')) {
|
19
|
-
|
20
|
-
that.element.hide();
|
21
|
-
}
|
22
|
-
else {
|
23
|
-
that.element.show();
|
24
|
-
}
|
25
|
-
|
16
|
+
that.element.toggleClass('hidden_by_scoll_indicator_mode', hiddenByMode(page));
|
26
17
|
that.element.toggleClass('hidden_for_page', hideScrollIndicatorForPage(page));
|
27
18
|
|
28
19
|
that.element.toggleClass('invert', invertIndicator(page));
|
@@ -30,6 +21,12 @@
|
|
30
21
|
that.element.toggleClass('available', targetPageExists());
|
31
22
|
}
|
32
23
|
|
24
|
+
function hiddenByMode(page) {
|
25
|
+
return (page.hasClass('scroll_indicator_mode_non') ||
|
26
|
+
(page.hasClass('scroll_indicator_mode_only_next') && direction === 'back') ||
|
27
|
+
(page.hasClass('scroll_indicator_mode_only_back') && direction === 'next'));
|
28
|
+
}
|
29
|
+
|
33
30
|
function invertIndicator(page) {
|
34
31
|
var result = page.data('invertIndicator');
|
35
32
|
|
@@ -54,7 +51,7 @@
|
|
54
51
|
}
|
55
52
|
|
56
53
|
function targetPageExists() {
|
57
|
-
return direction === '
|
54
|
+
return direction === 'next' ? parent.nextPageExists() : parent.previousPageExists();
|
58
55
|
}
|
59
56
|
|
60
57
|
parent.on('pageactivate', function(event) {
|
@@ -88,7 +85,7 @@
|
|
88
85
|
},
|
89
86
|
});
|
90
87
|
|
91
|
-
parent.on('scrollerhint' + direction, function() {
|
88
|
+
parent.on(pageflow.navigationDirection.getEventName('scrollerhint' + direction), function() {
|
92
89
|
that.element.addClass('animate');
|
93
90
|
setTimeout(function() {
|
94
91
|
that.element.removeClass('animate');
|
@@ -117,7 +114,7 @@
|
|
117
114
|
});
|
118
115
|
|
119
116
|
this.element.on('click', function() {
|
120
|
-
if (direction === '
|
117
|
+
if (direction === 'next') {
|
121
118
|
parent.next();
|
122
119
|
}
|
123
120
|
else {
|
@@ -126,4 +123,4 @@
|
|
126
123
|
});
|
127
124
|
}
|
128
125
|
});
|
129
|
-
}(jQuery));
|
126
|
+
}(jQuery));
|
@@ -9,6 +9,7 @@
|
|
9
9
|
$.widget('pageflow.scroller', {
|
10
10
|
dragThreshold: 50,
|
11
11
|
maxXDelta: 50,
|
12
|
+
maxYDelta: 50,
|
12
13
|
doubleBumpThreshold: 500,
|
13
14
|
|
14
15
|
_create: function() {
|
@@ -208,25 +209,34 @@
|
|
208
209
|
},
|
209
210
|
|
210
211
|
// Trigger bumpup or bumpdown when the user drags the page from a
|
211
|
-
// boundary position.
|
212
|
+
// boundary position. Trigger bumpleft or bumpright if user drags
|
213
|
+
// horizontally.
|
212
214
|
_initDragGestureBump: function() {
|
213
215
|
var allowUp = false,
|
214
216
|
allowDown = false,
|
217
|
+
allowLeft = false,
|
218
|
+
allowRight = false,
|
215
219
|
startX, startY;
|
216
220
|
|
217
221
|
this.element.on('touchstart MSPointerDown pointerdown', _.bind(function(event) {
|
218
|
-
var point = event.originalEvent.touches ?
|
222
|
+
var point = event.originalEvent.touches ?
|
223
|
+
event.originalEvent.touches[0] : event.originalEvent;
|
224
|
+
|
219
225
|
startX = point.pageX;
|
220
226
|
startY = point.pageY;
|
221
227
|
|
222
|
-
if (!
|
228
|
+
if (!this._isNonTouchPointer(event)) {
|
223
229
|
allowDown = this._atBoundary('down');
|
224
230
|
allowUp = this._atBoundary('up');
|
231
|
+
allowLeft = true;
|
232
|
+
allowRight = true;
|
225
233
|
}
|
226
234
|
}, this));
|
227
235
|
|
228
236
|
this.element.on('touchmove MSPointerMove pointermove', _.bind(function(event) {
|
229
|
-
var point = event.originalEvent.touches ?
|
237
|
+
var point = event.originalEvent.touches ?
|
238
|
+
event.originalEvent.touches[0] : event.originalEvent;
|
239
|
+
|
230
240
|
var deltaX = point.pageX - startX;
|
231
241
|
var deltaY = point.pageY - startY;
|
232
242
|
|
@@ -234,30 +244,55 @@
|
|
234
244
|
allowDown = allowUp = false;
|
235
245
|
}
|
236
246
|
|
247
|
+
if (Math.abs(deltaY) > this.maxYDelta) {
|
248
|
+
allowLeft = allowRight = false;
|
249
|
+
}
|
250
|
+
|
237
251
|
if (allowUp && deltaY > this.dragThreshold) {
|
238
252
|
this._trigger('bumpup');
|
239
|
-
allowDown = allowUp = false;
|
253
|
+
allowDown = allowUp = allowLeft = allowRight = false;
|
240
254
|
}
|
241
255
|
else if (allowDown && deltaY < -this.dragThreshold) {
|
242
256
|
this._trigger('bumpdown');
|
243
|
-
allowDown = allowUp = false;
|
257
|
+
allowDown = allowUp = allowLeft = allowRight = false;
|
258
|
+
}
|
259
|
+
else if (allowLeft && deltaX > this.dragThreshold) {
|
260
|
+
this._trigger('bumpleft');
|
261
|
+
allowDown = allowUp = allowLeft = allowRight = false;
|
262
|
+
}
|
263
|
+
else if (allowRight && deltaX < -this.dragThreshold) {
|
264
|
+
this._trigger('bumpright');
|
265
|
+
allowDown = allowUp = allowLeft = allowRight =false;
|
244
266
|
}
|
245
267
|
}, this));
|
246
268
|
|
247
269
|
this.element.on('touchend MSPointerUp pointerup', _.bind(function(event) {
|
248
|
-
|
270
|
+
var point = event.originalEvent.touches ?
|
271
|
+
event.originalEvent.changedTouches[0] : event.originalEvent;
|
272
|
+
|
273
|
+
var deltaX = point.pageX - startX;
|
274
|
+
var deltaY = point.pageY - startY;
|
275
|
+
|
276
|
+
if (allowUp && deltaY > 0) {
|
249
277
|
this._trigger('hintup');
|
250
278
|
}
|
251
|
-
if (allowDown) {
|
279
|
+
else if (allowDown && deltaY < 0) {
|
252
280
|
this._trigger('hintdown');
|
253
281
|
}
|
282
|
+
|
283
|
+
if (allowLeft && deltaX > 0) {
|
284
|
+
this._trigger('hintleft');
|
285
|
+
}
|
286
|
+
else if (allowRight && deltaX < 0) {
|
287
|
+
this._trigger('hintright');
|
288
|
+
}
|
254
289
|
}, this));
|
290
|
+
},
|
255
291
|
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
}
|
292
|
+
_isNonTouchPointer: function(event) {
|
293
|
+
return event.originalEvent.pointerType &&
|
294
|
+
event.originalEvent.pointerType !== event.originalEvent.MSPOINTER_TYPE_TOUCH &&
|
295
|
+
event.originalEvent.pointerType !== 'touch';
|
261
296
|
},
|
262
297
|
|
263
298
|
// Checks whether the scroller is at the very top or very bottom.
|
@@ -273,4 +308,4 @@
|
|
273
308
|
}
|
274
309
|
}
|
275
310
|
});
|
276
|
-
}(jQuery));
|
311
|
+
}(jQuery));
|
@@ -87,6 +87,10 @@
|
|
87
87
|
* An array of prefixes to lookup translations for labels and
|
88
88
|
* inline help texts based on attribute names.
|
89
89
|
*
|
90
|
+
* @param {string} [options.additionalInlineHelpText]
|
91
|
+
* A text that will be appended to the translation based inline
|
92
|
+
* text.
|
93
|
+
*
|
90
94
|
* @param {boolean} [options.disabled]
|
91
95
|
* Render input as disabled.
|
92
96
|
*
|
@@ -190,7 +194,10 @@ pageflow.inputView = {
|
|
190
194
|
keys = pageflow.i18nUtils.translationKeysWithSuffix(keys, 'disabled');
|
191
195
|
}
|
192
196
|
|
193
|
-
return
|
197
|
+
return _.compact([
|
198
|
+
pageflow.i18nUtils.findTranslation(keys, {defaultValue: '', html: true}),
|
199
|
+
this.options.additionalInlineHelpText
|
200
|
+
]).join(' ');
|
194
201
|
},
|
195
202
|
|
196
203
|
updateDisabled: function() {
|
@@ -217,11 +224,11 @@ pageflow.inputView = {
|
|
217
224
|
}
|
218
225
|
|
219
226
|
function updateVisible(model, value) {
|
220
|
-
view.$el.
|
227
|
+
view.$el.toggleClass('input-hidden_via_binding', !isVisible(value));
|
221
228
|
}
|
222
229
|
|
223
230
|
function isVisible(value) {
|
224
|
-
if (view.options
|
231
|
+
if ('visibleBindingValue' in view.options) {
|
225
232
|
return value === view.options.visibleBindingValue;
|
226
233
|
}
|
227
234
|
else if (typeof view.options.visible === 'function') {
|
@@ -80,7 +80,7 @@ pageflow.VideoPlayer.Lazy = function(template, options) {
|
|
80
80
|
return videoPlayer && videoPlayer.posterImage.unlockShowing();
|
81
81
|
};
|
82
82
|
|
83
|
-
_.each(['play', 'playAndFadeIn', 'pause', 'fadeOutAndPause', 'prebuffer', 'src', 'on', 'load', 'currentTime'], function(method) {
|
83
|
+
_.each(['play', 'playAndFadeIn', 'pause', 'fadeOutAndPause', 'prebuffer', 'src', 'on', 'load', 'currentTime', 'muted'], function(method) {
|
84
84
|
that[method] = function(/* args */) {
|
85
85
|
var args = arguments;
|
86
86
|
|
@@ -8,4 +8,16 @@
|
|
8
8
|
100% {
|
9
9
|
@include transform(translateY(0));
|
10
10
|
}
|
11
|
-
}
|
11
|
+
}
|
12
|
+
|
13
|
+
@include keyframes(bounce_x) {
|
14
|
+
0% {
|
15
|
+
@include transform(translateX(0));
|
16
|
+
}
|
17
|
+
10% {
|
18
|
+
@include transform(translateX(-30px));
|
19
|
+
}
|
20
|
+
100% {
|
21
|
+
@include transform(translateX(0));
|
22
|
+
}
|
23
|
+
}
|
@@ -7,6 +7,7 @@
|
|
7
7
|
@import "./blank_entry";
|
8
8
|
@import "./dialogs";
|
9
9
|
@import "./colors";
|
10
|
+
@import "./entry_preview";
|
10
11
|
@import "./background_positioning";
|
11
12
|
@import "./page_selection";
|
12
13
|
@import "./files_explorer";
|
@@ -68,6 +69,7 @@
|
|
68
69
|
@import "./file_stages";
|
69
70
|
@import "./file_thumbnails";
|
70
71
|
@import "./file_settings_dialog";
|
72
|
+
@import "./info_box";
|
71
73
|
@import "./text_tracks";
|
72
74
|
@import "./static_thumbnails";
|
73
75
|
@import "./wysihtml5";
|
@@ -81,6 +83,9 @@
|
|
81
83
|
@import "./page_links";
|
82
84
|
@import "./storyline_picker";
|
83
85
|
@import "./loading";
|
86
|
+
@import "./sidebar_footer";
|
87
|
+
@import "./emulation_mode_button";
|
88
|
+
@import "./help_image";
|
84
89
|
|
85
90
|
a.publish {
|
86
91
|
@include eye-icon;
|