pageflow 15.7.1 → 15.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +103 -216
  3. data/README.md +1 -9
  4. data/Rakefile +4 -1
  5. data/admins/pageflow/entry.rb +32 -6
  6. data/admins/pageflow/user.rb +7 -0
  7. data/app/assets/javascripts/pageflow/admin/entries.js +40 -0
  8. data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +65 -0
  9. data/app/assets/stylesheets/pageflow/admin.scss +1 -0
  10. data/app/assets/stylesheets/pageflow/editor/base.scss +2 -6
  11. data/app/assets/stylesheets/pageflow/editor/dialogs.scss +2 -0
  12. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +9 -0
  13. data/app/assets/stylesheets/pageflow/editor/info_box.scss +13 -3
  14. data/app/assets/stylesheets/pageflow/mixins/buttons.scss +1 -0
  15. data/app/assets/stylesheets/pageflow/page.scss +0 -2
  16. data/app/assets/stylesheets/pageflow/themes/default/page.scss +1 -1
  17. data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -1
  18. data/app/controllers/pageflow/editor/file_import_controller.rb +32 -42
  19. data/app/controllers/pageflow/entries_controller.rb +25 -1
  20. data/app/helpers/pageflow/admin/permalinks_helper.rb +15 -0
  21. data/app/helpers/pageflow/entries_helper.rb +9 -1
  22. data/app/helpers/pageflow/themings_helper.rb +1 -1
  23. data/app/inputs/pageflow_permalink_input.rb +47 -0
  24. data/app/models/concerns/pageflow/permalinkable.rb +12 -0
  25. data/app/models/concerns/pageflow/reusable_file.rb +5 -0
  26. data/app/models/concerns/pageflow/uploadable_file.rb +4 -0
  27. data/app/models/pageflow/customized_theme.rb +4 -2
  28. data/app/models/pageflow/entry.rb +5 -0
  29. data/app/models/pageflow/entry_at_revision.rb +2 -1
  30. data/app/models/pageflow/entry_duplicate.rb +7 -0
  31. data/app/models/pageflow/image_file_url_templates.rb +2 -2
  32. data/app/models/pageflow/permalink.rb +39 -0
  33. data/app/models/pageflow/permalink_directory.rb +10 -0
  34. data/app/models/pageflow/published_entry.rb +17 -0
  35. data/app/models/pageflow/revision.rb +1 -1
  36. data/app/models/pageflow/theme_customization_file.rb +6 -1
  37. data/app/models/pageflow/theming.rb +1 -0
  38. data/app/views/admin/entries/_form.html.erb +9 -1
  39. data/app/views/admin/entries/_permalink_inputs.html.erb +6 -0
  40. data/app/views/admin/entries/permalink_inputs.html.erb +7 -0
  41. data/app/views/pageflow/editor/file_import/start_import_job.json.jbuilder +10 -0
  42. data/app/views/pageflow/files/_file.json.jbuilder +1 -0
  43. data/config/initializers/mime_types.rb +1 -0
  44. data/config/routes.rb +8 -5
  45. data/db/migrate/20221024100724_create_pageflow_permalink_directories.rb +10 -0
  46. data/db/migrate/20221025074049_add_permalink_attributes_to_entries.rb +5 -0
  47. data/db/migrate/20221027065022_create_pageflow_permalinks.rb +12 -0
  48. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +166 -169
  49. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +44 -2
  50. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +5 -5
  51. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
  52. data/entry_types/paged/config/initializers/features.rb +2 -0
  53. data/entry_types/paged/config/locales/{new/help.de.yml → de.yml} +74 -65
  54. data/entry_types/paged/config/locales/{new/help.en.yml → en.yml} +66 -56
  55. data/entry_types/scrolled/app/helpers/pageflow_scrolled/favicon_helper.rb +39 -13
  56. data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +55 -0
  57. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +6 -2
  58. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +2 -0
  59. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/_manifest.json.jbuilder +16 -0
  60. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +9 -3
  61. data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +16 -10
  62. data/entry_types/scrolled/config/locales/de.yml +265 -76
  63. data/entry_types/scrolled/config/locales/en.yml +266 -77
  64. data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +3 -3
  65. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +14 -0
  66. data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +1 -1
  67. data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +11 -0
  68. data/entry_types/scrolled/lib/pageflow_scrolled.rb +39 -1
  69. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +3 -2
  70. data/entry_types/scrolled/package/contentElements-editor.js +124 -38
  71. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  72. data/entry_types/scrolled/package/contentElements-frontend.js +321 -27
  73. data/entry_types/scrolled/package/editor.js +1345 -739
  74. data/entry_types/scrolled/package/frontend/EditableInlineText.module-c6672f27.js +5314 -0
  75. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-9fb97827.js → PhonePlatformContext-22e65f92.js} +40 -4
  76. data/entry_types/scrolled/package/frontend/{Viewer-e2290ea0.js → Viewer-6b05522f.js} +6 -40
  77. data/entry_types/scrolled/package/frontend/arrowRight-7e3d9dd5.js +42 -0
  78. data/entry_types/scrolled/package/frontend/{components-6ab26015.js → components-487daafa.js} +546 -361
  79. data/entry_types/scrolled/package/frontend/index.css +1 -1
  80. data/entry_types/scrolled/package/frontend/index.js +197 -3674
  81. data/entry_types/scrolled/package/package.json +3 -2
  82. data/entry_types/scrolled/package/testHelpers.js +12 -2
  83. data/entry_types/scrolled/package/widgets/defaultNavigation.css +1 -1
  84. data/entry_types/scrolled/package/widgets/defaultNavigation.js +35 -32
  85. data/entry_types/scrolled/spec/fixtures/image.ico +0 -0
  86. data/lib/pageflow/entry_type.rb +6 -2
  87. data/lib/pageflow/version.rb +1 -1
  88. data/package/editor.js +122 -149
  89. data/package/frontend.js +19 -2
  90. data/package/testHelpers.js +39 -6
  91. data/spec/factories/entries.rb +17 -0
  92. data/spec/factories/permalink_directory.rb +6 -0
  93. data/spec/factories/permalinks.rb +4 -0
  94. data/spec/factories/published_entries.rb +2 -0
  95. metadata +31 -52
  96. data/app/assets/javascripts/pageflow/dist/editor.js +0 -11890
  97. data/app/assets/javascripts/pageflow/dist/frontend.js +0 -5800
  98. data/app/assets/javascripts/pageflow/dist/react-client.js +0 -22
  99. data/app/assets/javascripts/pageflow/dist/react-server.js +0 -19
  100. data/entry_types/paged/config/locales/new/video_contain.de.yml +0 -7
  101. data/entry_types/paged/config/locales/new/video_contain.en.yml +0 -7
  102. data/entry_types/scrolled/config/locales/new/before_after_slider.de.yml +0 -8
  103. data/entry_types/scrolled/config/locales/new/before_after_slider.en.yml +0 -8
  104. data/entry_types/scrolled/config/locales/new/center_ragged.de.yml +0 -8
  105. data/entry_types/scrolled/config/locales/new/center_ragged.en.yml +0 -9
  106. data/entry_types/scrolled/config/locales/new/consent.de.yml +0 -25
  107. data/entry_types/scrolled/config/locales/new/consent.en.yml +0 -24
  108. data/entry_types/scrolled/config/locales/new/content_element_categories.de.yml +0 -39
  109. data/entry_types/scrolled/config/locales/new/content_element_categories.en.yml +0 -39
  110. data/entry_types/scrolled/config/locales/new/default_transition.de.yml +0 -14
  111. data/entry_types/scrolled/config/locales/new/default_transition.en.yml +0 -14
  112. data/entry_types/scrolled/config/locales/new/header_line_breaks.de.yml +0 -28
  113. data/entry_types/scrolled/config/locales/new/header_line_breaks.en.yml +0 -27
  114. data/entry_types/scrolled/config/locales/new/header_size.de.yml +0 -17
  115. data/entry_types/scrolled/config/locales/new/header_size.en.yml +0 -17
  116. data/entry_types/scrolled/config/locales/new/iframe_embed.de.yml +0 -39
  117. data/entry_types/scrolled/config/locales/new/iframe_embed.en.yml +0 -39
  118. data/entry_types/scrolled/config/locales/new/inline_loops.de.yml +0 -26
  119. data/entry_types/scrolled/config/locales/new/inline_loops.en.yml +0 -26
  120. data/entry_types/scrolled/config/locales/new/portrait_inline_image.de.yml +0 -9
  121. data/entry_types/scrolled/config/locales/new/portrait_inline_image.en.yml +0 -9
  122. data/entry_types/scrolled/config/locales/new/section_width.de.yml +0 -10
  123. data/entry_types/scrolled/config/locales/new/section_width.en.yml +0 -10
  124. data/entry_types/scrolled/config/locales/new/typography_variants.de.yml +0 -7
  125. data/entry_types/scrolled/config/locales/new/typography_variants.en.yml +0 -7
  126. data/entry_types/scrolled/config/locales/new/video_embed_poster.de.yml +0 -8
  127. data/entry_types/scrolled/config/locales/new/video_embed_poster.en.yml +0 -8
  128. data/entry_types/scrolled/config/locales/new/waveform_styles.de.yml +0 -11
  129. data/entry_types/scrolled/config/locales/new/waveform_styles.en.yml +0 -12
  130. data/entry_types/scrolled/config/locales/new/widgets.de.yml +0 -6
  131. data/entry_types/scrolled/config/locales/new/widgets.en.yml +0 -6
  132. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/browserconfig.xml +0 -9
  133. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/mstile-150x150.png +0 -0
  134. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/safari-pinned-tab.svg +0 -46
  135. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/site.webmanifest +0 -19
  136. data/entry_types/scrolled/package/frontend/EditableInlineText.module-b9923660.js +0 -993
  137. data/entry_types/scrolled/package/frontend/usePhonePlatform-2857c22b.js +0 -34
@@ -59,6 +59,9 @@ this.pageflow_paged.frontend = (function (exports, jqueryUi, $, Backbone, _, Vid
59
59
  getChapterConfiguration: function getChapterConfiguration(id) {
60
60
  throw 'Not implemented';
61
61
  },
62
+ getChapterPosition: function getChapterPosition(id) {
63
+ throw 'Not implemented';
64
+ },
62
65
  getStorylineConfiguration: function getStorylineConfiguration(id) {
63
66
  throw 'Not implemented';
64
67
  },
@@ -99,6 +102,15 @@ this.pageflow_paged.frontend = (function (exports, jqueryUi, $, Backbone, _, Vid
99
102
  } else {
100
103
  return 0;
101
104
  }
105
+ },
106
+ getPageAnalyticsData: function getPageAnalyticsData(permaId) {
107
+ var chapterId = this.getChapterIdByPagePermaId(permaId);
108
+ return {
109
+ chapterIndex: this.getChapterPosition(chapterId),
110
+ chapterTitle: this.getChapterConfiguration(chapterId)['title'],
111
+ title: this.getPageConfiguration(permaId)['title'],
112
+ index: this.getPagePosition(permaId)
113
+ };
102
114
  }
103
115
  });
104
116
 
@@ -124,6 +136,10 @@ this.pageflow_paged.frontend = (function (exports, jqueryUi, $, Backbone, _, Vid
124
136
  memo[chapter.id] = chapter.configuration;
125
137
  return memo;
126
138
  }, {});
139
+ this.chapterPositions = _.reduce(options.chapters, function (memo, chapter, index) {
140
+ memo[chapter.id] = index;
141
+ return memo;
142
+ }, {});
127
143
  this.chapterPagePermaIds = _(options.pages).reduce(function (memo, page) {
128
144
  memo[page.chapter_id] = memo[page.chapter_id] || [];
129
145
  memo[page.chapter_id].push(page.perma_id);
@@ -151,6 +167,9 @@ this.pageflow_paged.frontend = (function (exports, jqueryUi, $, Backbone, _, Vid
151
167
  getChapterConfiguration: function getChapterConfiguration(id) {
152
168
  return this.chapterConfigurations[id] || {};
153
169
  },
170
+ getChapterPosition: function getChapterPosition(id) {
171
+ return this.chapterPositions[id];
172
+ },
154
173
  getChapterPagePermaIds: function getChapterPagePermaIds(id) {
155
174
  return this.chapterPagePermaIds[id];
156
175
  },
@@ -3220,7 +3239,9 @@ this.pageflow_paged.frontend = (function (exports, jqueryUi, $, Backbone, _, Vid
3220
3239
 
3221
3240
  return this.withState(this.vendors.filter(function (vendor) {
3222
3241
  return (additionalVendorNames === null || additionalVendorNames === void 0 ? void 0 : additionalVendorNames.includes(vendor.name)) || vendor.paradigm === 'opt-in' || vendor.paradigm === 'external opt-out' || vendor.paradigm === 'lazy opt-in' && _this3.persistence.read(vendor) !== 'undecided';
3223
- }));
3242
+ }), {
3243
+ applyDefaults: true
3244
+ });
3224
3245
  }
3225
3246
  }, {
3226
3247
  key: "require",
@@ -3357,12 +3378,26 @@ this.pageflow_paged.frontend = (function (exports, jqueryUi, $, Backbone, _, Vid
3357
3378
  value: function withState(vendors) {
3358
3379
  var _this8 = this;
3359
3380
 
3381
+ var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
3382
+ applyDefaults = _ref4.applyDefaults;
3383
+
3360
3384
  return vendors.map(function (vendor) {
3385
+ var state = _this8.persistence.read(vendor);
3386
+
3361
3387
  return _objectSpread2(_objectSpread2({}, vendor), {}, {
3362
- state: _this8.persistence.read(vendor)
3388
+ state: state === 'undecided' && applyDefaults ? _this8.getDefaultState(vendor) : state
3363
3389
  });
3364
3390
  });
3365
3391
  }
3392
+ }, {
3393
+ key: "getDefaultState",
3394
+ value: function getDefaultState(vendor) {
3395
+ if (vendor.paradigm === 'external opt-out') {
3396
+ return 'accepted';
3397
+ }
3398
+
3399
+ return 'undecided';
3400
+ }
3366
3401
  }]);
3367
3402
 
3368
3403
  return Consent;
@@ -4937,6 +4972,7 @@ this.pageflow_paged.frontend = (function (exports, jqueryUi, $, Backbone, _, Vid
4937
4972
  currentTime: player.currentTime(),
4938
4973
  duration: player.duration(),
4939
4974
  volume: player.volume(),
4975
+ altText: player.getMediaElement().getAttribute('alt'),
4940
4976
  bitrate: 3500000
4941
4977
  });
4942
4978
  }
@@ -6632,6 +6668,9 @@ this.pageflow_paged.frontend = (function (exports, jqueryUi, $, Backbone, _, Vid
6632
6668
  getConfiguration: function getConfiguration() {
6633
6669
  return this.configuration;
6634
6670
  },
6671
+ getAnalyticsData: function getAnalyticsData() {
6672
+ return state$1.entryData.getPageAnalyticsData(this.getPermaId());
6673
+ },
6635
6674
  update: function update(configuration) {
6636
6675
  if (this.created) {
6637
6676
  this._delegateToInner('update', arguments);
@@ -6949,6 +6988,9 @@ this.pageflow_paged.frontend = (function (exports, jqueryUi, $, Backbone, _, Vid
6949
6988
  getConfiguration: function getConfiguration() {
6950
6989
  return this.configuration;
6951
6990
  },
6991
+ getAnalyticsData: function getAnalyticsData() {
6992
+ return state$1.entryData.getPageAnalyticsData(this.getPermaId());
6993
+ },
6952
6994
  update: function update(configuration) {
6953
6995
  _.extend(this.configuration, configuration.attributes);
6954
6996