pageflow-linkmap-page 2.6.1 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -21
- data/Gemfile +1 -1
- data/app/assets/javascript/pageflow/linkmap_page/editor/models/area.js +1 -1
- data/app/assets/javascript/pageflow/linkmap_page/editor/models/new_area_file_selection_handler.js +1 -1
- data/app/assets/javascript/pageflow/linkmap_page/page_type.js +27 -10
- data/app/assets/javascript/pageflow/linkmap_page/widgets/hover_video.js +5 -0
- data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap.js +4 -0
- data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_pan_zoom.js +5 -8
- data/app/assets/stylesheets/pageflow/linkmap_page/editor/select_area_position_hint.scss +1 -2
- data/config/locales/de.yml +1 -3
- data/config/locales/en.yml +1 -1
- data/lib/pageflow/linkmap_page/version.rb +1 -1
- data/pageflow-linkmap-page.gemspec +1 -1
- metadata +5 -7
- data/app/assets/stylesheets/pageflow/linkmap_page/editor/file_areas.scss +0 -70
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff9d97c1c2bc7397353d18b2d6847c92686e3ea194360f9e1967445cbfc3af3a
|
4
|
+
data.tar.gz: 5b54773f19f77814878c5e5d71e889d63c323937a0b916a827d716a5dd7c86b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 532fe3853b0f551305f60bb52bf9fdb6916fbf134387d5964f98b9d37678fb76797232cfb2fdf2e056ac94a26b7eda464e49c88eb598a8a8827b4561e2b6441c
|
7
|
+
data.tar.gz: a27739cff366df42b8604352be352c33224757beeefeeae8e81a50b6d8ab8b3d88a622b5c9308e2cd768e22b06be584a9ddd25a3fc8765e92fef849099034ff2
|
data/CHANGELOG.md
CHANGED
@@ -1,29 +1,20 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
-
### Version 2.
|
3
|
+
### Version 2.8.0
|
4
4
|
|
5
|
-
|
5
|
+
2022-07-18
|
6
6
|
|
7
|
-
[Compare changes](https://github.com/codevise/pageflow-linkmap-page/compare/v2.
|
7
|
+
[Compare changes](https://github.com/codevise/pageflow-linkmap-page/compare/2-7-stable...v2.8.0)
|
8
8
|
|
9
|
-
-
|
10
|
-
([#
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
[
|
17
|
-
|
18
|
-
- Specify mysql service for Travis build
|
19
|
-
([#66](https://github.com/codevise/pageflow-linkmap-page/pull/66))
|
20
|
-
- Use perma id for color map file and components
|
21
|
-
([#65](https://github.com/codevise/pageflow-linkmap-page/pull/65))
|
22
|
-
- Wait for color map file to be persisted
|
23
|
-
([#64](https://github.com/codevise/pageflow-linkmap-page/pull/64))
|
24
|
-
- Add import and export
|
25
|
-
([#63](https://github.com/codevise/pageflow-linkmap-page/pull/63))
|
9
|
+
- Use rebrushed button styles for editor
|
10
|
+
([#75](https://github.com/codevise/pageflow-linkmap-page/pull/75))
|
11
|
+
- Trigger media events for audio hotspots
|
12
|
+
([#74](https://github.com/codevise/pageflow-linkmap-page/pull/74))
|
13
|
+
- Prevent slideshow container from scrolling out of view
|
14
|
+
([#73](https://github.com/codevise/pageflow-linkmap-page/pull/73))
|
15
|
+
- Use perma id for audio hotspot files
|
16
|
+
([#71](https://github.com/codevise/pageflow-linkmap-page/pull/71))
|
26
17
|
|
27
18
|
See
|
28
|
-
[2-
|
19
|
+
[2-7-stable branch](https://github.com/codevise/pageflow-linkmap-page/blob/2-7-stable/CHANGELOG.md)
|
29
20
|
for previous changes.
|
data/Gemfile
CHANGED
@@ -11,7 +11,7 @@ pageflow.linkmapPage.Area = Backbone.Model.extend({
|
|
11
11
|
// pageflow.xxx.getPolymorphic(this.get('target_type'), this.get('target_id'));
|
12
12
|
//
|
13
13
|
if (this.get('target_type') === 'audio_file') {
|
14
|
-
return pageflow.audioFiles.
|
14
|
+
return pageflow.audioFiles.getByPermaId(this.get('target_id'));
|
15
15
|
}
|
16
16
|
else if (this.get('target_type') === 'page') {
|
17
17
|
return pageflow.pages.getByPermaId(this.get('target_id'));
|
data/app/assets/javascript/pageflow/linkmap_page/editor/models/new_area_file_selection_handler.js
CHANGED
@@ -2,7 +2,7 @@ pageflow.linkmapPage.NewAreaFileSelectionHandler = function(options) {
|
|
2
2
|
var page = pageflow.pages.get(options.id);
|
3
3
|
|
4
4
|
this.call = function(file) {
|
5
|
-
page.configuration.linkmapAreas().addAudioFile(file.
|
5
|
+
page.configuration.linkmapAreas().addAudioFile(file.get('perma_id'));
|
6
6
|
return false;
|
7
7
|
};
|
8
8
|
|
@@ -188,13 +188,19 @@ pageflow.pageType.register('linkmap_page', _.extend({
|
|
188
188
|
.attr('data-width', template.data('videoWidth'))
|
189
189
|
.attr('data-height', template.data('videoHeight'));
|
190
190
|
|
191
|
-
var
|
191
|
+
var options = {
|
192
192
|
volumeFading: true,
|
193
193
|
fallbackToMutedAutoplay: true,
|
194
|
-
|
195
194
|
width: '100%',
|
196
195
|
height: '100%'
|
197
|
-
}
|
196
|
+
}
|
197
|
+
if (pageflow.browser.has('mobile platform')) {
|
198
|
+
// to enable autoplay videos on mobile, 'muted' and 'playsinline' needs to be set
|
199
|
+
// video can be unmuted on user interaction
|
200
|
+
options.muted = true;
|
201
|
+
options.playsinline = true;
|
202
|
+
}
|
203
|
+
var videoPlayer = this.videoPlayer = new pageflow.VideoPlayer.Lazy(template, options);
|
198
204
|
|
199
205
|
videoPlayer.ready(function() {
|
200
206
|
videoPlayer.on('playmuted', function() {
|
@@ -238,7 +244,11 @@ pageflow.pageType.register('linkmap_page', _.extend({
|
|
238
244
|
this.multiPlayer = pageflow.audio.createMultiPlayer({
|
239
245
|
playFromBeginning: true,
|
240
246
|
fadeDuration: 1000,
|
241
|
-
hooks: pageflow.atmo.createMediaPlayerHooks(configuration)
|
247
|
+
hooks: pageflow.atmo.createMediaPlayerHooks(configuration),
|
248
|
+
mediaEvents: true,
|
249
|
+
context: {
|
250
|
+
page: pageElement.page('instance')
|
251
|
+
}
|
242
252
|
});
|
243
253
|
|
244
254
|
this.multiPlayer.on('play', function(options) {
|
@@ -431,18 +441,25 @@ pageflow.pageType.register('linkmap_page', _.extend({
|
|
431
441
|
},
|
432
442
|
|
433
443
|
isVideoEnabled: function(configuration) {
|
434
|
-
return
|
435
|
-
(configuration.background_type === 'video' || configuration.background_type === 'hover_video');
|
444
|
+
return this.isBackgroundVideoEnabled(configuration) || this.isHoverVideoEnabled(configuration)
|
436
445
|
},
|
437
446
|
|
438
447
|
isBackgroundVideoEnabled: function(configuration) {
|
439
|
-
|
440
|
-
configuration.background_type === 'video'
|
448
|
+
if (pageflow.browser.has('mobile platform')) {
|
449
|
+
return configuration.background_type === 'video' && configuration.panorama_image_id == undefined
|
450
|
+
}
|
451
|
+
else{
|
452
|
+
return configuration.background_type === 'video'
|
453
|
+
}
|
441
454
|
},
|
442
455
|
|
443
456
|
isHoverVideoEnabled: function(configuration) {
|
444
|
-
|
445
|
-
configuration.background_type === 'hover_video'
|
457
|
+
if (pageflow.browser.has('mobile platform')) {
|
458
|
+
return configuration.background_type === 'hover_video' && configuration.hover_image_id == undefined
|
459
|
+
}
|
460
|
+
else{
|
461
|
+
return configuration.background_type === 'hover_video'
|
462
|
+
}
|
446
463
|
},
|
447
464
|
|
448
465
|
updateNavigationMode: function(configuration) {
|
@@ -33,6 +33,10 @@
|
|
33
33
|
'click': function(event) {
|
34
34
|
var area = this.areaAt(this.positionFromEvent(event));
|
35
35
|
|
36
|
+
if (area.length && area.hasClass('hover_area')){
|
37
|
+
this.options.hoverVideo.unmute();
|
38
|
+
}
|
39
|
+
|
36
40
|
if (area.length && area.hasClass('enabled')) {
|
37
41
|
area.first().trigger($.Event('linkmapareaclick', {originalEvent: event}));
|
38
42
|
}
|
@@ -81,7 +81,7 @@
|
|
81
81
|
this._ensureScrollerCanNotScroll();
|
82
82
|
this._resizePanorama();
|
83
83
|
this._transformPanoramaWrapper();
|
84
|
-
this.
|
84
|
+
this._disableAreas();
|
85
85
|
},
|
86
86
|
|
87
87
|
goToAreaByIndex: function(index) {
|
@@ -161,13 +161,10 @@
|
|
161
161
|
this.panorama.height(this.panoramaSize.height);
|
162
162
|
},
|
163
163
|
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
this.options.areas().
|
168
|
-
var area = $(this);
|
169
|
-
area.toggleClass('enabled', area.is(currentArea));
|
170
|
-
});
|
164
|
+
_disableAreas: function() {
|
165
|
+
// linkmapareaclick event for current area is dispatched above
|
166
|
+
// when user clicks anywhere in the page.
|
167
|
+
this.options.areas().removeClass('enabled');
|
171
168
|
},
|
172
169
|
|
173
170
|
_transformPanoramaWrapper: function() {
|
data/config/locales/de.yml
CHANGED
@@ -101,9 +101,7 @@ de:
|
|
101
101
|
so viele Hotspots angelegt werden wie gewünscht.
|
102
102
|
|
103
103
|
Der Panorama Typ entscheidet darüber, ob die Seite ein
|
104
|
-
Hintergrund-Bild oder Hintergrund-Video zeigt. (
|
105
|
-
Hintergrund-Videos auf mobilen Geräten nicht abgespielt werden,
|
106
|
-
deshalb wähle ein zusätzliches Panorama-Bild für die mobile Version)
|
104
|
+
Hintergrund-Bild oder Hintergrund-Video zeigt. (Ein zusätzliches Fallback-Image für die mobile Version kann bereitgestellt werden, wenn das Video nicht passt)
|
107
105
|
|
108
106
|
Die Hotspot-Seite ermöglicht auch die Nutzung von Panorama-Bildern,
|
109
107
|
die größer sind, als der sichtbare Bildschirmbereich. So können Nutzer
|
data/config/locales/en.yml
CHANGED
@@ -98,7 +98,7 @@ en:
|
|
98
98
|
|
99
99
|
Hotspots can play audio files, link to other pages in a Pageflow or to external websites. You can define as many hotspots as you want.
|
100
100
|
|
101
|
-
Decide if you want to show a background image or a background video. (
|
101
|
+
Decide if you want to show a background image or a background video. (An additional fallback image for the mobile version can be provided if video does not fit)
|
102
102
|
|
103
103
|
The hotspot page type allows to use panoramic images that are wider and taller than the screen-size. It enables users to explore these images by horizontal or vertical scrolling.
|
104
104
|
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
|
19
19
|
spec.required_ruby_version = '~> 2.1'
|
20
20
|
|
21
|
-
spec.add_runtime_dependency 'pageflow', '~> 15.x'
|
21
|
+
spec.add_runtime_dependency 'pageflow', '~> 15.7.x'
|
22
22
|
spec.add_runtime_dependency 'pageflow-external-links', '~> 2.x'
|
23
23
|
|
24
24
|
spec.add_development_dependency 'bundler', ['>= 1.0', '< 3']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pageflow-linkmap-page
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Codevise Solutions Ltd.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pageflow
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 15.x
|
19
|
+
version: 15.7.x
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 15.x
|
26
|
+
version: 15.7.x
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: pageflow-external-links
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -288,7 +288,6 @@ files:
|
|
288
288
|
- app/assets/stylesheets/pageflow/linkmap_page/editor/action_buttons.scss
|
289
289
|
- app/assets/stylesheets/pageflow/linkmap_page/editor/area_outlines.scss
|
290
290
|
- app/assets/stylesheets/pageflow/linkmap_page/editor/areas_list.scss
|
291
|
-
- app/assets/stylesheets/pageflow/linkmap_page/editor/file_areas.scss
|
292
291
|
- app/assets/stylesheets/pageflow/linkmap_page/editor/inputs/area_mask.scss
|
293
292
|
- app/assets/stylesheets/pageflow/linkmap_page/editor/masks_preview.scss
|
294
293
|
- app/assets/stylesheets/pageflow/linkmap_page/editor/resizable.scss
|
@@ -371,8 +370,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
371
370
|
- !ruby/object:Gem::Version
|
372
371
|
version: '0'
|
373
372
|
requirements: []
|
374
|
-
|
375
|
-
rubygems_version: 2.7.10
|
373
|
+
rubygems_version: 3.0.8
|
376
374
|
signing_key:
|
377
375
|
specification_version: 4
|
378
376
|
summary: Pageflow page type for a page that contains customizable link areas
|
@@ -1,70 +0,0 @@
|
|
1
|
-
div.linkmap_page_file_areas {
|
2
|
-
.add_area {
|
3
|
-
@include plus-circled-icon;
|
4
|
-
@include icon-button;
|
5
|
-
}
|
6
|
-
|
7
|
-
ul.areas {
|
8
|
-
margin-bottom: 10px;
|
9
|
-
}
|
10
|
-
|
11
|
-
a.edit {
|
12
|
-
@include icon-only-button(#aaa);
|
13
|
-
@include pencil-icon;
|
14
|
-
position: absolute;
|
15
|
-
right: 4px;
|
16
|
-
top: 4px;
|
17
|
-
}
|
18
|
-
|
19
|
-
li {
|
20
|
-
margin-bottom: 2px;
|
21
|
-
|
22
|
-
> div:first-child {
|
23
|
-
padding-left: 45px;
|
24
|
-
}
|
25
|
-
|
26
|
-
.title {
|
27
|
-
cursor: default;
|
28
|
-
padding-right: 30px;
|
29
|
-
}
|
30
|
-
|
31
|
-
.label {
|
32
|
-
margin-top: 10px;
|
33
|
-
color: #666;
|
34
|
-
}
|
35
|
-
|
36
|
-
.file_thumbnail,
|
37
|
-
.missing_file_thumbnail {
|
38
|
-
position: absolute;
|
39
|
-
top: 0;
|
40
|
-
left: 0;
|
41
|
-
height: 100%;
|
42
|
-
width: 35px;
|
43
|
-
background-size: cover;
|
44
|
-
background-color: #444;
|
45
|
-
}
|
46
|
-
|
47
|
-
.file_thumbnail {
|
48
|
-
.pictogram:before {
|
49
|
-
font-size: 20px;
|
50
|
-
}
|
51
|
-
}
|
52
|
-
|
53
|
-
.missing_file_thumbnail {
|
54
|
-
@include background-icon-center($color: #fff);
|
55
|
-
@include attention-icon;
|
56
|
-
display: none;
|
57
|
-
position: absolute;
|
58
|
-
}
|
59
|
-
|
60
|
-
&.dangling {
|
61
|
-
.file_thumbnail {
|
62
|
-
display: none;
|
63
|
-
}
|
64
|
-
|
65
|
-
.missing_file_thumbnail {
|
66
|
-
display: block;
|
67
|
-
}
|
68
|
-
}
|
69
|
-
}
|
70
|
-
}
|