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.

Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +74 -0
  3. data/README.md +1 -0
  4. data/app/assets/audios/pageflow/unmute.mp3 +0 -0
  5. data/app/assets/images/pageflow/editor/help/phone_horizontal_slideshow_mode.gif +0 -0
  6. data/app/assets/javascripts/pageflow/asset_urls.js.erb +1 -1
  7. data/app/assets/javascripts/pageflow/audio/multi_player.js +4 -0
  8. data/app/assets/javascripts/pageflow/audio_player.js +1 -1
  9. data/app/assets/javascripts/pageflow/background_media.js +22 -0
  10. data/app/assets/javascripts/pageflow/base.js +1 -0
  11. data/app/assets/javascripts/pageflow/browser/agent.js +92 -78
  12. data/app/assets/javascripts/pageflow/browser/autoplay_support.js +2 -2
  13. data/app/assets/javascripts/pageflow/dist/react.js +711 -252
  14. data/app/assets/javascripts/pageflow/editor/api/page_type.js +4 -0
  15. data/app/assets/javascripts/pageflow/editor/base.js +1 -0
  16. data/app/assets/javascripts/pageflow/editor/collections/files_collection.js +8 -0
  17. data/app/assets/javascripts/pageflow/editor/initializers/boot.js +6 -4
  18. data/app/assets/javascripts/pageflow/editor/initializers/setup_asset_urls.js +3 -0
  19. data/app/assets/javascripts/pageflow/editor/models/entry.js +2 -2
  20. data/app/assets/javascripts/pageflow/editor/models/file_stage.js +6 -1
  21. data/app/assets/javascripts/pageflow/editor/models/mixins/stage_provider.js +9 -0
  22. data/app/assets/javascripts/pageflow/editor/models/mixins/transient_references.js +12 -2
  23. data/app/assets/javascripts/pageflow/editor/models/preview_entry_data.js +5 -0
  24. data/app/assets/javascripts/pageflow/editor/models/uploaded_file.js +6 -1
  25. data/app/assets/javascripts/pageflow/editor/templates/emulation_mode_button.jst.ejs +26 -0
  26. data/app/assets/javascripts/pageflow/editor/templates/entry_preview.jst.ejs +8 -3
  27. data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/options.js +1 -1
  28. data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/page_link.js +3 -6
  29. data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/page_transitions.js +14 -4
  30. data/app/assets/javascripts/pageflow/editor/views/edit_storyline_view.js +3 -6
  31. data/app/assets/javascripts/pageflow/editor/views/embedded/background_image_embedded_view.js +47 -12
  32. data/app/assets/javascripts/pageflow/editor/views/emulation_mode_button_view.js +45 -0
  33. data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +62 -8
  34. data/app/assets/javascripts/pageflow/editor/views/file_stage_item_view.js +7 -0
  35. data/app/assets/javascripts/pageflow/editor/views/help_image_view.js +9 -0
  36. data/app/assets/javascripts/pageflow/editor/views/info_box_view.js +1 -1
  37. data/app/assets/javascripts/pageflow/editor/views/inputs/file_processing_state_display_view.js +60 -0
  38. data/app/assets/javascripts/pageflow/editor/views/sidebar_footer_view.js +12 -0
  39. data/app/assets/javascripts/pageflow/editor/views/widget_types/phone_horizontal_slideshow_mode.js +14 -0
  40. data/app/assets/javascripts/pageflow/entry_data.js +4 -0
  41. data/app/assets/javascripts/pageflow/media_player.js +7 -3
  42. data/app/assets/javascripts/pageflow/media_player/handle_failed_play.js +34 -0
  43. data/app/assets/javascripts/pageflow/media_player/volume_fading/web_audio.js +29 -3
  44. data/app/assets/javascripts/pageflow/page_transitions.js +59 -15
  45. data/app/assets/javascripts/pageflow/page_type.js +5 -1
  46. data/app/assets/javascripts/pageflow/seed_entry_data.js +13 -0
  47. data/app/assets/javascripts/pageflow/slideshow.js +31 -11
  48. data/app/assets/javascripts/pageflow/slideshow/atmo.js +23 -12
  49. data/app/assets/javascripts/pageflow/slideshow/lazy_page_widget.js +9 -3
  50. data/app/assets/javascripts/pageflow/slideshow/navigation_direction.js +37 -0
  51. data/app/assets/javascripts/pageflow/slideshow/page_widget.js +12 -6
  52. data/app/assets/javascripts/pageflow/slideshow/scroll_indicator_widget.js +13 -16
  53. data/app/assets/javascripts/pageflow/slideshow/scroller_widget.js +49 -14
  54. data/app/assets/javascripts/pageflow/ui/views/mixins/input_view.js +10 -3
  55. data/app/assets/javascripts/pageflow/video_player/lazy.js +1 -1
  56. data/app/assets/stylesheets/pageflow/animations/bounce.scss +13 -1
  57. data/app/assets/stylesheets/pageflow/editor/base.scss +5 -0
  58. data/app/assets/stylesheets/pageflow/editor/emulation_mode_button.scss +78 -0
  59. data/app/assets/stylesheets/pageflow/editor/entry_preview.scss +41 -0
  60. data/app/assets/stylesheets/pageflow/editor/file_stages.scss +11 -3
  61. data/app/assets/stylesheets/pageflow/editor/help.scss +4 -14
  62. data/app/assets/stylesheets/pageflow/editor/help_image.scss +5 -0
  63. data/app/assets/stylesheets/pageflow/editor/info_box.scss +5 -0
  64. data/app/assets/stylesheets/pageflow/editor/inputs.scss +1 -0
  65. data/app/assets/stylesheets/pageflow/editor/inputs/file_processing_state_display.scss +18 -0
  66. data/app/assets/stylesheets/pageflow/editor/sidebar_footer.scss +12 -0
  67. data/app/assets/stylesheets/pageflow/entries.scss +29 -6
  68. data/app/assets/stylesheets/pageflow/mixins/breakpoints.scss +5 -3
  69. data/app/assets/stylesheets/pageflow/mixins/icons/fontawesome.scss +1 -1
  70. data/app/assets/stylesheets/pageflow/navigation_mobile.scss +5 -1
  71. data/app/assets/stylesheets/pageflow/page_transitions.scss +0 -6
  72. data/app/assets/stylesheets/pageflow/page_transitions/crossfade.scss +5 -1
  73. data/app/assets/stylesheets/pageflow/page_transitions/fade.scss +44 -36
  74. data/app/assets/stylesheets/pageflow/page_transitions/scroll.scss +96 -11
  75. data/app/assets/stylesheets/pageflow/slideshow.scss +0 -4
  76. data/app/assets/stylesheets/pageflow/themes/default/background_media_unmute_button.scss +68 -0
  77. data/app/assets/stylesheets/pageflow/themes/default/base.scss +1 -0
  78. data/app/assets/stylesheets/pageflow/themes/default/indicators/icons/icon_font.scss +7 -0
  79. data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -0
  80. data/app/controllers/pageflow/editor/files_controller.rb +9 -1
  81. data/app/helpers/pageflow/asset_urls_helper.rb +9 -0
  82. data/app/helpers/pageflow/background_image_helper.rb +6 -10
  83. data/app/helpers/pageflow/file_background_images_helper.rb +78 -0
  84. data/app/helpers/pageflow/pages_helper.rb +2 -2
  85. data/app/helpers/pageflow/render_json_helper.rb +3 -2
  86. data/app/models/concerns/pageflow/hosted_file.rb +2 -9
  87. data/app/models/concerns/pageflow/uploaded_file.rb +9 -0
  88. data/app/models/pageflow/draft_entry.rb +2 -2
  89. data/app/models/pageflow/image_file.rb +5 -20
  90. data/app/models/pageflow/image_file_css_background_image_urls.rb +17 -0
  91. data/app/models/pageflow/video_file_css_background_image_urls.rb +13 -0
  92. data/app/views/pageflow/editor/asset_urls/_asset_urls.json.jbuilder +4 -0
  93. data/app/views/pageflow/editor/entries/seed.json.erb +3 -1
  94. data/app/views/pageflow/editor/image_files/_image_file.json.jbuilder +1 -1
  95. data/app/views/pageflow/entries/_indicators.html.erb +8 -3
  96. data/app/views/pageflow/entries/edit.html.erb +1 -1
  97. data/app/views/pageflow/entries/show.css.erb +6 -20
  98. data/app/views/pageflow/file_background_images/_rule.css.erb +3 -0
  99. data/config/initializers/features.rb +1 -0
  100. data/config/locales/de.yml +20 -8
  101. data/config/locales/en.yml +23 -11
  102. data/config/routes.rb +1 -0
  103. data/lib/pageflow/built_in_file_type.rb +4 -0
  104. data/lib/pageflow/built_in_widget_type.rb +12 -0
  105. data/lib/pageflow/built_in_widget_types_plugin.rb +5 -0
  106. data/lib/pageflow/file_type.rb +39 -0
  107. data/lib/pageflow/file_types.rb +6 -0
  108. data/lib/pageflow/version.rb +1 -1
  109. data/spec/factories/hosted_files.rb +12 -8
  110. data/vendor/assets/javascripts/audio5.min.js +280 -129
  111. data/vendor/assets/javascripts/iscroll.js +16 -11
  112. metadata +47 -16
  113. data/app/assets/javascripts/pageflow/media_player/catch_play_promise.js +0 -23
  114. data/app/assets/stylesheets/pageflow/page_transitions/scroll_in.scss +0 -66
  115. data/app/assets/stylesheets/pageflow/page_transitions/scroll_in_right.scss +0 -68
  116. data/app/assets/stylesheets/pageflow/page_transitions/scroll_left.scss +0 -20
  117. data/app/assets/stylesheets/pageflow/page_transitions/scroll_over_from_left.scss +0 -12
  118. data/app/assets/stylesheets/pageflow/page_transitions/scroll_over_from_right.scss +0 -12
  119. data/app/assets/stylesheets/pageflow/page_transitions/scroll_right.scss +0 -20
  120. data/lib/pageflow/images/palette.png +0 -0
@@ -46,5 +46,14 @@ module Pageflow
46
46
  def file_type
47
47
  Pageflow.config.file_types.find_by_model!(self.class)
48
48
  end
49
+
50
+ def cache_key
51
+ # Ensure the cache key changes when the state changes. There are
52
+ # cases during processing where the state is updated multiple
53
+ # times in a single second. Since `cache_key` relies on
54
+ # `updated_at`, which only is acurate to the second, we need to
55
+ # prevent caching outdated information.
56
+ "#{super}-#{state}"
57
+ end
49
58
  end
50
59
  end
@@ -35,8 +35,8 @@ module Pageflow
35
35
  entry.title
36
36
  end
37
37
 
38
- def create_file(model, attributes)
39
- file = model.create(attributes.except(:configuration)) do |f|
38
+ def create_file!(model, attributes)
39
+ file = model.create!(attributes.except(:configuration)) do |f|
40
40
  f.entry = entry
41
41
  end
42
42
 
@@ -13,26 +13,16 @@ module Pageflow
13
13
  large: ['1920x1920>', :JPG],
14
14
  ultra: ['3840x3840>', :JPG],
15
15
  panorama_medium: ['1024x1024^', panorama_format],
16
- panorama_large: ['1920x1080^', panorama_format],
17
- panorama_mask: ['1920x1080^', panorama_format])
16
+ panorama_large: ['1920x1080^', panorama_format])
18
17
  end
19
18
 
20
- SOURCE_FILE_OPTIONS = {
21
- # Prevent anti aliasing. Otherwise, when processing color map
22
- # images, borders between areas are blurred.
23
- panorama_mask: '-filter point'
24
- }.freeze
25
-
26
- palette_path = File.expand_path('../../../../lib/pageflow/images/palette.png', __FILE__)
27
-
28
19
  CONVERT_OPTIONS = {
29
20
  print: '-quality 10 -interlace Plane',
30
21
  medium: '-quality 70 -interlace Plane',
31
22
  large: '-quality 70 -interlace Plane',
32
23
  ultra: '-quality 90 -interlace Plane',
33
- panorama_medium: '-quality 70 -interlace Plane',
34
- panorama_large: '-quality 70 -interlace Plane',
35
- panorama_mask: "-quality 70 -interlace Plane -dither None -colors 64 -remap #{palette_path}"
24
+ panorama_medium: '-quality 90 -interlace Plane',
25
+ panorama_large: '-quality 90 -interlace Plane'
36
26
  }.freeze
37
27
 
38
28
  has_attached_file(:unprocessed_attachment,
@@ -42,9 +32,10 @@ module Pageflow
42
32
  Pageflow.config.paperclip_s3_default_options
43
33
  .merge(default_url: ':pageflow_placeholder',
44
34
  styles: STYLES,
45
- source_file_options: SOURCE_FILE_OPTIONS,
46
35
  convert_options: CONVERT_OPTIONS))
47
36
 
37
+ validates :attachment, presence: true
38
+
48
39
  do_not_validate_attachment_file_type(:unprocessed_attachment)
49
40
  do_not_validate_attachment_file_type(:processed_attachment)
50
41
 
@@ -84,12 +75,6 @@ module Pageflow
84
75
  end
85
76
  end
86
77
 
87
- def panorama_mask_url
88
- if processed_attachment.present?
89
- attachment.url(:panorama_mask)
90
- end
91
- end
92
-
93
78
  private
94
79
 
95
80
  def save_image_dimensions
@@ -0,0 +1,17 @@
1
+ module Pageflow
2
+ # @api private
3
+ class ImageFileCssBackgroundImageUrls
4
+ def call(image_file)
5
+ {
6
+ default: {
7
+ desktop: image_file.attachment.url(:large),
8
+ mobile: image_file.attachment.url(:medium)
9
+ },
10
+ panorama: {
11
+ desktop: image_file.attachment.url(:panorama_large),
12
+ mobile: image_file.attachment.url(:panorama_medium)
13
+ }
14
+ }
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ module Pageflow
2
+ # @api private
3
+ class VideoFileCssBackgroundImageUrls
4
+ def call(video_file)
5
+ {
6
+ default: {
7
+ desktop: video_file.poster.url(:large),
8
+ mobile: video_file.poster.url(:medium)
9
+ }
10
+ }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,4 @@
1
+ json.help do
2
+ json.phone_horizontal_slideshow_mode \
3
+ image_path('pageflow/editor/help/phone_horizontal_slideshow_mode.gif')
4
+ end
@@ -16,5 +16,7 @@
16
16
  "page_types": <%= page_type_json_seeds(@entry_config) %>,
17
17
  "themes": <%= theme_json_seeds(@entry_config) %>,
18
18
 
19
- "common": <%= common_entry_seed(@entry).to_json.html_safe %>
19
+ "common": <%= common_entry_seed(@entry).to_json.html_safe %>,
20
+
21
+ "asset_urls": <%= editor_asset_urls %>
20
22
  }
@@ -1,3 +1,3 @@
1
- json.(image_file, :width, :height, :panorama_url, :panorama_mask_url)
1
+ json.(image_file, :width, :height, :panorama_url)
2
2
 
3
3
  json.dimensions(file_dimensions(image_file))
@@ -1,11 +1,16 @@
1
1
  <% if theme.has_scroll_back_indicator? %>
2
- <div class="scroll_back_indicator scroll_indicator indicator" data-direction="up">
2
+ <div class="scroll_back_indicator scroll_indicator indicator" data-direction="back">
3
3
  <%= t('pageflow.public.scroll_back_indicator') %>
4
4
  </div>
5
5
  <% end %>
6
6
 
7
- <div class="scroll_next_indicator scroll_indicator indicator" data-direction="down">
8
- <%= t('pageflow.public.scroll_indicator') %>
7
+ <div class="scroll_next_indicator scroll_indicator indicator" data-direction="next">
8
+ <span class="scroll_indicator-scroll">
9
+ <%= t('pageflow.public.scroll_indicator') %>
10
+ </span>
11
+ <span class="scroll_indicator-swipe">
12
+ <%= t('pageflow.public.swipe_to_continue') %>
13
+ </span>
9
14
  </div>
10
15
 
11
16
  <div class="hidden_text_indicator indicator">
@@ -19,7 +19,7 @@
19
19
  <div class="notifications_container"></div>
20
20
  <div class="container"></div>
21
21
  </div>
22
- <div class="help_button_container"></div>
22
+ <div class="sidebar_footer_container"></div>
23
23
  </sidebar>
24
24
 
25
25
  <div class="dialog_container">
@@ -1,24 +1,10 @@
1
1
  <%= cache @entry do %>
2
-
3
- <% page_media_breakpoints.each do |style, condition| %>
4
- <%= media_query(condition) do %>
5
- <% @entry.image_files.each do |image_file| %>
6
- <%= background_image_lazy_loading_css_class('image', image_file) %> {
7
- background-image: url('<%= image_file.attachment.url(style) %>');
8
- }
9
- <%= background_image_lazy_loading_css_class('image_panorama', image_file) %> {
10
- background-image: url('<%= image_file.attachment.url("panorama_#{style}") %>');
11
- }
12
- <% end %>
13
-
14
- <% @entry.video_files.each do |video_file| %>
15
- <%= background_image_lazy_loading_css_class('video_poster', video_file) %> {
16
- background-image: url('<%= video_file.poster.url(style) %>');
17
- }
18
- <% end %>
19
- <% end %>
2
+ <% page_media_breakpoints.each do |breakpoint_name, condition| %>
3
+ <%= media_query(condition) do %>
4
+ <%= file_background_images_css(@entry, breakpoint_name) %>
20
5
  <% end %>
6
+ <% end %>
21
7
 
22
- <%= file_thumbnails_css(@entry) %>
23
- <%= render 'pageflow/entries/theming' %>
8
+ <%= file_thumbnails_css(@entry) %>
9
+ <%= render 'pageflow/entries/theming' %>
24
10
  <% end %>
@@ -0,0 +1,3 @@
1
+ <%= background_image_lazy_loading_css_class(rule[:prefix], rule[:file]) %> {
2
+ background-image: url('<%= rule[:url] %>');
3
+ }
@@ -6,4 +6,5 @@ Pageflow.configure do |config|
6
6
  feature_config.help_entries.register('pageflow.help_entries.storylines', priority: 7)
7
7
  end
8
8
  config.features.register('selectable_themes')
9
+ config.features.register('editor_emulation_mode')
9
10
  end
@@ -757,7 +757,6 @@ de:
757
757
  no_entries: Keine Beiträge
758
758
  no_members: Keine Benutzer
759
759
  theming_defaults_inline_help: Die folgenden Einstellungen werden als Standard für neue Beiträge des Kontos verwendet. Änderungen wirken sich nicht auf existierende Beiträge aus.
760
- widgets_inline_help: DELETED
761
760
  entries:
762
761
  add_folder: Ordner hinzufügen
763
762
  confirm_depublish: Soll der Beitrag wirklich depubliziert werden?
@@ -1116,6 +1115,9 @@ de:
1116
1115
  column_header: Sprache
1117
1116
  inline_help_html: "<ul><li>Die Sprache einer Textspur wird als Zwei-Buchstaben-Code nach ISO 639.1 angegeben.</li> <li><strong>Beispiele:</strong> 'de' für Deutsch oder 'en' für Englisch.</li> <li>Den Sprachcode findet man meist auf der Wikipedia-Seite zur jeweiligen Sprache.</li></ul>"
1118
1117
  label: Sprache
1118
+ phone_horizontal_slideshow_mode:
1119
+ page_transitions_inline_help: "<br /><br />Unter 'Titel und Optionen > Erscheinungsbild' sind horizontale Steuerungsgesten für Smartphones aktiviert. Vertikale Seitenübergänge (z.B. von unten nach oben) ändern sich im Phone-Layout automatisch in horizontale Übergangseffekte (z.B. von rechts nach links) und umgekehrt."
1120
+ widget_type_info_box_text: "<p>Auf Smartphones mit horizontalen Wisch-Gesten zwischen Seiten wechseln.</p><p>Vertikale Seitenübergänge (z.B. von unten nach oben) ändern sich in horizontale Übergangseffekte (z.B. von rechts nach links) und umgekehrt.</p><p>Im Desktop-Layout und auf Tablets hat die Einstellung keine Auswirkung.</p>"
1119
1121
  quotas:
1120
1122
  loading: Quotas überprüfen...
1121
1123
  templates:
@@ -1190,6 +1192,13 @@ de:
1190
1192
  embedded:
1191
1193
  page_link:
1192
1194
  reset: Zurücksetzen
1195
+ emulation_mode_button:
1196
+ desktop: Desktop
1197
+ disabled_hint: Von diesem Seitentyp nicht unterstützt
1198
+ header: 'Vorschau Modus:'
1199
+ phone: Phone
1200
+ entry_preview:
1201
+ navigation_disabled_hint: Seitenwechsel sind innerhalb der Phone Vorschau nicht möglich.
1193
1202
  file_item:
1194
1203
  cancel: Abbrechen
1195
1204
  confirm: Überprüfen und bestätigen
@@ -1221,10 +1230,6 @@ de:
1221
1230
  title: Hilfe
1222
1231
  help_button:
1223
1232
  open_help: Hilfe anzeigen
1224
- inputs:
1225
- reference:
1226
- edit: DELETED
1227
- reset: DELETED
1228
1233
  list_blank_slate:
1229
1234
  text: "(Keine Einträge)"
1230
1235
  list_item:
@@ -1310,14 +1315,11 @@ de:
1310
1315
  Dieser Schritt kann nicht rückgängig gemacht werden.
1311
1316
  edit_entry_view:
1312
1317
  cannot_publish: Sie sind nicht berechtigt diesen Beitrag zu veröffentlichen.
1313
- edit_page_link_view:
1314
- default_page_transition: "(Standard)"
1315
1318
  edit_page_view:
1316
1319
  confirm_destroy: Seite wirklich löschen?
1317
1320
  edit_storyline_view:
1318
1321
  cannot_destroy: Nur leere Erzählstränge können gelöscht werden.
1319
1322
  confirm_destroy: Erzählstrang wirklich löschen?
1320
- default_parent_page_transition: "(Standard)"
1321
1323
  editor_views:
1322
1324
  files_pending_warning: Es werden noch Dateien hochgeladen. Wenn Sie die Seite verlassen werden die Uploads abgebrochen.
1323
1325
  hide_editor: Editorleiste ausblenden
@@ -1354,6 +1356,8 @@ de:
1354
1356
  storylines_picker_view:
1355
1357
  label: Erzählstrang
1356
1358
  without_parent_page: Ohne übergeordnete Seite
1359
+ editor_emulation_mode:
1360
+ feature_name: Editor Phone Emulationsmodus
1357
1361
  entry:
1358
1362
  duplicated_title: Kopie von %{title}
1359
1363
  help_entries:
@@ -1686,6 +1690,7 @@ de:
1686
1690
  page_transitions:
1687
1691
  crossfade: Überblenden
1688
1692
  cut: Harter Schnitt
1693
+ default: "(Standard)"
1689
1694
  fade: Hintergrund Blenden/Vordergrund Scrollen
1690
1695
  fade_to_black: Schwarzblende
1691
1696
  scroll: Scrollen
@@ -1731,6 +1736,7 @@ de:
1731
1736
  general: Allgemein
1732
1737
  links: Verweise
1733
1738
  options: Optionen
1739
+ phone_horizontal_slideshow_mode: Horizontales Wischen auf Phones
1734
1740
  social: Social
1735
1741
  widgets: Erscheinungsbild
1736
1742
  inline_help:
@@ -1812,6 +1818,8 @@ de:
1812
1818
  url_hint: URL muss mit http:// beginnen.
1813
1819
  url_hint_https: URL muss mit http:// oder https:// beginnen.
1814
1820
  unauthorized: Sie sind nicht berechtigt diese Seite anzuzeigen.
1821
+ unmute_button:
1822
+ widget_type_name: "'Ton ein'-Button"
1815
1823
  user_mailer:
1816
1824
  invitation:
1817
1825
  ending: Dankeschön und viel Spaß,
@@ -1834,14 +1842,18 @@ de:
1834
1842
  none: "(Kein)"
1835
1843
  roles:
1836
1844
  analytics: Zählpixel
1845
+ background_media_control: Hintergrund-Media-Control
1837
1846
  cookie_notice: Cookie Hinweis
1838
1847
  mobile_navigation: Mobile Navigation
1839
1848
  navigation: Navigationsleiste
1840
1849
  player_controls: Player Controls
1850
+ slideshow_mode: Steuerungsgesten
1841
1851
  type_names:
1842
1852
  classic_player_controls: Klassisch
1843
1853
  default_mobile_navigation: Navigationsmenü mit Thumbnails
1844
1854
  default_navigation: Navigationsleiste mit Thumbnails
1855
+ default_slideshow_mode: Vertikales Scrollen/Wischen
1856
+ phone_horizontal_slideshow_mode: Horizontales Wischen auf Phones
1845
1857
  slim_player_controls: Minimalistisch
1846
1858
  support:
1847
1859
  array:
@@ -757,13 +757,12 @@ en:
757
757
  no_entries: No Stories
758
758
  no_members: No members
759
759
  theming_defaults_inline_help: The following settings will be used as defaults for new entries in this account. Changes do not affect existing entries.
760
- widgets_inline_help: DELETED
761
760
  entries:
762
761
  add_folder: Add folder
763
- confirm_depublish: Unpublish this story?
762
+ confirm_depublish: Depublish this story?
764
763
  confirm_duplicate: Duplicate this story?
765
764
  confirm_restore: Restore story to the selected version? A snapshot will be created, so that you can roll back later.
766
- depublish: Unpublish story
765
+ depublish: Depublish story
767
766
  duplicate: Copy Story
768
767
  edit: Edit
769
768
  edit_config: Edit configuration
@@ -1116,6 +1115,9 @@ en:
1116
1115
  column_header: Language
1117
1116
  inline_help_html: "<ul><li>The language used in a text track is specified as a two letter code according to ISO 639.1.</li> <li><strong>Examples:</strong> 'en' for English or 'fr' for French.</li> <li>Language codes are often given on the Wikipedia page of a language.</li></ul>"
1118
1117
  label: Language
1118
+ phone_horizontal_slideshow_mode:
1119
+ page_transitions_inline_help: "<br /><br />Horizontal control gestures on phone have been enabled under 'Title and options > Appearance'. On phones, vertical page transitions (i.e. from bottom to top) are automatically turned into horizontal transitions (i.e. from right to left) and vice versa."
1120
+ widget_type_info_box_text: "<p>Change current page using horizontal swipe gestures on phones.</p><p>Vertical page transitions (i.e. from bottom to top) are automatically turned into horizontal transitions (i.e. from right to left) and vice versa.</p><p>In desktop layout and on tablets the setting does not take any effect.</p>"
1119
1121
  quotas:
1120
1122
  loading: Checking quotas...
1121
1123
  templates:
@@ -1190,6 +1192,13 @@ en:
1190
1192
  embedded:
1191
1193
  page_link:
1192
1194
  reset: Reset
1195
+ emulation_mode_button:
1196
+ desktop: Desktop
1197
+ disabled_hint: Not supported by this page type
1198
+ header: 'Preview mode:'
1199
+ phone: Phone
1200
+ entry_preview:
1201
+ navigation_disabled_hint: Page changes not possible in phone preview.
1193
1202
  file_item:
1194
1203
  cancel: Cancel
1195
1204
  confirm: Confirm
@@ -1221,10 +1230,6 @@ en:
1221
1230
  title: Help
1222
1231
  help_button:
1223
1232
  open_help: Open help
1224
- inputs:
1225
- reference:
1226
- edit: DELETED
1227
- reset: DELETED
1228
1233
  list_blank_slate:
1229
1234
  text: "(No items)"
1230
1235
  list_item:
@@ -1310,14 +1315,11 @@ en:
1310
1315
  This operation cannot be undone.
1311
1316
  edit_entry_view:
1312
1317
  cannot_publish: You do not have sufficient rights to publish this entry.
1313
- edit_page_link_view:
1314
- default_page_transition: "(Default)"
1315
1318
  edit_page_view:
1316
1319
  confirm_destroy: Really delete this page?
1317
1320
  edit_storyline_view:
1318
1321
  cannot_destroy: Only empty storylines can be deleted.
1319
1322
  confirm_destroy: Really delete storyline
1320
- default_parent_page_transition: "(Default)"
1321
1323
  editor_views:
1322
1324
  files_pending_warning: You are currently uploading files. All uploads will be canceled if you leave this page.
1323
1325
  hide_editor: Hide editor panel
@@ -1354,6 +1356,8 @@ en:
1354
1356
  storylines_picker_view:
1355
1357
  label: Storyline
1356
1358
  without_parent_page: Without parent page
1359
+ editor_emulation_mode:
1360
+ feature_name: Editor phone emulation mode
1357
1361
  entry:
1358
1362
  duplicated_title: Copy of %{title}
1359
1363
  help_entries:
@@ -1564,7 +1568,7 @@ en:
1564
1568
  click on a page type on the left column.
1565
1569
  publishing:
1566
1570
  menu_item: Publishing
1567
- text: "# Publishing\n\nClick on the „Publish“ button to publish your Pageflow. A\nPageflow can be published at any point in time. \n\nBesides this, there is the possibility to publish Pageflows with \na password protection. Just activate „Protect with password“. \nPageflow uses the name of the account as user name and \nautomatically generates a password, which can be changed afterwords. \n\nAlready published stories can also be protected with a password by \npublishing another version - the other way round works as well. \nFor this please just click on the „Publishing“ button. The following \nsteps will then be shown and explained within the dialog window.\n\nPublished\nPageflows can also be unpublished manually at any time. If a\nPageflow has already been published, changes will not be\nshown until you publish your report again. A Pageflow can\nonly be edited by one author at one time.\n\nThumbnail for embedding the Pageflow on external websites\nAfter publishing your Pageflow, the system generates a\nthumbnail, which can be embedded as an iframe to the\nhyperlink of another website. By means of the code, the size\nof the iframe can be adjusted. The minimum size is a height\n150px and a width of 220px."
1571
+ text: "# Publishing\n\nClick on the „Publish“ button to publish your Pageflow. A\nPageflow can be published at any point in time. \n\nBesides this, there is the possibility to publish Pageflows with \na password protection. Just activate „Protect with password“. \nPageflow uses the name of the account as user name and \nautomatically generates a password, which can be changed afterwords. \n\nAlready published stories can also be protected with a password by \npublishing another version - the other way round works as well. \nFor this please just click on the „Publishing“ button. The following \nsteps will then be shown and explained within the dialog window.\n\nPublished\nPageflows can also be depublished manually at any time. If a\nPageflow has already been published, changes will not be\nshown until you publish your report again. A Pageflow can\nonly be edited by one author at one time.\n\nThumbnail for embedding the Pageflow on external websites\nAfter publishing your Pageflow, the system generates a\nthumbnail, which can be embedded as an iframe to the\nhyperlink of another website. By means of the code, the size\nof the iframe can be adjusted. The minimum size is a height\n150px and a width of 220px."
1568
1572
  storylines:
1569
1573
  menu_item: Storylines
1570
1574
  text: "# Storylines\n\nIn addition to linear narrations from top to bottom, further storylines can be used as non linear excursions to enlarge upon parts of a story. A „Storyline“ consists of chapters and pages, which users scroll through. Distinguishable is the so called main storyline from further subordinate ones. The user starts off in the main storyline and can then navigate to different excursions.\n\nTo create such an excursion from the main storyline use one of the „Link“ pages (Mosaic, Collage, Hotspot) and create the desired connections via „Links“.\n\nBy choosing a „Parent page“ you can determine to which page users return after scrolling the storyline´s last page.\n\nTransitions to subordinate storylines are visually supported by a horizontal animation as the default setting for entering and leaving. \n\nStorylines are created by clicking onto the plus button next to the storyline menu. Thereby a new chapter opens automatically in which further pages can be added. \n\n\n### Parent pages\n\nIn every subordinate storyline a „Parent page“ must be determined to define where users land when scrolling back.\n\nThis target page can be chosen by clicking on the pen symbol next to the storyline menu. When a „Parent page“ is defined, a back button will be shown automatically in the subordinate storyline that will always lead users back to the „Parent page“.\n\n\n### Chapter hierarchy\n\nThe use of more than one „subordinary“ storylines and the definition of „Parent pages“ leads to a chapter hierarchy as known from books:\n\n1. (Main storyline), 1.1. (Superior sub storyline), 1.1.1. (Subordinate sub storyline) and so on.\n\nThis hierarchy can be edited afterwards by clicking on the pen symbol next to the storyline menu. A subordinate storyline can be turned into the main storyline as well.\n\n\n### Scroll successors\n\nIf you want to lead users from a last page of a subordinate chapter (1.1.1) to another position than\nthe „Parent page“ (e.g. to 2.1) you can define a „Scroll successor“. Therefore click on the blue pen symbol within the storyline settings. As an example the following sequence might be imaginable: 1 -> 1.1 -> 1.1.1 -> 2.1\n\nAttention: While editing only the selected chapter will be shown in the sidebar. To switch to the other chapters click onto the storyline menu."
@@ -1658,6 +1662,7 @@ en:
1658
1662
  page_transitions:
1659
1663
  crossfade: Crossfade
1660
1664
  cut: Cut
1665
+ default: "(Default)"
1661
1666
  fade: Fade
1662
1667
  fade_to_black: Fade to black
1663
1668
  scroll: Scroll
@@ -1703,6 +1708,7 @@ en:
1703
1708
  general: General
1704
1709
  links: Links
1705
1710
  options: Options
1711
+ phone_horizontal_slideshow_mode: Horizontal swipe on phone
1706
1712
  social: Social
1707
1713
  widgets: Appearance
1708
1714
  inline_help:
@@ -1787,6 +1793,8 @@ en:
1787
1793
  url_hint: 'URL must start with http:// '
1788
1794
  url_hint_https: URL must start with http:// or https://
1789
1795
  unauthorized: You are not authorized to view this page.
1796
+ unmute_button:
1797
+ widget_type_name: Unmute button
1790
1798
  user_mailer:
1791
1799
  invitation:
1792
1800
  ending: Thank you and have fun,
@@ -1809,14 +1817,18 @@ en:
1809
1817
  none: "(none)"
1810
1818
  roles:
1811
1819
  analytics: Tracking
1820
+ background_media_control: Background media control
1812
1821
  cookie_notice: Cookie Notice
1813
1822
  mobile_navigation: Mobile navigation
1814
1823
  navigation: Navigation bar
1815
1824
  player_controls: Player Controls
1825
+ slideshow_mode: Control gestures
1816
1826
  type_names:
1817
1827
  classic_player_controls: Classic
1818
1828
  default_mobile_navigation: Navigation bar with thumbnails
1819
1829
  default_navigation: Navigation bar with thumbnails
1830
+ default_slideshow_mode: Vertical scoll/swipe
1831
+ phone_horizontal_slideshow_mode: Horizontal swipe on phone
1820
1832
  slim_player_controls: Minimal
1821
1833
  support:
1822
1834
  array:
data/config/routes.rb CHANGED
@@ -55,6 +55,7 @@ Pageflow::Engine.routes.draw do
55
55
  resources :files,
56
56
  path: 'files/:collection_name',
57
57
  only: [:index, :create, :update, :destroy] do
58
+ post :empty, on: :collection, to: 'files#create'
58
59
  post :reuse, on: :collection
59
60
  post :retry, on: :member
60
61
  end