pageflow-linkmap-page 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -44
  3. data/README.md +14 -4
  4. data/app/assets/javascript/pageflow/linkmap_page/editor/collections/areas_collection.js +21 -12
  5. data/app/assets/javascript/pageflow/linkmap_page/editor/controllers/side_bar_controller.js +23 -0
  6. data/app/assets/javascript/pageflow/linkmap_page/editor/models/area.js +36 -0
  7. data/app/assets/javascript/pageflow/linkmap_page/editor/models/masks_delegator.js +16 -0
  8. data/app/assets/javascript/pageflow/linkmap_page/editor/models/new_area_file_selection_handler.js +1 -0
  9. data/app/assets/javascript/pageflow/linkmap_page/editor/models/page_configuration_mixin.js +84 -27
  10. data/app/assets/javascript/pageflow/linkmap_page/editor/models/stored_mask_sprite.js +25 -0
  11. data/app/assets/javascript/pageflow/linkmap_page/editor/routers/side_bar_router.js +3 -1
  12. data/app/assets/javascript/pageflow/linkmap_page/editor/templates/embedded/area_item.jst.ejs +14 -5
  13. data/app/assets/javascript/pageflow/linkmap_page/editor/templates/embedded/area_masks_preview.jst.ejs +2 -0
  14. data/app/assets/javascript/pageflow/linkmap_page/editor/templates/embedded/area_outlines.jst.ejs +2 -0
  15. data/app/assets/javascript/pageflow/linkmap_page/editor/templates/select_area_position_hint.jst.ejs +4 -0
  16. data/app/assets/javascript/pageflow/linkmap_page/editor/views/areas_list_view.js +6 -0
  17. data/app/assets/javascript/pageflow/linkmap_page/editor/views/configuration_editor_view.js +9 -4
  18. data/app/assets/javascript/pageflow/linkmap_page/editor/views/edit_area_view.js +15 -11
  19. data/app/assets/javascript/pageflow/linkmap_page/editor/views/editable_areas_mode_view.js +6 -1
  20. data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_item_embedded_view.js +78 -56
  21. data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_masks_preview_embedded_view.js +219 -0
  22. data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_outlines_embedded_view.js +126 -0
  23. data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/areas_embedded_view.js +34 -3
  24. data/app/assets/javascript/pageflow/linkmap_page/editor/views/inputs/area_mask_input_view.js +35 -0
  25. data/app/assets/javascript/pageflow/linkmap_page/editor/views/select_area_position_hint_view.js +39 -0
  26. data/app/assets/javascript/pageflow/linkmap_page/editor.js +12 -1
  27. data/app/assets/javascript/pageflow/linkmap_page/page_type.js +35 -35
  28. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/area_contains.js +18 -0
  29. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/area_redraw.js +29 -0
  30. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/color_map.js +122 -0
  31. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/image_data.js +59 -0
  32. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/mask.js +37 -0
  33. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/mask_sprite.js +68 -0
  34. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/masks.js +99 -0
  35. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/remote_image.js +38 -0
  36. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap.js +137 -9
  37. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_audio_player_controls.js +1 -1
  38. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_panorama.js +24 -18
  39. data/app/assets/javascript/pageflow/linkmap_page.js +1 -1
  40. data/app/assets/stylesheets/pageflow/linkmap_page/animations/{rotate.css.scss → rotate.scss} +0 -0
  41. data/app/assets/stylesheets/pageflow/linkmap_page/editor/action_buttons.scss +66 -0
  42. data/app/assets/stylesheets/pageflow/linkmap_page/editor/area_outlines.scss +13 -0
  43. data/app/assets/stylesheets/pageflow/linkmap_page/editor/{file_areas.css.scss → file_areas.scss} +0 -0
  44. data/app/assets/stylesheets/pageflow/linkmap_page/editor/inputs/area_mask.scss +3 -0
  45. data/app/assets/stylesheets/pageflow/linkmap_page/editor/masks_preview.scss +15 -0
  46. data/app/assets/stylesheets/pageflow/linkmap_page/editor/{resizable.css.scss → resizable.scss} +0 -0
  47. data/app/assets/stylesheets/pageflow/linkmap_page/editor/select_area_position_hint.scss +9 -0
  48. data/app/assets/stylesheets/pageflow/linkmap_page/{editor.css.scss → editor.scss} +28 -41
  49. data/app/assets/stylesheets/pageflow/linkmap_page/themes/{default.css.scss → default.scss} +2 -3
  50. data/app/assets/stylesheets/pageflow/{linkmap_page.css.scss → linkmap_page.scss} +15 -18
  51. data/app/controllers/pageflow/linkmap_page/mask_sprites_controller.rb +26 -0
  52. data/app/helpers/pageflow/linkmap_page/areas_helper.rb +19 -4
  53. data/app/models/pageflow/linkmap_page/mask_sprite.rb +15 -0
  54. data/app/views/pageflow/linkmap_page/areas/_div.html.erb +4 -7
  55. data/config/locales/de.yml +184 -6
  56. data/config/locales/en.yml +149 -7
  57. data/config/routes.rb +2 -2
  58. data/db/migrate/20170330201200_create_mask_sprites.rb +12 -0
  59. data/lib/generators/pageflow_linkmap_page/install/install_generator.rb +1 -0
  60. data/lib/pageflow/linkmap_page/version.rb +1 -1
  61. data/pageflow-linkmap-page.gemspec +10 -11
  62. data/spec/controllers/pageflow/linkmap_page/mask_sprites_controller_spec.rb +108 -0
  63. data/spec/helpers/pageflow/linkmap_page/areas_helper_spec.rb +23 -2
  64. metadata +75 -59
  65. data/config/locales/new/inverted.de.yml +0 -10
  66. data/config/locales/new/inverted.en.yml +0 -10
  67. data/config/locales/new/scaled_on_phone_hint.de.yml +0 -11
  68. data/config/locales/new/scaled_on_phone_hint.en.yml +0 -11
  69. data/config/locales/new/scroll_indicators_v.de.yml +0 -6
  70. data/config/locales/new/scroll_indicators_v.en.yml +0 -6
  71. data/config/locales/new/text_only_area_type.de.yml +0 -11
  72. data/config/locales/new/text_only_area_type.en.yml +0 -11
  73. data/config/locales/new/typo.en.yml +0 -6
@@ -0,0 +1,108 @@
1
+ require 'spec_helper'
2
+
3
+ module Pageflow
4
+ module LinkmapPage
5
+ describe MaskSpritesController do
6
+ DATA_URL = 'data:image/png;base64,iVBORw0KGgoAAA' \
7
+ 'ANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAGXRFWHRTb2Z' \
8
+ '0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAENJREFU' \
9
+ 'eNpiYICABCDeAcRfoXQCA5LEDyD+j4R/wBTsQJOAYZA42' \
10
+ 'Chskl+ZgMRhBuzgMEhyBRD/RJP4CRXH7VqAAAMA2qweFJ' \
11
+ 'llSygAAAAASUVORK5CYII='.freeze
12
+
13
+ describe '#create' do
14
+ routes { Pageflow::LinkmapPage::Engine.routes }
15
+
16
+ it 'responds with success for member' do
17
+ user = create(:user)
18
+ entry = create(:entry, with_member: user)
19
+ image_file = create(:image_file, used_in: entry.draft)
20
+
21
+ sign_in(user)
22
+ post(:create,
23
+ image_file_id: image_file.id,
24
+ mask_sprite: {attachment: DATA_URL},
25
+ format: 'json')
26
+
27
+ expect(response.status).to eq(201)
28
+ end
29
+
30
+ it 'includes id of created mask sprite in response' do
31
+ user = create(:user)
32
+ entry = create(:entry, with_member: user)
33
+ image_file = create(:image_file, used_in: entry.draft)
34
+
35
+ sign_in(user)
36
+ post(:create,
37
+ image_file_id: image_file.id,
38
+ mask_sprite: {attachment: DATA_URL},
39
+ format: 'json')
40
+
41
+ json = JSON.parse(response.body)
42
+
43
+ expect(json['id']).to eq(MaskSprite.last.id)
44
+ end
45
+
46
+ it 'creates mask sprite for image' do
47
+ user = create(:user)
48
+ entry = create(:entry, with_member: user)
49
+ image_file = create(:image_file, used_in: entry.draft)
50
+
51
+ sign_in(user)
52
+ post(:create,
53
+ image_file_id: image_file.id,
54
+ mask_sprite: {attachment: DATA_URL},
55
+ format: 'json')
56
+ mask_sprite = MaskSprite.where(image_file: image_file).first
57
+
58
+ expect(mask_sprite).to be_present
59
+ expect(mask_sprite.attachment).to be_present
60
+ end
61
+
62
+ it 'does not recreate mask sprite if it already exists' do
63
+ user = create(:user)
64
+ entry = create(:entry, with_member: user)
65
+ image_file = create(:image_file, used_in: entry.draft)
66
+
67
+ sign_in(user)
68
+ post(:create,
69
+ image_file_id: image_file.id,
70
+ mask_sprite: {attachment: DATA_URL},
71
+ format: 'json')
72
+
73
+ expect {
74
+ post(:create,
75
+ image_file_id: image_file.id,
76
+ mask_sprite: {attachment: DATA_URL},
77
+ format: 'json')
78
+ }.not_to change { MaskSprite.count }
79
+ end
80
+
81
+ it 'requires user to have permissions for entry' do
82
+ user = create(:user)
83
+ entry = create(:entry)
84
+ image_file = create(:image_file, used_in: entry.draft)
85
+
86
+ sign_in(user)
87
+ post(:create,
88
+ image_file_id: image_file.id,
89
+ mask_sprite: {attachment: DATA_URL},
90
+ format: 'json')
91
+
92
+ expect(response.status).to eq(403)
93
+ end
94
+
95
+ it 'requires user to be signed in' do
96
+ image_file = create(:image_file)
97
+
98
+ post(:create,
99
+ image_file_id: image_file.id,
100
+ mask_sprite: {attachment: DATA_URL},
101
+ format: 'json')
102
+
103
+ expect(response.status).to eq(401)
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -22,13 +22,34 @@ module Pageflow
22
22
  expect(html).to have_selector('div a[href]')
23
23
  end
24
24
 
25
- it 'renders hover image inside linkmap areas' do
25
+ it 'renders hover image canvas inside linkmap areas' do
26
26
  entry = create(:entry)
27
27
  configuration = {'linkmap_areas' => [{}], 'hover_image_id' => 5}
28
28
 
29
29
  html = helper.linkmap_areas_div(entry, configuration)
30
30
 
31
- expect(html).to have_selector('a div[class~="image_panorama_5"]')
31
+ expect(html).to have_selector('a canvas.hover_image')
32
+ end
33
+
34
+ it 'sets data-mask-id attribute if area has mask_perma_id' do
35
+ entry = create(:entry)
36
+ configuration = {'linkmap_areas' => [{'mask_perma_id' => '1:2'}]}
37
+
38
+ html = helper.linkmap_areas_div(entry, configuration)
39
+
40
+ expect(html).to have_selector('a[data-mask-id="1:2"]')
41
+ end
42
+
43
+ it 'does not set data-mask-id attribute if background type is hover_video' do
44
+ entry = create(:entry)
45
+ configuration = {
46
+ 'linkmap_areas' => [{'mask_perma_id' => '1:2'}],
47
+ 'background_type' => 'hover_video'
48
+ }
49
+
50
+ html = helper.linkmap_areas_div(entry, configuration)
51
+
52
+ expect(html).not_to have_selector('a[data-mask-id]')
32
53
  end
33
54
  end
34
55
 
metadata CHANGED
@@ -1,85 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pageflow-linkmap-page
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.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: 2017-04-21 00:00:00.000000000 Z
11
+ date: 2017-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pageflow
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.10'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '13'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0.10'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '13'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: pageflow-external-links
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.3'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
37
+ - - ">="
39
38
  - !ruby/object:Gem::Version
40
39
  version: '0.3'
41
- - !ruby/object:Gem::Dependency
42
- name: i18n-js
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
40
+ - - "<"
46
41
  - !ruby/object:Gem::Version
47
- version: '0'
42
+ version: '2'
48
43
  type: :runtime
49
44
  prerelease: false
50
45
  version_requirements: !ruby/object:Gem::Requirement
51
46
  requirements:
52
47
  - - ">="
53
48
  - !ruby/object:Gem::Version
54
- version: '0'
49
+ version: '0.3'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '2'
55
53
  - !ruby/object:Gem::Dependency
56
54
  name: bundler
57
55
  requirement: !ruby/object:Gem::Requirement
58
56
  requirements:
59
- - - ">="
57
+ - - "~>"
60
58
  - !ruby/object:Gem::Version
61
- version: '0'
59
+ version: '1.0'
62
60
  type: :development
63
61
  prerelease: false
64
62
  version_requirements: !ruby/object:Gem::Requirement
65
63
  requirements:
66
- - - ">="
64
+ - - "~>"
67
65
  - !ruby/object:Gem::Version
68
- version: '0'
66
+ version: '1.0'
69
67
  - !ruby/object:Gem::Dependency
70
68
  name: rake
71
69
  requirement: !ruby/object:Gem::Requirement
72
70
  requirements:
73
- - - ">="
71
+ - - "~>"
74
72
  - !ruby/object:Gem::Version
75
- version: '0'
73
+ version: '12.0'
76
74
  type: :development
77
75
  prerelease: false
78
76
  version_requirements: !ruby/object:Gem::Requirement
79
77
  requirements:
80
- - - ">="
78
+ - - "~>"
81
79
  - !ruby/object:Gem::Version
82
- version: '0'
80
+ version: '12.0'
83
81
  - !ruby/object:Gem::Dependency
84
82
  name: rspec-rails
85
83
  requirement: !ruby/object:Gem::Requirement
@@ -98,58 +96,58 @@ dependencies:
98
96
  name: factory_girl_rails
99
97
  requirement: !ruby/object:Gem::Requirement
100
98
  requirements:
101
- - - ">="
99
+ - - "~>"
102
100
  - !ruby/object:Gem::Version
103
- version: '0'
101
+ version: '4.5'
104
102
  type: :development
105
103
  prerelease: false
106
104
  version_requirements: !ruby/object:Gem::Requirement
107
105
  requirements:
108
- - - ">="
106
+ - - "~>"
109
107
  - !ruby/object:Gem::Version
110
- version: '0'
108
+ version: '4.5'
111
109
  - !ruby/object:Gem::Dependency
112
110
  name: sqlite3
113
111
  requirement: !ruby/object:Gem::Requirement
114
112
  requirements:
115
- - - ">="
113
+ - - "~>"
116
114
  - !ruby/object:Gem::Version
117
- version: '0'
115
+ version: '1.3'
118
116
  type: :development
119
117
  prerelease: false
120
118
  version_requirements: !ruby/object:Gem::Requirement
121
119
  requirements:
122
- - - ">="
120
+ - - "~>"
123
121
  - !ruby/object:Gem::Version
124
- version: '0'
122
+ version: '1.3'
125
123
  - !ruby/object:Gem::Dependency
126
124
  name: capybara
127
125
  requirement: !ruby/object:Gem::Requirement
128
126
  requirements:
129
- - - ">="
127
+ - - "~>"
130
128
  - !ruby/object:Gem::Version
131
- version: '0'
129
+ version: '2.13'
132
130
  type: :development
133
131
  prerelease: false
134
132
  version_requirements: !ruby/object:Gem::Requirement
135
133
  requirements:
136
- - - ">="
134
+ - - "~>"
137
135
  - !ruby/object:Gem::Version
138
- version: '0'
136
+ version: '2.13'
139
137
  - !ruby/object:Gem::Dependency
140
138
  name: semmy
141
139
  requirement: !ruby/object:Gem::Requirement
142
140
  requirements:
143
141
  - - "~>"
144
142
  - !ruby/object:Gem::Version
145
- version: 0.2.1
143
+ version: '1.0'
146
144
  type: :development
147
145
  prerelease: false
148
146
  version_requirements: !ruby/object:Gem::Requirement
149
147
  requirements:
150
148
  - - "~>"
151
149
  - !ruby/object:Gem::Version
152
- version: 0.2.1
150
+ version: '1.0'
153
151
  description:
154
152
  email:
155
153
  - info@codevise.de
@@ -180,27 +178,44 @@ files:
180
178
  - app/assets/javascript/pageflow/linkmap_page/editor/models/area_file_selection_handler.js
181
179
  - app/assets/javascript/pageflow/linkmap_page/editor/models/audio_file_area_type.js
182
180
  - app/assets/javascript/pageflow/linkmap_page/editor/models/external_link_area_type.js
181
+ - app/assets/javascript/pageflow/linkmap_page/editor/models/masks_delegator.js
183
182
  - app/assets/javascript/pageflow/linkmap_page/editor/models/new_area_file_selection_handler.js
184
183
  - app/assets/javascript/pageflow/linkmap_page/editor/models/page_configuration_mixin.js
185
184
  - app/assets/javascript/pageflow/linkmap_page/editor/models/page_link_area_type.js
185
+ - app/assets/javascript/pageflow/linkmap_page/editor/models/stored_mask_sprite.js
186
186
  - app/assets/javascript/pageflow/linkmap_page/editor/models/text_only_area_type.js
187
187
  - app/assets/javascript/pageflow/linkmap_page/editor/routers/side_bar_router.js
188
188
  - app/assets/javascript/pageflow/linkmap_page/editor/templates/edit_area.jst.ejs
189
189
  - app/assets/javascript/pageflow/linkmap_page/editor/templates/embedded/area_item.jst.ejs
190
+ - app/assets/javascript/pageflow/linkmap_page/editor/templates/embedded/area_masks_preview.jst.ejs
191
+ - app/assets/javascript/pageflow/linkmap_page/editor/templates/embedded/area_outlines.jst.ejs
190
192
  - app/assets/javascript/pageflow/linkmap_page/editor/templates/scaled_on_phone_hint.jst.ejs
193
+ - app/assets/javascript/pageflow/linkmap_page/editor/templates/select_area_position_hint.jst.ejs
191
194
  - app/assets/javascript/pageflow/linkmap_page/editor/views/areas_list_view.js
192
195
  - app/assets/javascript/pageflow/linkmap_page/editor/views/configuration_editor_view.js
193
196
  - app/assets/javascript/pageflow/linkmap_page/editor/views/edit_area_view.js
194
197
  - app/assets/javascript/pageflow/linkmap_page/editor/views/editable_areas_mode_view.js
195
198
  - app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_item_embedded_view.js
199
+ - app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_masks_preview_embedded_view.js
200
+ - app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_outlines_embedded_view.js
196
201
  - app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/areas_embedded_view.js
197
202
  - app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/panorama_embedded_view.js
203
+ - app/assets/javascript/pageflow/linkmap_page/editor/views/inputs/area_mask_input_view.js
198
204
  - app/assets/javascript/pageflow/linkmap_page/editor/views/scaled_on_phone_hint_view.js
205
+ - app/assets/javascript/pageflow/linkmap_page/editor/views/select_area_position_hint_view.js
199
206
  - app/assets/javascript/pageflow/linkmap_page/features.js
200
207
  - app/assets/javascript/pageflow/linkmap_page/page_type.js
201
208
  - app/assets/javascript/pageflow/linkmap_page/vendor/gyro.js
202
209
  - app/assets/javascript/pageflow/linkmap_page/widgets/hover_video.js
203
210
  - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap.js
211
+ - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/area_contains.js
212
+ - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/area_redraw.js
213
+ - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/color_map.js
214
+ - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/image_data.js
215
+ - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/mask.js
216
+ - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/mask_sprite.js
217
+ - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/masks.js
218
+ - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap/remote_image.js
204
219
  - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_audio_player_controls.js
205
220
  - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_audio_players_controller.js
206
221
  - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_lookaround.js
@@ -208,33 +223,32 @@ files:
208
223
  - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_panorama.js
209
224
  - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_panorama/get_panorama_size.js
210
225
  - app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_scroll_indicators.js
211
- - app/assets/stylesheets/pageflow/linkmap_page.css.scss
212
- - app/assets/stylesheets/pageflow/linkmap_page/animations/rotate.css.scss
226
+ - app/assets/stylesheets/pageflow/linkmap_page.scss
227
+ - app/assets/stylesheets/pageflow/linkmap_page/animations/rotate.scss
213
228
  - app/assets/stylesheets/pageflow/linkmap_page/audio_player_controls.scss
214
- - app/assets/stylesheets/pageflow/linkmap_page/editor.css.scss
229
+ - app/assets/stylesheets/pageflow/linkmap_page/editor.scss
230
+ - app/assets/stylesheets/pageflow/linkmap_page/editor/action_buttons.scss
231
+ - app/assets/stylesheets/pageflow/linkmap_page/editor/area_outlines.scss
215
232
  - app/assets/stylesheets/pageflow/linkmap_page/editor/areas_list.scss
216
- - app/assets/stylesheets/pageflow/linkmap_page/editor/file_areas.css.scss
217
- - app/assets/stylesheets/pageflow/linkmap_page/editor/resizable.css.scss
218
- - app/assets/stylesheets/pageflow/linkmap_page/themes/default.css.scss
233
+ - app/assets/stylesheets/pageflow/linkmap_page/editor/file_areas.scss
234
+ - app/assets/stylesheets/pageflow/linkmap_page/editor/inputs/area_mask.scss
235
+ - app/assets/stylesheets/pageflow/linkmap_page/editor/masks_preview.scss
236
+ - app/assets/stylesheets/pageflow/linkmap_page/editor/resizable.scss
237
+ - app/assets/stylesheets/pageflow/linkmap_page/editor/select_area_position_hint.scss
238
+ - app/assets/stylesheets/pageflow/linkmap_page/themes/default.scss
219
239
  - app/assets/stylesheets/pageflow/linkmap_page/themes/default/scroll_indicators.scss
240
+ - app/controllers/pageflow/linkmap_page/mask_sprites_controller.rb
220
241
  - app/helpers/pageflow/linkmap_page/areas_helper.rb
242
+ - app/models/pageflow/linkmap_page/mask_sprite.rb
221
243
  - app/views/pageflow/linkmap_page/areas/_div.html.erb
222
244
  - app/views/pageflow/linkmap_page/page.html.erb
223
245
  - bin/rspec
224
246
  - bin/spring
225
247
  - config/locales/de.yml
226
248
  - config/locales/en.yml
227
- - config/locales/new/inverted.de.yml
228
- - config/locales/new/inverted.en.yml
229
- - config/locales/new/scaled_on_phone_hint.de.yml
230
- - config/locales/new/scaled_on_phone_hint.en.yml
231
- - config/locales/new/scroll_indicators_v.de.yml
232
- - config/locales/new/scroll_indicators_v.en.yml
233
- - config/locales/new/text_only_area_type.de.yml
234
- - config/locales/new/text_only_area_type.en.yml
235
- - config/locales/new/typo.en.yml
236
249
  - config/routes.rb
237
250
  - config/spring.rb
251
+ - db/migrate/20170330201200_create_mask_sprites.rb
238
252
  - lib/generators/pageflow_linkmap_page/install/install_generator.rb
239
253
  - lib/pageflow-linkmap-page.rb
240
254
  - lib/pageflow/linkmap_page/engine.rb
@@ -242,11 +256,12 @@ files:
242
256
  - lib/pageflow/linkmap_page/plugin.rb
243
257
  - lib/pageflow/linkmap_page/version.rb
244
258
  - pageflow-linkmap-page.gemspec
259
+ - spec/controllers/pageflow/linkmap_page/mask_sprites_controller_spec.rb
245
260
  - spec/helpers/pageflow/linkmap_page/areas_helper_spec.rb
246
261
  - spec/spec_helper.rb
247
262
  - spec/support/config/devise.rb
248
263
  - spec/support/config/factory_girl.rb
249
- homepage: http://github.com/codevise/pageflow-linkmap-page
264
+ homepage: https://github.com/codevise/pageflow-linkmap-page
250
265
  licenses:
251
266
  - MIT
252
267
  metadata: {}
@@ -256,9 +271,9 @@ require_paths:
256
271
  - lib
257
272
  required_ruby_version: !ruby/object:Gem::Requirement
258
273
  requirements:
259
- - - ">="
274
+ - - "~>"
260
275
  - !ruby/object:Gem::Version
261
- version: '0'
276
+ version: '2.1'
262
277
  required_rubygems_version: !ruby/object:Gem::Requirement
263
278
  requirements:
264
279
  - - ">="
@@ -271,6 +286,7 @@ signing_key:
271
286
  specification_version: 4
272
287
  summary: Pageflow page type for a page that contains customizable link areas
273
288
  test_files:
289
+ - spec/controllers/pageflow/linkmap_page/mask_sprites_controller_spec.rb
274
290
  - spec/helpers/pageflow/linkmap_page/areas_helper_spec.rb
275
291
  - spec/spec_helper.rb
276
292
  - spec/support/config/devise.rb
@@ -1,10 +0,0 @@
1
- de:
2
- activerecord:
3
- attributes:
4
- pageflow/linkmap_page/area:
5
- inverted: "Invertieren"
6
- pageflow:
7
- ui:
8
- inline_help:
9
- pageflow/linkmap_page/area:
10
- inverted: "Dunkle Piktogramme für die Verwendung auf hellen Hintergründen anzeigen."
@@ -1,10 +0,0 @@
1
- en:
2
- activerecord:
3
- attributes:
4
- pageflow/linkmap_page/area:
5
- inverted: "Invert"
6
- pageflow:
7
- ui:
8
- inline_help:
9
- pageflow/linkmap_page/area:
10
- inverted: "Display dark pictograms to improve visibility on light backgrounds."
@@ -1,11 +0,0 @@
1
- de:
2
- pageflow:
3
- linkmap_page:
4
- editor:
5
- views:
6
- scaled_on_phone_hint:
7
- text: "Das Panorama wird im %{orientation} skaliert, um eine Mindestgröße der Hotspots für die Touch-Eingabe zu gewährleisten. Hotspots vergrößern, um Skalierung zu vermeiden."
8
- orientations:
9
- both: "Phone Layout"
10
- landscape: "Landscape Phone Layout"
11
- portrait: "Portrait Phone Layout"
@@ -1,11 +0,0 @@
1
- en:
2
- pageflow:
3
- linkmap_page:
4
- editor:
5
- views:
6
- scaled_on_phone_hint:
7
- text: "The panorama will be scaled on %{orientation} to ensure minimum hotspot size for touch interaction. Increase hotspot size to prevent scaling."
8
- orientations:
9
- both: "phones"
10
- landscape: "phones in landscape orientation"
11
- portrait: "phones in portrait orientation"
@@ -1,6 +0,0 @@
1
- de:
2
- pageflow:
3
- linkmap_page:
4
- page:
5
- scroll_up: Nach oben scrollen
6
- scroll_down: Nach unten scrollen
@@ -1,6 +0,0 @@
1
- en:
2
- pageflow:
3
- linkmap_page:
4
- page:
5
- scroll_up: Scroll up
6
- scroll_down: Scroll down
@@ -1,11 +0,0 @@
1
- de:
2
- pageflow:
3
- linkmap_page:
4
- editor:
5
- area_types:
6
- text_only: "Nur Text"
7
- activerecord:
8
- values:
9
- pageflow/linkmap_page/area:
10
- target_type:
11
- text_only: Nur Text
@@ -1,11 +0,0 @@
1
- en:
2
- pageflow:
3
- linkmap_page:
4
- editor:
5
- area_types:
6
- text_only: "Text only"
7
- activerecord:
8
- values:
9
- pageflow/linkmap_page/area:
10
- target_type:
11
- text_only: Text only
@@ -1,6 +0,0 @@
1
- en:
2
- pageflow:
3
- linkmap_page:
4
- page_attributes:
5
- limit_scrolling:
6
- label: Restrict to hotspot areas