pageflow-linkmap-page 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.jshintignore +1 -0
  4. data/.jshintrc +23 -0
  5. data/CHANGELOG.md +8 -0
  6. data/Gemfile +18 -0
  7. data/README.md +62 -0
  8. data/Rakefile +11 -0
  9. data/app/assets/images/pageflow/linkmap_page/text_only_area_type_pictogram.png +0 -0
  10. data/app/assets/images/pageflow/linkmap_page/themes/default/pictograms/sprite.png +0 -0
  11. data/app/assets/images/pageflow/linkmap_page/themes/default/pictograms/wide.png +0 -0
  12. data/app/assets/images/pageflow/linkmap_page_pictogram.png +0 -0
  13. data/app/assets/images/pageflow/linkmap_page_pictogram_small.png +0 -0
  14. data/app/assets/javascript/pageflow/linkmap_page.js +9 -0
  15. data/app/assets/javascript/pageflow/linkmap_page/editor.js +25 -0
  16. data/app/assets/javascript/pageflow/linkmap_page/editor/collections/areas_collection.js +57 -0
  17. data/app/assets/javascript/pageflow/linkmap_page/editor/collections/page_links_collection.js +29 -0
  18. data/app/assets/javascript/pageflow/linkmap_page/editor/config.js +51 -0
  19. data/app/assets/javascript/pageflow/linkmap_page/editor/controllers/side_bar_controller.js +15 -0
  20. data/app/assets/javascript/pageflow/linkmap_page/editor/models/area.js +79 -0
  21. data/app/assets/javascript/pageflow/linkmap_page/editor/models/area_file_selection_handler.js +12 -0
  22. data/app/assets/javascript/pageflow/linkmap_page/editor/models/audio_file_area_type.js +17 -0
  23. data/app/assets/javascript/pageflow/linkmap_page/editor/models/external_link_area_type.js +19 -0
  24. data/app/assets/javascript/pageflow/linkmap_page/editor/models/new_area_file_selection_handler.js +11 -0
  25. data/app/assets/javascript/pageflow/linkmap_page/editor/models/page_configuration_mixin.js +33 -0
  26. data/app/assets/javascript/pageflow/linkmap_page/editor/models/page_link_area_type.js +29 -0
  27. data/app/assets/javascript/pageflow/linkmap_page/editor/models/text_only_area_type.js +15 -0
  28. data/app/assets/javascript/pageflow/linkmap_page/editor/routers/side_bar_router.js +5 -0
  29. data/app/assets/javascript/pageflow/linkmap_page/editor/templates/edit_area.jst.ejs +3 -0
  30. data/app/assets/javascript/pageflow/linkmap_page/editor/templates/embedded/area_item.jst.ejs +11 -0
  31. data/app/assets/javascript/pageflow/linkmap_page/editor/views/areas_list_view.js +44 -0
  32. data/app/assets/javascript/pageflow/linkmap_page/editor/views/configuration_editor_view.js +90 -0
  33. data/app/assets/javascript/pageflow/linkmap_page/editor/views/edit_area_view.js +103 -0
  34. data/app/assets/javascript/pageflow/linkmap_page/editor/views/editable_areas_mode_view.js +10 -0
  35. data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/area_item_embedded_view.js +190 -0
  36. data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/areas_embedded_view.js +26 -0
  37. data/app/assets/javascript/pageflow/linkmap_page/editor/views/embedded/panorama_embedded_view.js +14 -0
  38. data/app/assets/javascript/pageflow/linkmap_page/features.js +9 -0
  39. data/app/assets/javascript/pageflow/linkmap_page/page_type.js +302 -0
  40. data/app/assets/javascript/pageflow/linkmap_page/vendor/gyro.js +3 -0
  41. data/app/assets/javascript/pageflow/linkmap_page/widgets/hover_video.js +77 -0
  42. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap.js +112 -0
  43. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_audio_player_controls.js +132 -0
  44. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_audio_players_controller.js +48 -0
  45. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_lookaround.js +154 -0
  46. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_lookaround_strategies/target_speed.js +99 -0
  47. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_panorama.js +421 -0
  48. data/app/assets/javascript/pageflow/linkmap_page/widgets/linkmap_scroll_indicators.js +17 -0
  49. data/app/assets/stylesheets/pageflow/linkmap_page.css.scss +266 -0
  50. data/app/assets/stylesheets/pageflow/linkmap_page/animations/rotate.css.scss +8 -0
  51. data/app/assets/stylesheets/pageflow/linkmap_page/audio_player_controls.scss +134 -0
  52. data/app/assets/stylesheets/pageflow/linkmap_page/editor.css.scss +122 -0
  53. data/app/assets/stylesheets/pageflow/linkmap_page/editor/areas_list.scss +15 -0
  54. data/app/assets/stylesheets/pageflow/linkmap_page/editor/file_areas.css.scss +70 -0
  55. data/app/assets/stylesheets/pageflow/linkmap_page/editor/resizable.css.scss +80 -0
  56. data/app/assets/stylesheets/pageflow/linkmap_page/themes/default.css.scss +341 -0
  57. data/app/assets/stylesheets/pageflow/linkmap_page/themes/default/scroll_indicators.scss +82 -0
  58. data/app/controllers/pageflow/external_links/sites_controller.rb +40 -0
  59. data/app/helpers/pageflow/linkmap_page/areas_helper.rb +93 -0
  60. data/app/models/pageflow/linkmap_page/site.rb +11 -0
  61. data/app/views/pageflow/linkmap_page/areas/_div.html.erb +33 -0
  62. data/app/views/pageflow/linkmap_page/page.html +51 -0
  63. data/config/locales/de.yml +119 -0
  64. data/config/locales/en.yml +119 -0
  65. data/config/locales/new/inverted.de.yml +10 -0
  66. data/config/locales/new/inverted.en.yml +10 -0
  67. data/config/locales/new/text_only_area_type.de.yml +11 -0
  68. data/config/locales/new/text_only_area_type.en.yml +11 -0
  69. data/config/routes.rb +5 -0
  70. data/config/spring.rb +1 -0
  71. data/exec/rspec +15 -0
  72. data/exec/spring +18 -0
  73. data/lib/pageflow-linkmap-page.rb +13 -0
  74. data/lib/pageflow/linkmap_page/engine.rb +17 -0
  75. data/lib/pageflow/linkmap_page/page_type.rb +19 -0
  76. data/lib/pageflow/linkmap_page/plugin.rb +9 -0
  77. data/lib/pageflow/linkmap_page/version.rb +5 -0
  78. data/pageflow-linkmap-page.gemspec +37 -0
  79. data/spec/helpers/pageflow/linkmap_page/areas_helper_spec.rb +68 -0
  80. data/spec/spec_helper.rb +15 -0
  81. metadata +265 -0
@@ -0,0 +1,82 @@
1
+ .linkmap_page {
2
+ $arrow-margin: 30px;
3
+ $arrow-margin-with-default-navigation: 95px;
4
+ $arrow-margin-mobile: 10px;
5
+
6
+ .arrow_left,
7
+ .arrow_right {
8
+ position: absolute;
9
+ top: 50%;
10
+ margin-top: -40px;
11
+ width: 80px;
12
+ height: 80px;
13
+ text-decoration: none;
14
+ pointer-events: none;
15
+ z-index: 10;
16
+ display: block;
17
+
18
+ &:before {
19
+ color: #fff;
20
+ width: 100%;
21
+ position: absolute;
22
+ height: 100%;
23
+ text-align: center;
24
+ font-size: 80px;
25
+ line-height: 80px;
26
+ opacity: 0;
27
+ text-shadow: 2px 2px 7px black, -1px -1px 7px black;
28
+ @include transition(opacity 0.3s);
29
+ }
30
+
31
+ &:hover {
32
+ &:before {
33
+ opacity: 1;
34
+ }
35
+ }
36
+
37
+ .invert & {
38
+ &:before {
39
+ color: black;
40
+ text-shadow: 2px 2px 7px black, -1px -1px 7px white;
41
+ }
42
+ }
43
+ }
44
+
45
+ .arrow_left {
46
+ @include fa-angle-left-icon;
47
+ left: 10px;
48
+
49
+ @include phone {
50
+ left: $arrow-margin-mobile;
51
+ @include transform(scale(0.5))
52
+ }
53
+ }
54
+
55
+ .arrow_right {
56
+ @include fa-angle-right-icon;
57
+ right: $arrow-margin;
58
+
59
+ @include phone {
60
+ right: $arrow-margin-mobile;
61
+ @include transform(scale(0.5))
62
+ }
63
+
64
+ .widget_default_navigation_present & {
65
+ @include desktop {
66
+ right: $arrow-margin-with-default-navigation;
67
+ }
68
+
69
+ @include pad_portrait {
70
+ right: $arrow-margin-mobile;
71
+ }
72
+ }
73
+ }
74
+
75
+ &.can_scroll_left .arrow_left:before {
76
+ opacity: 1;
77
+ }
78
+
79
+ &.can_scroll_right .arrow_right:before {
80
+ opacity: 1;
81
+ }
82
+ }
@@ -0,0 +1,40 @@
1
+ module Pageflow
2
+ module ExternalLinks
3
+ class SitesController < ActionController::Base
4
+ respond_to :json
5
+
6
+ def index
7
+ @entry = Entry.find(params[:entry_id])
8
+
9
+ respond_with(Site.all_for_revision(@entry.draft))
10
+ end
11
+
12
+ def create
13
+ @entry = Entry.find(params[:entry_id])
14
+ site = Site.all_for_revision(@entry.draft).create!(site_params)
15
+
16
+ respond_with(site)
17
+ end
18
+
19
+ def update
20
+ site = Site.find(params[:id])
21
+ site.update(site_params)
22
+
23
+ respond_with(site)
24
+ end
25
+
26
+ def destroy
27
+ site = Site.find(params[:id])
28
+ site.destroy
29
+
30
+ respond_with(site)
31
+ end
32
+
33
+ protected
34
+
35
+ def site_params
36
+ params.require(:site).permit(:url, :thumbnail, :title, :description, :open_in_new_tab)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,93 @@
1
+ module Pageflow
2
+ module LinkmapPage
3
+ module AreasHelper
4
+ include BackgroundImageHelper
5
+
6
+ def linkmap_areas_div(entry, configuration)
7
+ render('pageflow/linkmap_page/areas/div',
8
+ entry: entry,
9
+ configuration: configuration)
10
+ end
11
+
12
+ def linkmap_area(entry, attributes, index, &block)
13
+ Link.new(self, entry, attributes.symbolize_keys, index).render(&block)
14
+ end
15
+
16
+ class Link < Struct.new(:template, :entry, :attributes, :index)
17
+ delegate :content_tag, to: :template
18
+
19
+ def render(&block)
20
+ content_tag(:a,
21
+ '',
22
+ href: href,
23
+ target: target,
24
+ class: css_classes,
25
+ style: inline_styles,
26
+ data: data_attributes,
27
+ &block)
28
+ end
29
+
30
+ private
31
+
32
+ def href
33
+ if attributes[:target_type] == 'external_site'
34
+ external_site ? external_site.url : '#'
35
+ elsif attributes[:target_type] == 'page'
36
+ "##{attributes[:target_id]}"
37
+ else
38
+ '#'
39
+ end
40
+ end
41
+
42
+ def target
43
+ return '' unless attributes[:target_type] == 'external_site'
44
+ (external_site && external_site.open_in_new_tab?) ? '_blank' : ''
45
+ end
46
+
47
+ def external_site
48
+ @external_site ||=
49
+ ExternalLinks::Site.find_by_revision_id_and_perma_id(entry.try(:revision),
50
+ attributes[:target_id])
51
+ end
52
+
53
+ def data_attributes
54
+ audio_file_id = attributes[:target_id]
55
+
56
+ {
57
+ target_type: attributes[:target_type],
58
+ target_id: attributes[:target_id],
59
+ audio_file: audio_file_id.present? ? "#{audio_file_id}.area_#{index}" : nil,
60
+ page_transition: attributes[:page_transition],
61
+ width: attributes[:width],
62
+ height: attributes[:height]
63
+ }.delete_if { |key, value| value.blank? }
64
+ end
65
+
66
+ def inline_styles
67
+ styles_string(top: in_percent(attributes[:top]),
68
+ left: in_percent(attributes[:left]),
69
+ width: in_percent(attributes[:width]),
70
+ height: in_percent(attributes[:height]))
71
+ end
72
+
73
+ def css_classes
74
+ ['hover_area',
75
+ (external_site && !external_site.open_in_new_tab?) ? 'target_self' : nil,
76
+ attributes[:marker].to_s,
77
+ attributes[:inverted] ? 'inverted' : nil,
78
+ "#{attributes[:target_type]}_area"].compact.join(' ')
79
+ end
80
+
81
+ def styles_string(properties)
82
+ properties.map do |name, value|
83
+ "#{name}: #{value};"
84
+ end.join(' ')
85
+ end
86
+
87
+ def in_percent(value)
88
+ value ? "#{value}%" : ''
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,11 @@
1
+ module Pageflow
2
+ module ExternalLinks
3
+ class Site < ActiveRecord::Base
4
+ include RevisionComponent
5
+
6
+ def thumbnail_file
7
+ ImageFile.find_by_id(thumbnail)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,33 @@
1
+ <%= content_tag(:div, class: "linkmap_areas") do %>
2
+ <% (configuration['linkmap_areas'].presence || []).each_with_index do |attributes, index| %>
3
+ <%= linkmap_area(entry, attributes, index) do %>
4
+ <%= background_image_div_with_size(configuration, 'visited_image', class: 'visited_image', style_group: :panorama) %>
5
+
6
+ <% if configuration['background_type'] == 'hover_video' &&
7
+ !Pageflow::ImageFile.find_by_id(configuration['hover_image_id']) %>
8
+
9
+ <%= background_image_div_with_size(configuration,
10
+ 'panorama_video',
11
+ file_type: 'video_file',
12
+ class: 'hover_image') %>
13
+ <% else %>
14
+ <%= background_image_div_with_size(configuration,
15
+ 'hover_image',
16
+ class: 'hover_image',
17
+ style_group: :panorama) %>
18
+ <% end %>
19
+
20
+ <div class="linkmap_marker <%= attributes['marker'] %>">
21
+ <div class="inline_loading_spinner">
22
+ <div class="circle_inner">
23
+ <div class="circle_innerst"></div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ <div class="linkmap_description">
28
+ <div class="link_title"><%= attributes['link_title'] %></div>
29
+ <div class="link_description"><%= raw(attributes['link_description']) %></div>
30
+ </div>
31
+ <% end %>
32
+ <% end %>
33
+ <% end %>
@@ -0,0 +1,51 @@
1
+ <div class="blackLayer"></div>
2
+ <div class="content_and_background linkmap_page">
3
+ <div class="backgroundArea">
4
+ <%= background_image_div(configuration, 'fixed_background_image', class: 'fixed_background') %>
5
+ <div class="scroller">
6
+ <div class="linkmap">
7
+ <div class="panorama_wrapper">
8
+ <% if configuration['background_type'] == 'video' &&
9
+ !Pageflow::ImageFile.find_by_id(configuration['panorama_image_id']) %>
10
+
11
+ <%= background_image_div_with_size(configuration,
12
+ 'panorama_video',
13
+ file_type: 'video_file',
14
+ class: 'panorama panorama_image') %>
15
+ <% else %>
16
+ <%= background_image_div_with_size(configuration,
17
+ 'panorama_image',
18
+ class: 'panorama panorama_image',
19
+ style_group: :panorama) %>
20
+ <% end %>
21
+
22
+ <div class="panorama panorama_video">
23
+ <%= lookup_video_tag(configuration['panorama_video_id'],
24
+ configuration['poster_image_id'],
25
+ loop: true,
26
+ unique_id: page.id,
27
+ preload: page.is_first) %>
28
+ </div>
29
+
30
+ <div class="hover_video">
31
+ </div>
32
+
33
+ <%= linkmap_areas_div(@entry, configuration) %>
34
+ <div class="description_overlay">
35
+ <div class="description_overlay_wrapper">
36
+ <div class="link_title"></div>
37
+ <div class="link_description"></div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+
44
+ <div class="arrow_left">
45
+ <span class="hint"><%= t('.scroll_left') %></span>
46
+ </div>
47
+ <div class="arrow_right">
48
+ <span class="hint"><%= t('.scroll_right') %></span>
49
+ </div>
50
+ </div>
51
+ </div>
@@ -0,0 +1,119 @@
1
+ de:
2
+ activerecord:
3
+ attributes:
4
+ pageflow/linkmap_page/area:
5
+ link_description: ! 'Linkbeschreibung: Text'
6
+ link_title: ! 'Linkbeschreibung: Titel'
7
+ marker: Linkmarkierung
8
+ name: Bezeichnung
9
+ page_transition: Seitenwechsel-Animation
10
+ target_id: Ziel
11
+ target_type: Bereichstyp
12
+ values:
13
+ pageflow/linkmap_page/area:
14
+ marker:
15
+ dynamic_marker: Flexible Markierung
16
+ no_marker: Keine Markierung
17
+ target_type:
18
+ audio_file: Audio Datei
19
+ external_site: Externer Verweis
20
+ page: Seitenverweis
21
+ pageflow:
22
+ linkmap_page:
23
+ default_page_transition: (Standard)
24
+ editor:
25
+ area_types:
26
+ audio_file: Audio Datei
27
+ external_site: Externer Verweis
28
+ page: Seitenverweis
29
+ templates:
30
+ edit_area:
31
+ back: Zurück
32
+ destroy: Löschen
33
+ embedded:
34
+ area_item:
35
+ edit: Bearbeiten
36
+ toggle_marker: Linkmarkierung aktivieren
37
+ file_area_item:
38
+ edit: Bearbeiten
39
+ remove: Entfernen
40
+ toggle_marker: Linkmarkierung aktivieren
41
+ file_areas:
42
+ add: Hinzufügen
43
+ label: Audios
44
+ views:
45
+ areas_list:
46
+ add: Hinzufügen
47
+ label: Bereiche
48
+ edit_area_view:
49
+ confirm_destroy: Bereich wirklich löschen?
50
+ help_entries:
51
+ page_type:
52
+ menu_item: Hotspots
53
+ text: ! "# Hotspots\n\n*Verweise mit konfigurierbaren Klickbereichen*\n \nHotspots können Audio-Dateien abspielen, interne Verweise auf andere Seiten im Pageflow sein oder auf externe Seiten verlinken. Es können so viele Hotspots angelegt werden wie gewünscht. \n\nDer Panorama Typ entscheidet darüber, ob die Seite ein Hintergrund-Bild oder Hintergrund-Video zeigt. (Beachte, dass Hintergrund-Videos auf mobilen Geräten nicht abgespielt werden, deshalb wähle ein zusätzliches Panorama-Bild für die mobile Version) \n\nDie Hotspot-Seite ermöglicht auch die Nutzung von Panorama-Bildern, die größer sind, als der sichtbare Bildschirmbereich. So können Nutzer diese Seiten auch horizontal oder vertikal durch scrollen erkunden.\n\nUm einen Hotspot zu erstellen, klicke auf „Bereiche“ und wähle zwischen „Audio“, „Seitenverweis“ oder „Externer Verweis“.\n\nDiese „Bereiche\" können auf zwei unterschiedliche Arten dargestellt werden:\n\n## Hotspots als Kreise\n\nEin weißer Kreis, dessen Position und Größe frei gewählt werden kann, markiert den Hotspot. Hierzu klicke beim entsprechenden Hotspot auf den Button mit dem Auge-Symbol und ziehe den Kreis dann an die gewünschte Position. Bei Auswahl einer Audio-Datei erscheint innerhalb des Kreises ein Kopfhörer-Symbol mit einem Inline-Audio-Player. Dessen Größe hängt von der Größe des Kreises ab. Je näher der Mauszeiger Richtung Kreis bewegt wird, desto heller/sichtbarer wird dieser. Mit Klick auf den Kopfhörer wird der Audio-Player gestartet und gestoppt. \n\n## Individuell gestaltete Hotspots\n\nAlternativ kann ein zweites Panorama-Bild verwendet werden, um das Aussehen der Hotspots zu bestimmen, über denen sich der Cursor befindet. Es müssen zwei Panorama-Bilder vorbereitet werden:\n\n1. Ein Bild mit allen Hotspots im inaktiven Modus (z.B. eine Karte, auf der Städte mit schwarzen Punkten markiert sind)\n2. Ein Bild mit allen Hotspots im aktiven Zustand (z.B. die selbe Karte, aber mit roten Punkten als Markierung)\n\nDie rechteckigen Bereiche der Hotspots werden nun so positioniert, dass sie die graphischen Darstellungen der Hotspots im Bild überdecken. Befindet sich der Cursor über einem der Bereiche, wird genau in diesem Ausschnitt der entsprechende Teil des Hover-Bildes gezeigt. Der Hotspot erscheint daher aktiv, während alle anderen Hotspots weiterhin inaktiv dargestellt werden.\n\nAn Stelle von Bildern können auch Videos verwendet werden. Folgende Kombinationen sind möglich:\n\n1. Hintergrund-Bild mit Hover-Bild\n2. Hintergrund-Video mit Hover-Bild\n3. Hintergrund-Bild mit Hover-Video\n\nFalls die vom User bereits besuchten Bereiche anschliessend anders dargestellt werden sollen, kann ein „Visited-Bild“ festgelegt werden, das dann zum Beispiel einen bestimmten Hotspot nach dem Klick in einer abgeschwächten Farbe zeigt.\n\n## Textoptionen\n\nDie Hotspots können mit einem Titel benannt und mit weiteren Text versehen werden. Der Text kann in fett, kursiv und unterstrichen formatiert werden.\n\n## Atmo Optionen\n\nWie bei den anderen Seitentypen auch, kann im Hintergrund ein zusätzliches Audiofile abgespielt werden. Für die Kombination mit Audio-Hotspots ist es neben “Ausblenden” und “Weiterspielen” zudem möglich, die Option “Leiser weiterspielen” auszuwählen. Das kann sinnvoll sein, wenn zum Beispiel ein im Hintergrund laufender Titel von einem kurzen Interview überlagert wird.\n\n## Weitere Optionen\n\nUnter „Optionen\" können folgende Regeln definiert werden:\n\nScrollbereich auf aktive Bereiche beschränken: Hierbei wird verhindert, dass die User sich in Bildbereiche ausserhalb der Hotspots bewegen können.\n\nScrollumgebung erzwingen: Hierbei wird der sichtbare Bereich so verkleinert, dass User sich durch die Seite scrollen müssen, um alle Hotspots zu sehen.\n\nAm Bildrand scrollen deaktivieren: Hierbei wird das sonst automatische Scrollen unterdrückt, sobald User die Maus zum Bildrand bewegen.\n\nTypische Anwendungsbeispiele: Menüseite, Multiple Choice, Entdeckungstour"
54
+ manage_sites: Verweise verwalten
55
+ page:
56
+ scroll_left: Nach links scrollen
57
+ scroll_right: Nach rechts scrollen
58
+ page_attributes:
59
+ add_environment:
60
+ inline_help: Panorama etwas vergrößern, um Scrollen in beide Richtungen zu erlauben.
61
+ label: Scrollumgebung erzwingen
62
+ audio_areas:
63
+ label: Bereiche mit Audio
64
+ background_type:
65
+ label: Panorama-Typ
66
+ values:
67
+ hover_video: Hintergrund-Bild/Hover-Video
68
+ image: Hintergrund-Bild/Hover-Bild
69
+ video: Hintergrund-Video/Hover-Bild
70
+ hover_image_id:
71
+ inline_help: Ein Ausschnitt dieses Bildes wird im Bereich eines Hotspots angezeigt, wenn sich der Cursor über dem Hotspot befindet.
72
+ label: Hover-Bild
73
+ hover_video_type:
74
+ hover_image_id:
75
+ inline_help: Bild, das auf mobilen Plattformen anstelle des Hover-Videos gezeigt werden soll.
76
+ label: Hover-Bild (mobil)
77
+ panorama_video_id:
78
+ inline_help: Ein Ausschnitt dieses Videos wird im Bereich eines Hotspots angezeigt, wenn sich der Cursor über dem Hotspot befindet.
79
+ label: Hover-Video
80
+ limit_scrolling:
81
+ inline_help: Scrollen nur erlauben, falls Hotspot Bereiche außerhalb des sichtbaren Bereichs liegen.
82
+ label: Scrollbereich auf aktive Bereiche beschränken
83
+ linked_linkmap_page_perma_ids:
84
+ label: Verlinkte Seiten
85
+ linkmap_areas:
86
+ label: Verweisbereiche
87
+ margin_scrolling_disabled:
88
+ inline_help: Panorama nicht automatisch scrollen, wenn der Cursor bewegt wird.
89
+ label: Am Bildrand scrollen deaktivieren
90
+ panorama_image_id:
91
+ inline_help: Bild auf dem Hotspots gesetzt werden sollen.
92
+ label: Panorama-Bild
93
+ panorama_video_id:
94
+ inline_help: Video auf dem Hotspots gesetzt werden sollen.
95
+ label: Panorama-Video
96
+ video_type:
97
+ panorama_image_id:
98
+ inline_help: Bild, das auf mobilen Plattformen anstelle des Panorama-Videos gezeigt werden soll.
99
+ label: Panorama-Bild (mobil)
100
+ visited_image_id:
101
+ inline_help: Ein Ausschnitt dieses Bildes wird in den Bereichen der Hotspots angezeigt, deren Zielseite bereits besucht wurde.
102
+ label: Visited-Bild
103
+ page_type_category_name: Verweise
104
+ page_type_description: Verweise mit konfigurierbaren Klickbereichen
105
+ page_type_feature_name: Hotspot-Seitentyp
106
+ page_type_name: Hotspots
107
+ ui:
108
+ configuration_editor:
109
+ tabs:
110
+ appearance: Erscheinungsbild
111
+ areas: Bereiche
112
+ inline_help:
113
+ pageflow/linkmap_page/area:
114
+ link_title: Die Beschreibung wird in einem Overlay angezeigt, wenn sich der Cursor über dem Hotspot befindet.
115
+ marker: Wähle die visuelle Darstellung des Hotspots.
116
+ 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.
117
+ page_transition: Wähle hier den Effekt, der beim Übergang zur Zielseite des Verweises benutzt werden soll.
118
+ target_id: Objekt auf das der Hotspot verlinkt.
119
+ target_type: Wähle den Typ von Objekt auf den Hotspot verlinken soll.
@@ -0,0 +1,119 @@
1
+ en:
2
+ activerecord:
3
+ attributes:
4
+ pageflow/linkmap_page/area:
5
+ link_description: Link decription text
6
+ link_title: Link description title
7
+ marker: Link display
8
+ name: Label
9
+ page_transition: Page transition
10
+ target_id: Target
11
+ target_type: Area type
12
+ values:
13
+ pageflow/linkmap_page/area:
14
+ marker:
15
+ dynamic_marker: Circle
16
+ no_marker: None
17
+ target_type:
18
+ audio_file: Audio file
19
+ external_site: External link
20
+ page: Page link
21
+ pageflow:
22
+ linkmap_page:
23
+ default_page_transition: (Default)
24
+ editor:
25
+ area_types:
26
+ audio_file: Audio file
27
+ external_site: External link
28
+ page: Page link
29
+ templates:
30
+ edit_area:
31
+ back: Back
32
+ destroy: Delete
33
+ embedded:
34
+ area_item:
35
+ edit: Edit
36
+ toggle_marker: Toggle display
37
+ file_area_item:
38
+ edit: Edit
39
+ remove: Remove
40
+ toggle_marker: Toggle marker
41
+ file_areas:
42
+ add: Add
43
+ label: Label
44
+ views:
45
+ areas_list:
46
+ add: Add
47
+ label: Areas
48
+ edit_area_view:
49
+ confirm_destroy: Really delete this area?
50
+ help_entries:
51
+ page_type:
52
+ menu_item: Hotspots
53
+ text: ! "# Hotspots\n\nLinks with configurable click areas.\n\nHotspots can play audio files, link to other pages in a Pageflow or to external websites. You can define as many hotspots as you want.\n\nDecide if you want to show a background image or a background video. (Keep in mind, that background videos will not be played on mobile devices, therefore use an additional fallback image for the mobile version)\n\nThe 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.\n\nTo add a Hotspot just click on „Areas“ and choose between „Audio“, „Internal link“, or „External link“. \n\nThere are two ways to display hotspot areas:\n\n## Hotspots as circles\n\nDisplay a white circle whose position and size can be defined by dragging. Click on the eye-symbol button of the corresponding hotspot and move this circle onto the desired position. If you use an audio file, a headphone-symbol will appear within the circle. The size of the symbol depends on the circle´s size. The circle becomes more visible when the cursor moves closer to it.\n\n## Individually designed hotspots\n\nAlternatively, an additional panorama image can be used to determine the look of hotspots when the cursor hovers above them. Two images have to be prepared:\n\n1. An image with all hotspots in an inactive state (e.g. a map with cities represented by black dots)\n2. An image with all hotspots in an active state (e.g. the same map with red dots representing cities)\n\nNow the rectangular hotspot areas are positioned to cover the graphic representations of the hotspots. When the cursor hovers above one of the hotspots, the corresponding part of the hover-image will be displayed inside the hotspot's area. That way the hotspot is displayed in its active state while all others remain inactive.\n\nIt is also possible to use videos instead of images. The following combinations are possible:\n\n1. Background image with hover image\n2. Background video with hover image\n3. Background image with hover video\n\nIf you wish to mark hotspots as \"already visited\" you can also upload a „Visited-Image“ which then shows a certain spot in a different color after visiting the linked page.\n\n## Text options\n\nBoth of these hotspot types can be entitled and have additional text/description.\nThe description editor contains basic formatting options like bold, italic & underline.\n\n## Atmo options\n\nEvery Hotspot page, can play an additional backround sound that can optionally stop or continue playing (at the same or a lower volume) while an audio-Hotspot is playing.\n\n## Further options\n\nRestrict scrolling to hotspot areas: Only scroll between hotspots.\n\nForce scrolling: Ensure there is a margin which ensures the panorama can be scrolled both vertically and horizontally.\n\nDeactivate scrolling at image border: Do not scroll in panorama view when user moves the cursor.\n\nExamples of application: Menu site, multiple choice, exploration tour"
54
+ manage_sites: Manage links
55
+ page:
56
+ scroll_left: Scroll left
57
+ scroll_right: Scroll right
58
+ page_attributes:
59
+ add_environment:
60
+ inline_help: Zoom panorama to allow scrolling in both directions.
61
+ label: Ensure scroll margin
62
+ audio_areas:
63
+ label: Audio areas
64
+ background_type:
65
+ label: Panorama type
66
+ values:
67
+ hover_video: Backgrund image/hover video
68
+ image: Background image/hover image
69
+ video: Background video/hover image
70
+ hover_image_id:
71
+ inline_help: A part of this image is displayed inside the area of a hotspot when the cursor hovers it.
72
+ label: Hover image
73
+ hover_video_type:
74
+ hover_image_id:
75
+ inline_help: Image to display instead of hover video on mobile platforms
76
+ label: Hover image (mobile)
77
+ panorama_video_id:
78
+ inline_help: A part of this video will be displayed in the area of a hotspot when the cursor hovers it.
79
+ label: Hover video
80
+ limit_scrolling:
81
+ inline_help: Enable scrolling only if there hotspot areas outside the view port.
82
+ label: Restict to hotspot areas
83
+ linked_linkmap_page_perma_ids:
84
+ label: Page links
85
+ linkmap_areas:
86
+ label: Link areas
87
+ margin_scrolling_disabled:
88
+ inline_help: Do not scroll panorama when the cursor moves.
89
+ label: Disable autoscroll in page margin
90
+ panorama_image_id:
91
+ inline_help: Image to place hotspots on
92
+ label: Panorama image
93
+ panorama_video_id:
94
+ inline_help: Video to place hotspots on
95
+ label: Panorama video
96
+ video_type:
97
+ panorama_image_id:
98
+ inline_help: Image displayed instead of panorama video on mobile platforms.
99
+ label: Panorama image (mobile)
100
+ visited_image_id:
101
+ inline_help: A part of this image is displayed inside the areas of hotspots whose target pages have already been visited.
102
+ label: Visited image
103
+ page_type_category_name: Links
104
+ page_type_description: Links with configurable click areas
105
+ page_type_feature_name: Hotspot page type
106
+ page_type_name: Hotspots
107
+ ui:
108
+ configuration_editor:
109
+ tabs:
110
+ appearance: Appearance
111
+ areas: Areas
112
+ inline_help:
113
+ pageflow/linkmap_page/area:
114
+ link_title: The description is displayed inside an overlay when the cursor hovers the hotspot.
115
+ marker: ! 'Choose the hotspot''s visual appearance. '
116
+ 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.
117
+ page_transition: Choose the animation, that will be used to transition to the link's target page.
118
+ target_id: Object the hotspot links to.
119
+ target_type: Choose the type of object the hotspot is supposed to link to.