pageflow-linkmap-page 2.0.0 → 2.1.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 +6 -31
- data/app/assets/javascript/pageflow/linkmap_page/editor/models/area.js +15 -1
- data/app/assets/javascript/pageflow/linkmap_page/editor/views/edit_area_view.js +1 -1
- data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_item_embedded_view.js +2 -2
- data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_masks_preview_embedded_view.js +1 -1
- data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_outlines_embedded_view.js +2 -2
- data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/area_set_mask.js +1 -1
- data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/color_map.js +1 -1
- data/app/helpers/pageflow/linkmap_page/areas_helper.rb +7 -5
- data/config/locales/de.yml +3 -3
- data/config/locales/en.yml +3 -3
- data/lib/pageflow/linkmap_page/paperclip_processors/color_mask.rb +1 -1
- data/lib/pageflow/linkmap_page/paperclip_processors/colors.rb +1 -1
- data/lib/pageflow/linkmap_page/version.rb +1 -1
- data/lib/tasks/pageflow_linkmap_page_tasks.rake +7 -8
- data/spec/helpers/pageflow/linkmap_page/areas_helper_spec.rb +36 -10
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9825b545e07dcf9337e0f9176ff4c4f56868450ca81e26c66806324b04e3f096
|
|
4
|
+
data.tar.gz: b576dda5149b50eef40d3cd15db7b32cb4f9e246b1b0378a4972436e23b5a1d7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2f203df90096273faea3c8b16478b33f35662d94ffadcd3cb533674575b15fb2f1cf2100703c15176f76f07e984ea0b96a3de140f52e6a6e67d2983627548f5f
|
|
7
|
+
data.tar.gz: 7e51966d6484244aa35a1d659f32160d3f2cc069585248418b7a1a7446164936516f25bb7abbe922dcc4e8c07fe7cfd59a0812d55cec3fd31ce8a4d5a3b2f7fe
|
data/CHANGELOG.md
CHANGED
|
@@ -1,39 +1,14 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
-
### Version 2.
|
|
3
|
+
### Version 2.1.0
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
2019-01-23
|
|
6
6
|
|
|
7
|
-
[Compare changes](https://github.com/codevise/pageflow-linkmap-page/compare/
|
|
7
|
+
[Compare changes](https://github.com/codevise/pageflow-linkmap-page/compare/2-0-stable...v2.1.0)
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- Requires Pageflow 13.
|
|
12
|
-
([#35](https://github.com/codevise/pageflow-linkmap-page/pull/35),
|
|
13
|
-
[#38](https://github.com/codevise/pageflow-linkmap-page/pull/38))
|
|
14
|
-
|
|
15
|
-
- Use server side processing for color maps and masked images.
|
|
16
|
-
([#42](https://github.com/codevise/pageflow-linkmap-page/pull/42))
|
|
17
|
-
|
|
18
|
-
Remove the following line from your `config/routes.rb` file:
|
|
19
|
-
|
|
20
|
-
mount Pageflow::LinkmapPage::Engine, at: '/linkmap_page'
|
|
21
|
-
|
|
22
|
-
Run the following rake task to trigger server side processing of
|
|
23
|
-
color maps and masked images:
|
|
24
|
-
|
|
25
|
-
bin/rake pageflow_linkmap_page:migrate_to_masked_image_files
|
|
26
|
-
|
|
27
|
-
Consider running this task on a separate machine to handle file
|
|
28
|
-
processing before deploying the update.
|
|
29
|
-
|
|
30
|
-
##### Features
|
|
31
|
-
|
|
32
|
-
- Paginated mobile navigation
|
|
33
|
-
([#43](https://github.com/codevise/pageflow-linkmap-page/pull/43))
|
|
34
|
-
- Integrate with horizontal slideshow navigation
|
|
35
|
-
([#44](https://github.com/codevise/pageflow-linkmap-page/pull/44))
|
|
9
|
+
- Add compatibility to pageflow_linkmap_page 1.5
|
|
10
|
+
([#48](https://github.com/codevise/pageflow-linkmap-page/pull/48))
|
|
36
11
|
|
|
37
12
|
See
|
|
38
|
-
[
|
|
13
|
+
[2-0-stable branch](https://github.com/codevise/pageflow-linkmap-page/blob/2-0-stable/CHANGELOG.md)
|
|
39
14
|
for previous changes.
|
|
@@ -85,7 +85,8 @@ pageflow.linkmapPage.Area = Backbone.Model.extend({
|
|
|
85
85
|
unsetMask: function() {
|
|
86
86
|
this.set({
|
|
87
87
|
marker: 'no_marker',
|
|
88
|
-
mask_perma_id: undefined
|
|
88
|
+
mask_perma_id: undefined,
|
|
89
|
+
color_map_component_id: undefined
|
|
89
90
|
});
|
|
90
91
|
this.trigger('change:dimensions');
|
|
91
92
|
},
|
|
@@ -119,5 +120,18 @@ pageflow.linkmapPage.Area = Backbone.Model.extend({
|
|
|
119
120
|
|
|
120
121
|
remove: function() {
|
|
121
122
|
this.collection.remove(this);
|
|
123
|
+
},
|
|
124
|
+
|
|
125
|
+
get: function(attr) {
|
|
126
|
+
if (attr === 'color_map_component_id') {
|
|
127
|
+
var colorMapComponentId = this.attributes['color_map_component_id'];
|
|
128
|
+
if(colorMapComponentId === undefined) {
|
|
129
|
+
// also try legacy mask_perma_id as fallback
|
|
130
|
+
colorMapComponentId = this.attributes['mask_perma_id'];
|
|
131
|
+
}
|
|
132
|
+
return colorMapComponentId;
|
|
133
|
+
} else {
|
|
134
|
+
return this.attributes[attr];
|
|
135
|
+
}
|
|
122
136
|
}
|
|
123
137
|
});
|
|
@@ -77,7 +77,7 @@ pageflow.linkmapPage.EditAreaView = Backbone.Marionette.Layout.extend({
|
|
|
77
77
|
|
|
78
78
|
configurationEditor.tab('appearance', function() {
|
|
79
79
|
this.input('marker', pageflow.SelectInputView, {values: pageflow.linkmapPage.markerOptions});
|
|
80
|
-
this.input('
|
|
80
|
+
this.input('color_map_component_id', pageflow.linkmapPage.AreaMaskInputView, {
|
|
81
81
|
visibleBinding: 'marker',
|
|
82
82
|
visible: function(value) {
|
|
83
83
|
return value !== 'dynamic_marker';
|
data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_item_embedded_view.js
CHANGED
|
@@ -209,7 +209,7 @@ pageflow.linkmapPage.AreaItemEmbeddedView = Backbone.Marionette.ItemView.extend(
|
|
|
209
209
|
var audioFileId = this.model.get('target_id');
|
|
210
210
|
var colorMapComponent = this.getColorMapComponent();
|
|
211
211
|
|
|
212
|
-
this.$el.attr('data-
|
|
212
|
+
this.$el.attr('data-color-map-component-id', colorMapComponent ? colorMapComponent.permaId : null);
|
|
213
213
|
this.$el.attr('data-audio-file', audioFileId ? audioFileId + '.' + this.cid : '');
|
|
214
214
|
this.$el.attr('data-target-type', this.model.get('target_type'));
|
|
215
215
|
this.$el.attr('data-target-id', this.model.get('target_id'));
|
|
@@ -271,7 +271,7 @@ pageflow.linkmapPage.AreaItemEmbeddedView = Backbone.Marionette.ItemView.extend(
|
|
|
271
271
|
|
|
272
272
|
getColorMapComponent: function() {
|
|
273
273
|
return this.options.colorMap.componentByPermaId(
|
|
274
|
-
this.model.get('
|
|
274
|
+
this.model.get('color_map_component_id')
|
|
275
275
|
);
|
|
276
276
|
}
|
|
277
277
|
});
|
|
@@ -147,7 +147,7 @@ pageflow.linkmapPage.AreaMasksPreviewEmbeddedView = Backbone.Marionette.ItemView
|
|
|
147
147
|
|
|
148
148
|
colorMapComponentIsUsed: function(colorMapComponent) {
|
|
149
149
|
return this.options.areas.any(function(area) {
|
|
150
|
-
return colorMapComponent.permaId === area.get('
|
|
150
|
+
return colorMapComponent.permaId === area.get('color_map_component_id');
|
|
151
151
|
}, this);
|
|
152
152
|
},
|
|
153
153
|
|
|
@@ -28,7 +28,7 @@ pageflow.linkmapPage.AreaOutlineEmbeddedView = Backbone.Marionette.ItemView.exte
|
|
|
28
28
|
var area = this.options.area;
|
|
29
29
|
var canvas = this.ui.canvas[0];
|
|
30
30
|
|
|
31
|
-
var colorMapComponent = this.options.colorMap.componentByPermaId(area.get('
|
|
31
|
+
var colorMapComponent = this.options.colorMap.componentByPermaId(area.get('color_map_component_id'));
|
|
32
32
|
|
|
33
33
|
if (colorMapComponent) {
|
|
34
34
|
var attributes = colorMapComponent.areaAttributes();
|
|
@@ -73,7 +73,7 @@ pageflow.linkmapPage.AreaOutlineEmbeddedView = Backbone.Marionette.ItemView.exte
|
|
|
73
73
|
|
|
74
74
|
drawArea: function(context, area) {
|
|
75
75
|
var canvas = context.canvas;
|
|
76
|
-
var colorMapComponent = this.options.colorMap.componentByPermaId(area.get('
|
|
76
|
+
var colorMapComponent = this.options.colorMap.componentByPermaId(area.get('color_map_component_id'));
|
|
77
77
|
|
|
78
78
|
if (colorMapComponent) {
|
|
79
79
|
colorMapComponent.draw(context, canvas.width);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
$.fn.linkmapAreaSetMask = function(options) {
|
|
2
2
|
this.each(function() {
|
|
3
3
|
var area = $(this);
|
|
4
|
-
var colorMapComponent = options.colorMap.componentByPermaId(area.attr('data-
|
|
4
|
+
var colorMapComponent = options.colorMap.componentByPermaId(area.attr('data-color-map-component-id'));
|
|
5
5
|
|
|
6
6
|
if (colorMapComponent) {
|
|
7
7
|
area.data('mask', new pageflow.linkmapPage.Mask({
|
|
@@ -23,7 +23,7 @@ pageflow.linkmapPage.ColorMap = (function() {
|
|
|
23
23
|
|
|
24
24
|
this.areaAttributes = function() {
|
|
25
25
|
return {
|
|
26
|
-
|
|
26
|
+
color_map_component_id: this.permaId,
|
|
27
27
|
top: attributes.top / colorMapHeight * 100.0,
|
|
28
28
|
left: attributes.left / colorMapWidth * 100.0,
|
|
29
29
|
height: attributes.height / colorMapHeight * 100.0,
|
|
@@ -32,14 +32,15 @@ module Pageflow
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def linkmap_area_background_image_div(prefix, attributes, configuration, color_map_file)
|
|
35
|
+
color_map_component_id = attributes['color_map_component_id'] || attributes['mask_perma_id']
|
|
35
36
|
if color_map_file &&
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
color_map_component_id.present? &&
|
|
38
|
+
color_map_component_id.split(':').first.to_i == color_map_file.id
|
|
38
39
|
background_image_div(configuration,
|
|
39
40
|
"linkmap_masked_#{prefix}_image",
|
|
40
41
|
class: "#{prefix}_image",
|
|
41
42
|
file_type: 'pageflow_linkmap_page_masked_image_files',
|
|
42
|
-
style_group:
|
|
43
|
+
style_group: color_map_component_id.split(':').last)
|
|
43
44
|
else
|
|
44
45
|
background_image_div(configuration,
|
|
45
46
|
"#{prefix}_image",
|
|
@@ -90,7 +91,8 @@ module Pageflow
|
|
|
90
91
|
end
|
|
91
92
|
|
|
92
93
|
def data_attributes
|
|
93
|
-
|
|
94
|
+
color_map_component_id = background_type != 'hover_video' &&
|
|
95
|
+
(attributes[:color_map_component_id] || attributes[:mask_perma_id])
|
|
94
96
|
audio_file_id = attributes[:target_id]
|
|
95
97
|
|
|
96
98
|
{
|
|
@@ -98,7 +100,7 @@ module Pageflow
|
|
|
98
100
|
target_id: attributes[:target_id],
|
|
99
101
|
audio_file: audio_file_id.present? ? "#{audio_file_id}.area_#{index}" : nil,
|
|
100
102
|
page_transition: attributes[:page_transition],
|
|
101
|
-
|
|
103
|
+
color_map_component_id: color_map_component_id,
|
|
102
104
|
width: attributes[:width],
|
|
103
105
|
height: attributes[:height]
|
|
104
106
|
}.delete_if { |key, value| value.blank? }
|
data/config/locales/de.yml
CHANGED
|
@@ -2,11 +2,11 @@ de:
|
|
|
2
2
|
activerecord:
|
|
3
3
|
attributes:
|
|
4
4
|
pageflow/linkmap_page/area:
|
|
5
|
+
color_map_component_id: Maske
|
|
5
6
|
inverted: Invertieren
|
|
6
7
|
link_description: 'Linkbeschreibung: Text'
|
|
7
8
|
link_title: 'Linkbeschreibung: Titel'
|
|
8
9
|
marker: Linkmarkierung
|
|
9
|
-
mask_perma_id: Maske
|
|
10
10
|
name: Bezeichnung
|
|
11
11
|
page_transition: Seitenwechsel-Animation
|
|
12
12
|
target_id: Ziel
|
|
@@ -331,11 +331,11 @@ de:
|
|
|
331
331
|
areas: Bereiche
|
|
332
332
|
inline_help:
|
|
333
333
|
pageflow/linkmap_page/area:
|
|
334
|
+
color_map_component_id: Farbiger Bereich im Maskenbild, der die Form des Hotspots bestimmt.
|
|
335
|
+
color_map_component_id_disabled: Farbiger Bereich im Maskenbild, der die Form des Hotspots bestimmt. Nur verfügbar, wenn ein Masken-Bild im 'Dateien'-Tab der Hotspot-Seite festgelegt wurde und als Panorama-Typ nicht 'Hover Video' ausgewählt wurde.
|
|
334
336
|
inverted: Dunkle Piktogramme für die Verwendung auf hellen Hintergründen anzeigen.
|
|
335
337
|
link_title: Die Beschreibung wird in einem Overlay angezeigt, wenn sich der Cursor über dem Hotspot befindet.
|
|
336
338
|
marker: Wähle die visuelle Darstellung des Hotspots.
|
|
337
|
-
mask_perma_id: Farbiger Bereich im Maskenbild, der die Form des Hotspots bestimmt.
|
|
338
|
-
mask_perma_id_disabled: Farbiger Bereich im Maskenbild, der die Form des Hotspots bestimmt. Nur verfügbar, wenn ein Masken-Bild im 'Dateien'-Tab der Hotspot-Seite festgelegt wurde und als Panorama-Typ nicht 'Hover Video' ausgewählt wurde.
|
|
339
339
|
name: Gib hier eine Bezeichnung ein, um später bei in der Verweis-Übersicht direkt zu erkennen, um welchen Verweis es sich handelt. Die Bezeichnung ist für die Leser nicht sichtbar.
|
|
340
340
|
page_transition: Wähle hier den Effekt, der beim Übergang zur Zielseite des Verweises benutzt werden soll.
|
|
341
341
|
target_id: Objekt auf das der Hotspot verlinkt.
|
data/config/locales/en.yml
CHANGED
|
@@ -2,11 +2,11 @@ en:
|
|
|
2
2
|
activerecord:
|
|
3
3
|
attributes:
|
|
4
4
|
pageflow/linkmap_page/area:
|
|
5
|
+
color_map_component_id: Mask
|
|
5
6
|
inverted: Invert
|
|
6
7
|
link_description: Link decription text
|
|
7
8
|
link_title: Link description title
|
|
8
9
|
marker: Link display
|
|
9
|
-
mask_perma_id: Mask
|
|
10
10
|
name: Label
|
|
11
11
|
page_transition: Page transition
|
|
12
12
|
target_id: Target
|
|
@@ -291,11 +291,11 @@ en:
|
|
|
291
291
|
areas: Areas
|
|
292
292
|
inline_help:
|
|
293
293
|
pageflow/linkmap_page/area:
|
|
294
|
+
color_map_component_id: Colored area inside mask image which determines the shape of the hotspot.
|
|
295
|
+
color_map_component_id_disabled: Colored area inside mask image which determines the shape of the hotspot. Only available if a mask image has been selected on the hotspot page's 'Files' tab and the panorama type is not 'Hover video'.
|
|
294
296
|
inverted: Display dark pictograms to improve visibility on light backgrounds.
|
|
295
297
|
link_title: The description is displayed inside an overlay when the cursor hovers the hotspot.
|
|
296
298
|
marker: 'Choose the hotspot''s visual appearance. '
|
|
297
|
-
mask_perma_id: Colored area inside mask image which determines the shape of the hotspot.
|
|
298
|
-
mask_perma_id_disabled: Colored area inside mask image which determines the shape of the hotspot. Only available if a mask image has been selected on the hotspot page's 'Files' tab and the panorama type is not 'Hover video'.
|
|
299
299
|
name: Choose a label to recognize the link within the overview. This label is for your orientation only and will not be displayed to the reader.
|
|
300
300
|
page_transition: Choose the animation, that will be used to transition to the link's target page.
|
|
301
301
|
target_id: Object the hotspot links to.
|
|
@@ -163,7 +163,7 @@ module Pageflow
|
|
|
163
163
|
end
|
|
164
164
|
|
|
165
165
|
def with_progress(steps:)
|
|
166
|
-
progress = Progress.new(steps: steps) do |percent|
|
|
166
|
+
progress = Pageflow::LinkmapPage::Progress.new(steps: steps) do |percent|
|
|
167
167
|
if options[:progress_callback]
|
|
168
168
|
attachment.instance.send(options[:progress_callback], percent)
|
|
169
169
|
end
|
|
@@ -41,7 +41,7 @@ module Pageflow
|
|
|
41
41
|
color_map_file = color_map_file_for(color_map_image_file, revision)
|
|
42
42
|
page.configuration['linkmap_color_map_file_id'] = color_map_file.id
|
|
43
43
|
|
|
44
|
-
hover_image_file =
|
|
44
|
+
hover_image_file = ImageFile.find_by_id(page.configuration['hover_image_id'])
|
|
45
45
|
|
|
46
46
|
if hover_image_file
|
|
47
47
|
puts "-- Masked image file for hover image file #{hover_image_file.id}"
|
|
@@ -100,9 +100,9 @@ module Pageflow
|
|
|
100
100
|
areas = page.configuration['linkmap_areas'] || []
|
|
101
101
|
|
|
102
102
|
page.configuration['linkmap_areas'] = areas.map do |area_attributes|
|
|
103
|
-
|
|
103
|
+
mask_perma_id = area_attributes['mask_perma_id']
|
|
104
104
|
|
|
105
|
-
if
|
|
105
|
+
if mask_perma_id && !area_attributes['color_map_component_id']
|
|
106
106
|
sprite_id = page.configuration.fetch('linkmap_masks').fetch('id')
|
|
107
107
|
colors =
|
|
108
108
|
page
|
|
@@ -112,11 +112,10 @@ module Pageflow
|
|
|
112
112
|
.fetch('c')
|
|
113
113
|
.map { |component| component['c'] }
|
|
114
114
|
|
|
115
|
-
area_attributes.merge(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
sprite_id))
|
|
115
|
+
area_attributes.merge(color_map_component_id: convert_mask_perma_id(mask_perma_id,
|
|
116
|
+
colors,
|
|
117
|
+
color_map_file,
|
|
118
|
+
sprite_id))
|
|
120
119
|
else
|
|
121
120
|
area_attributes
|
|
122
121
|
end
|
|
@@ -36,7 +36,7 @@ module Pageflow
|
|
|
36
36
|
color_map_file = create(:color_map_file)
|
|
37
37
|
masked_image_file = create(:masked_image_file)
|
|
38
38
|
configuration = {
|
|
39
|
-
'linkmap_areas' => [{'
|
|
39
|
+
'linkmap_areas' => [{'color_map_component_id' => "#{color_map_file.id}:aaa"}],
|
|
40
40
|
'hover_image_id' => 5,
|
|
41
41
|
'linkmap_color_map_file_id' => color_map_file.id,
|
|
42
42
|
'linkmap_masked_hover_image_id' => masked_image_file.id
|
|
@@ -62,13 +62,13 @@ module Pageflow
|
|
|
62
62
|
expect(html).to have_selector('a div[class~="image_panorama_5"]')
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
-
it 'does not use masked hover image if area
|
|
65
|
+
it 'does not use masked hover image if area color map component id references other image' do
|
|
66
66
|
entry = create(:entry)
|
|
67
67
|
masked_image_file = create(:masked_image_file)
|
|
68
68
|
color_map_file = create(:color_map_file)
|
|
69
69
|
other_id = color_map_file.id + 1
|
|
70
70
|
configuration = {
|
|
71
|
-
'linkmap_areas' => [{'
|
|
71
|
+
'linkmap_areas' => [{'color_map_component_id' => "#{other_id}:aaa"}],
|
|
72
72
|
'hover_image_id' => 5,
|
|
73
73
|
'linkmap_masked_hover_image_id' => masked_image_file.id
|
|
74
74
|
}
|
|
@@ -92,7 +92,7 @@ module Pageflow
|
|
|
92
92
|
color_map_file = create(:color_map_file)
|
|
93
93
|
masked_image_file = create(:masked_image_file)
|
|
94
94
|
configuration = {
|
|
95
|
-
'linkmap_areas' => [{'
|
|
95
|
+
'linkmap_areas' => [{'color_map_component_id' => "#{color_map_file.id}:aaa"}],
|
|
96
96
|
'hover_image_id' => 5,
|
|
97
97
|
'linkmap_color_map_file_id' => color_map_file.id,
|
|
98
98
|
'linkmap_masked_visited_image_id' => masked_image_file.id
|
|
@@ -104,25 +104,51 @@ module Pageflow
|
|
|
104
104
|
expect(html).to have_selector("a div[class~='#{image_class}']")
|
|
105
105
|
end
|
|
106
106
|
|
|
107
|
-
it 'sets data-
|
|
107
|
+
it 'sets data-color-map-component-id attribute if area has color_map_component_id' do
|
|
108
108
|
entry = create(:entry)
|
|
109
|
-
configuration = {'linkmap_areas' => [{'
|
|
109
|
+
configuration = {'linkmap_areas' => [{'color_map_component_id' => '1:aaa'}]}
|
|
110
110
|
|
|
111
111
|
html = helper.linkmap_areas_div(entry, configuration)
|
|
112
112
|
|
|
113
|
-
expect(html).to have_selector('a[data-
|
|
113
|
+
expect(html).to have_selector('a[data-color-map-component-id="1:aaa"]')
|
|
114
114
|
end
|
|
115
115
|
|
|
116
|
-
it '
|
|
116
|
+
it 'uses color map component id if present, preceding mask perma id' do
|
|
117
117
|
entry = create(:entry)
|
|
118
|
+
color_map_file_1 = create(:color_map_file)
|
|
119
|
+
color_map_file_2 = create(:color_map_file)
|
|
118
120
|
configuration = {
|
|
119
|
-
'linkmap_areas' => [{'
|
|
121
|
+
'linkmap_areas' => [{'color_map_component_id' => "#{color_map_file_2.id}:aaa",
|
|
122
|
+
'mask_perma_id' => "#{color_map_file_1.id}:aaa"}]
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
html = helper.linkmap_areas_div(entry, configuration)
|
|
126
|
+
|
|
127
|
+
expect(html).to have_selector("a[data-color-map-component-id='#{color_map_file_2.id}:aaa']")
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
it 'uses mask perma id as fallback if present and color map component id is blank' do
|
|
131
|
+
entry = create(:entry)
|
|
132
|
+
color_map_file = create(:color_map_file)
|
|
133
|
+
configuration = {
|
|
134
|
+
'linkmap_areas' => [{'mask_perma_id' => "#{color_map_file.id}:aaa"}]
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
html = helper.linkmap_areas_div(entry, configuration)
|
|
138
|
+
|
|
139
|
+
expect(html).to have_selector("a[data-color-map-component-id='#{color_map_file.id}:aaa']")
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
it 'does not set data-color-map-component-id attribute if background type is hover_video' do
|
|
143
|
+
entry = create(:entry)
|
|
144
|
+
configuration = {
|
|
145
|
+
'linkmap_areas' => [{'color_map_component_id' => '1:aaa'}],
|
|
120
146
|
'background_type' => 'hover_video'
|
|
121
147
|
}
|
|
122
148
|
|
|
123
149
|
html = helper.linkmap_areas_div(entry, configuration)
|
|
124
150
|
|
|
125
|
-
expect(html).not_to have_selector('a[data-
|
|
151
|
+
expect(html).not_to have_selector('a[data-color-map-component-id]')
|
|
126
152
|
end
|
|
127
153
|
end
|
|
128
154
|
|
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.1.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: 2019-01-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: pageflow
|
|
@@ -351,7 +351,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
351
351
|
version: '0'
|
|
352
352
|
requirements: []
|
|
353
353
|
rubyforge_project:
|
|
354
|
-
rubygems_version: 2.7.
|
|
354
|
+
rubygems_version: 2.7.8
|
|
355
355
|
signing_key:
|
|
356
356
|
specification_version: 4
|
|
357
357
|
summary: Pageflow page type for a page that contains customizable link areas
|