pageflow 15.7.1 → 16.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -243
  3. data/README.md +1 -9
  4. data/Rakefile +4 -1
  5. data/admins/pageflow/accounts.rb +12 -16
  6. data/admins/pageflow/entry.rb +57 -28
  7. data/admins/pageflow/entry_templates.rb +5 -7
  8. data/admins/pageflow/sites.rb +50 -0
  9. data/admins/pageflow/user.rb +7 -0
  10. data/app/assets/javascripts/pageflow/admin/entries.js +53 -4
  11. data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +65 -0
  12. data/app/assets/stylesheets/pageflow/admin.scss +1 -0
  13. data/app/assets/stylesheets/pageflow/editor/base.scss +2 -6
  14. data/app/assets/stylesheets/pageflow/editor/dialogs.scss +2 -0
  15. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +9 -0
  16. data/app/assets/stylesheets/pageflow/editor/info_box.scss +13 -3
  17. data/app/assets/stylesheets/pageflow/mixins/buttons.scss +1 -0
  18. data/app/assets/stylesheets/pageflow/page.scss +0 -2
  19. data/app/assets/stylesheets/pageflow/themes/default/page.scss +1 -1
  20. data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -1
  21. data/app/controllers/pageflow/editor/file_import_controller.rb +32 -42
  22. data/app/controllers/pageflow/entries_controller.rb +27 -3
  23. data/app/helpers/pageflow/admin/permalinks_helper.rb +15 -0
  24. data/app/helpers/pageflow/common_entry_seed_helper.rb +1 -1
  25. data/app/helpers/pageflow/embed_code_helper.rb +1 -1
  26. data/app/helpers/pageflow/entries_helper.rb +25 -17
  27. data/app/helpers/pageflow/sites_helper.rb +11 -0
  28. data/app/helpers/pageflow/social_share_helper.rb +2 -2
  29. data/app/inputs/pageflow_permalink_input.rb +47 -0
  30. data/app/models/concerns/pageflow/permalinkable.rb +12 -0
  31. data/app/models/concerns/pageflow/reusable_file.rb +5 -0
  32. data/app/models/concerns/pageflow/uploadable_file.rb +4 -0
  33. data/app/models/pageflow/account.rb +7 -33
  34. data/app/models/pageflow/{cname_theming_request_scope.rb → cname_site_request_scope.rb} +3 -3
  35. data/app/models/pageflow/customized_theme.rb +5 -3
  36. data/app/models/pageflow/entry.rb +8 -4
  37. data/app/models/pageflow/entry_at_revision.rb +4 -3
  38. data/app/models/pageflow/entry_duplicate.rb +8 -1
  39. data/app/models/pageflow/entry_template.rb +4 -4
  40. data/app/models/pageflow/home_button.rb +7 -7
  41. data/app/models/pageflow/image_file_url_templates.rb +2 -2
  42. data/app/models/pageflow/permalink.rb +39 -0
  43. data/app/models/pageflow/permalink_directory.rb +10 -0
  44. data/app/models/pageflow/published_entry.rb +19 -2
  45. data/app/models/pageflow/revision.rb +1 -1
  46. data/app/models/pageflow/site.rb +59 -0
  47. data/app/models/pageflow/theme_customization.rb +1 -1
  48. data/app/models/pageflow/theme_customization_file.rb +6 -1
  49. data/app/policies/pageflow/account_policy.rb +2 -2
  50. data/app/policies/pageflow/entry_policy.rb +2 -2
  51. data/app/policies/pageflow/entry_template_policy.rb +1 -1
  52. data/app/policies/pageflow/{theming_policy.rb → site_policy.rb} +13 -11
  53. data/app/views/admin/accounts/_entry_template_details.html.arb +1 -1
  54. data/app/views/admin/accounts/_form.html.erb +4 -22
  55. data/app/views/admin/accounts/_site_defaults_inline_help.html.erb +5 -0
  56. data/app/views/admin/entries/_form.html.erb +11 -12
  57. data/app/views/admin/entries/_permalink_inputs.html.erb +6 -0
  58. data/app/views/admin/entries/_site_input.html.erb +15 -0
  59. data/app/views/admin/entries/{entry_type_name_input.html.erb → entry_site_and_type_name_input.html.erb} +3 -0
  60. data/app/views/admin/entries/permalink_inputs.html.erb +7 -0
  61. data/app/views/admin/entry_templates/_form.html.erb +5 -5
  62. data/app/views/admin/sites/_attributes_table.html.arb +9 -0
  63. data/app/views/admin/sites/_fields.html.erb +17 -0
  64. data/app/views/admin/sites/_form.html.erb +5 -0
  65. data/app/views/components/pageflow/admin/entries_tab.rb +1 -2
  66. data/app/views/components/pageflow/admin/entry_templates_tab.rb +10 -11
  67. data/app/views/components/pageflow/admin/features_tab.rb +1 -1
  68. data/app/views/components/pageflow/admin/sites_tab.rb +32 -0
  69. data/app/views/components/pageflow/admin/users_tab.rb +1 -2
  70. data/app/views/pageflow/editor/entries/seed.json.erb +1 -1
  71. data/app/views/pageflow/editor/file_import/start_import_job.json.jbuilder +10 -0
  72. data/app/views/pageflow/editor/sites/_site.json.jbuilder +1 -0
  73. data/app/views/pageflow/entries/{_theming.css.erb → _site.css.erb} +0 -0
  74. data/app/views/pageflow/entries/stylesheet.css.erb +1 -1
  75. data/app/views/pageflow/files/_file.json.jbuilder +1 -0
  76. data/app/views/pageflow/social_share/_entry_meta_tags.html.erb +1 -1
  77. data/app/views/pageflow/social_share/_page_meta_tags.html.erb +1 -1
  78. data/config/initializers/admin_resource_tabs.rb +29 -12
  79. data/config/initializers/mime_types.rb +1 -0
  80. data/config/locales/de.yml +19 -17
  81. data/config/locales/en.yml +19 -17
  82. data/config/routes.rb +8 -5
  83. data/db/migrate/20221024100724_create_pageflow_permalink_directories.rb +10 -0
  84. data/db/migrate/20221025074049_add_permalink_attributes_to_entries.rb +5 -0
  85. data/db/migrate/20221027065022_create_pageflow_permalinks.rb +12 -0
  86. data/db/migrate/20221215101134_rename_theming_to_site.rb +9 -0
  87. data/db/migrate/20221215120856_associate_entry_templates_with_sites.rb +34 -0
  88. data/db/migrate/20221219203023_add_name_to_sites.rb +5 -0
  89. data/db/migrate/20230103155934_associate_theme_customizations_with_sites.rb +27 -0
  90. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +176 -179
  91. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +49 -7
  92. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +5 -5
  93. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
  94. data/entry_types/paged/config/initializers/features.rb +2 -0
  95. data/entry_types/paged/config/locales/{new/help.de.yml → de.yml} +74 -65
  96. data/entry_types/paged/config/locales/{new/help.en.yml → en.yml} +66 -56
  97. data/entry_types/scrolled/app/helpers/pageflow_scrolled/favicon_helper.rb +39 -13
  98. data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +55 -0
  99. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +6 -2
  100. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +2 -0
  101. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/_manifest.json.jbuilder +16 -0
  102. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +9 -3
  103. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +5 -5
  104. data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +16 -10
  105. data/entry_types/scrolled/config/locales/de.yml +265 -76
  106. data/entry_types/scrolled/config/locales/en.yml +266 -77
  107. data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +3 -3
  108. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +14 -0
  109. data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +1 -1
  110. data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +1 -1
  111. data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +11 -0
  112. data/entry_types/scrolled/lib/pageflow_scrolled.rb +39 -1
  113. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +3 -2
  114. data/entry_types/scrolled/package/contentElements-editor.js +124 -38
  115. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  116. data/entry_types/scrolled/package/contentElements-frontend.js +321 -27
  117. data/entry_types/scrolled/package/editor.js +1345 -739
  118. data/entry_types/scrolled/package/frontend/EditableInlineText.module-14c7b097.js +5314 -0
  119. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-9fb97827.js → PhonePlatformContext-f6093cc6.js} +87 -223
  120. data/entry_types/scrolled/package/frontend/{Viewer-e2290ea0.js → Viewer-b6becc57.js} +6 -40
  121. data/entry_types/scrolled/package/frontend/arrowRight-78a7cee4.js +42 -0
  122. data/entry_types/scrolled/package/frontend/{components-6ab26015.js → components-b3160dd7.js} +546 -361
  123. data/entry_types/scrolled/package/frontend/index.css +1 -1
  124. data/entry_types/scrolled/package/frontend/index.js +398 -3692
  125. data/entry_types/scrolled/package/package.json +3 -2
  126. data/entry_types/scrolled/package/testHelpers.js +12 -2
  127. data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
  128. data/entry_types/scrolled/package/widgets/defaultNavigation.js +50 -40
  129. data/entry_types/scrolled/spec/fixtures/image.ico +0 -0
  130. data/lib/pageflow/ability_mixin.rb +16 -8
  131. data/lib/pageflow/admin/attributes_table_rows.rb +1 -1
  132. data/lib/pageflow/admin/form_inputs.rb +1 -1
  133. data/lib/pageflow/admin/tabs.rb +1 -1
  134. data/lib/pageflow/configuration/permissions.rb +3 -3
  135. data/lib/pageflow/configuration.rb +17 -17
  136. data/lib/pageflow/entry_export_import/entry_serialization.rb +1 -1
  137. data/lib/pageflow/entry_type.rb +6 -2
  138. data/lib/pageflow/primary_domain_entry_redirect.rb +7 -7
  139. data/lib/pageflow/seeds.rb +10 -10
  140. data/lib/pageflow/theme_customizations.rb +10 -10
  141. data/lib/pageflow/version.rb +1 -1
  142. data/package/editor.js +129 -156
  143. data/package/frontend.js +19 -2
  144. data/package/testHelpers.js +39 -6
  145. data/spec/factories/accounts.rb +5 -2
  146. data/spec/factories/draft_entries.rb +2 -2
  147. data/spec/factories/entries.rb +18 -1
  148. data/spec/factories/entry_templates.rb +1 -1
  149. data/spec/factories/permalink_directory.rb +6 -0
  150. data/spec/factories/permalinks.rb +4 -0
  151. data/spec/factories/published_entries.rb +4 -2
  152. data/spec/factories/sites.rb +9 -0
  153. metadata +50 -62
  154. data/app/assets/javascripts/pageflow/dist/editor.js +0 -11890
  155. data/app/assets/javascripts/pageflow/dist/frontend.js +0 -5800
  156. data/app/assets/javascripts/pageflow/dist/react-client.js +0 -22
  157. data/app/assets/javascripts/pageflow/dist/react-server.js +0 -19
  158. data/app/helpers/pageflow/themings_helper.rb +0 -11
  159. data/app/models/pageflow/theming.rb +0 -29
  160. data/app/views/admin/accounts/_theming_defaults_inline_help.html.erb +0 -5
  161. data/app/views/admin/accounts/_theming_details.html.arb +0 -5
  162. data/app/views/pageflow/editor/themings/_theming.json.jbuilder +0 -1
  163. data/entry_types/paged/config/locales/new/video_contain.de.yml +0 -7
  164. data/entry_types/paged/config/locales/new/video_contain.en.yml +0 -7
  165. data/entry_types/scrolled/config/locales/new/before_after_slider.de.yml +0 -8
  166. data/entry_types/scrolled/config/locales/new/before_after_slider.en.yml +0 -8
  167. data/entry_types/scrolled/config/locales/new/center_ragged.de.yml +0 -8
  168. data/entry_types/scrolled/config/locales/new/center_ragged.en.yml +0 -9
  169. data/entry_types/scrolled/config/locales/new/consent.de.yml +0 -25
  170. data/entry_types/scrolled/config/locales/new/consent.en.yml +0 -24
  171. data/entry_types/scrolled/config/locales/new/content_element_categories.de.yml +0 -39
  172. data/entry_types/scrolled/config/locales/new/content_element_categories.en.yml +0 -39
  173. data/entry_types/scrolled/config/locales/new/default_transition.de.yml +0 -14
  174. data/entry_types/scrolled/config/locales/new/default_transition.en.yml +0 -14
  175. data/entry_types/scrolled/config/locales/new/header_line_breaks.de.yml +0 -28
  176. data/entry_types/scrolled/config/locales/new/header_line_breaks.en.yml +0 -27
  177. data/entry_types/scrolled/config/locales/new/header_size.de.yml +0 -17
  178. data/entry_types/scrolled/config/locales/new/header_size.en.yml +0 -17
  179. data/entry_types/scrolled/config/locales/new/iframe_embed.de.yml +0 -39
  180. data/entry_types/scrolled/config/locales/new/iframe_embed.en.yml +0 -39
  181. data/entry_types/scrolled/config/locales/new/inline_loops.de.yml +0 -26
  182. data/entry_types/scrolled/config/locales/new/inline_loops.en.yml +0 -26
  183. data/entry_types/scrolled/config/locales/new/portrait_inline_image.de.yml +0 -9
  184. data/entry_types/scrolled/config/locales/new/portrait_inline_image.en.yml +0 -9
  185. data/entry_types/scrolled/config/locales/new/section_width.de.yml +0 -10
  186. data/entry_types/scrolled/config/locales/new/section_width.en.yml +0 -10
  187. data/entry_types/scrolled/config/locales/new/typography_variants.de.yml +0 -7
  188. data/entry_types/scrolled/config/locales/new/typography_variants.en.yml +0 -7
  189. data/entry_types/scrolled/config/locales/new/video_embed_poster.de.yml +0 -8
  190. data/entry_types/scrolled/config/locales/new/video_embed_poster.en.yml +0 -8
  191. data/entry_types/scrolled/config/locales/new/waveform_styles.de.yml +0 -11
  192. data/entry_types/scrolled/config/locales/new/waveform_styles.en.yml +0 -12
  193. data/entry_types/scrolled/config/locales/new/widgets.de.yml +0 -6
  194. data/entry_types/scrolled/config/locales/new/widgets.en.yml +0 -6
  195. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/browserconfig.xml +0 -9
  196. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/mstile-150x150.png +0 -0
  197. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/safari-pinned-tab.svg +0 -46
  198. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/site.webmanifest +0 -19
  199. data/entry_types/scrolled/package/frontend/EditableInlineText.module-b9923660.js +0 -993
  200. data/entry_types/scrolled/package/frontend/usePhonePlatform-2857c22b.js +0 -34
  201. data/spec/factories/themings.rb +0 -7
@@ -5660,10 +5660,10 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
5660
5660
  },
5661
5661
  handleError: function handleError() {}
5662
5662
  });
5663
- var Theming = Backbone.Model.extend({
5664
- modelName: 'theming',
5665
- i18nKey: 'pageflow/theming',
5666
- collectionName: 'themings'
5663
+ var Site = Backbone.Model.extend({
5664
+ modelName: 'site',
5665
+ i18nKey: 'pageflow/site',
5666
+ collectionName: 'sites'
5667
5667
  });
5668
5668
  var ChapterConfiguration = Configuration.extend({
5669
5669
  modelName: 'chapter',
@@ -6458,40 +6458,28 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
6458
6458
  },
6459
6459
  startImportJob: function startImportJob(collectionName) {
6460
6460
  this.action = 'start_import_job';
6461
- var selections = state.files[collectionName].uploadable();
6462
- var jsonSelections = selections.toJSON();
6463
- jsonSelections.forEach(function (selection, index) {
6464
- selection['url'] = selections.at(index).get('source_url');
6465
- });
6461
+ var fileType = editor.fileTypes.findByCollectionName(collectionName);
6466
6462
  var currentEntry = this.get('currentEntry');
6467
- this.fetch({
6468
- data: {
6463
+ var selections = currentEntry.getFileCollection(fileType).uploadable();
6464
+ this.sync('create', this, {
6465
+ attrs: {
6469
6466
  collection: collectionName,
6470
- files: jsonSelections
6467
+ files: selections.toJSON().map(function (item, index) {
6468
+ return _objectSpread2(_objectSpread2({}, item), {}, {
6469
+ url: selections.at(index).get('source_url')
6470
+ });
6471
+ })
6471
6472
  },
6472
- postData: true,
6473
- type: 'POST'
6474
- }).then(function (data) {
6475
- if (data && data.data) {
6476
- var files = data.data;
6477
-
6478
- if (files && files.length > 0) {
6479
- files.forEach(function (file) {
6480
- var localFile = selections.find(function (cFile) {
6481
- return cFile.get('attachment_on_s3_file_name') == file.file_name && cFile.get('source_url') == file.source_url && cFile.get('state') == 'uploadable';
6482
- });
6483
-
6484
- if (localFile) {
6485
- state.files[collectionName].remove(localFile);
6486
- var fileType = editor.fileTypes.findByUpload(file);
6487
- file = new fileType.model(file, {
6488
- fileType: fileType
6489
- });
6490
- currentEntry.getFileCollection(fileType).add(file);
6491
- file.set('state', 'uploading');
6492
- }
6473
+ success: function success(items) {
6474
+ items.forEach(function (item) {
6475
+ var file = selections.find(function (file) {
6476
+ return file.get('source_url') == item.source_url;
6493
6477
  });
6494
- }
6478
+
6479
+ if (file) {
6480
+ file.set(item.attributes);
6481
+ }
6482
+ });
6495
6483
  }
6496
6484
  });
6497
6485
  }
@@ -6864,7 +6852,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
6864
6852
 
6865
6853
  __p += '<div class="blank_slate">\n <p>\n ' + ((__t = I18n.t('pageflow.editor.templates.confirm_encoding.all_released')) == null ? '' : __t) + '\n </p>\n <p>\n ' + ((__t = I18n.t('pageflow.editor.templates.confirm_encoding.link_to_progress', {
6866
6854
  link: '<a href="#/files/video_files">' + I18n.t('pageflow.editor.templates.confirm_encoding.manage_files') + '</a>'
6867
- })) == null ? '' : __t) + '\n </p>\n</div>\n\n<div class="intro">\n</div>\n\n<div class="video_files_panel">\n <h2>' + ((__t = I18n.t('pageflow.editor.templates.confirm_encoding.videos_tab')) == null ? '' : __t) + '</h2>\n</div>\n\n<div class="audio_files_panel">\n <h2>' + ((__t = I18n.t('pageflow.editor.templates.confirm_encoding.audios_tab')) == null ? '' : __t) + '</h2>\n</div>\n\n<div class="summary">\n</div>\n<button class="confirm">' + ((__t = I18n.t('pageflow.editor.templates.confirm_encoding.confirm_button')) == null ? '' : __t) + '</button>\n';
6855
+ })) == null ? '' : __t) + '\n </p>\n</div>\n\n<div class="intro">\n</div>\n\n<div class="video_files_panel">\n <h2 class="sidebar-header">\n ' + ((__t = I18n.t('pageflow.editor.templates.confirm_encoding.videos_tab')) == null ? '' : __t) + '\n </h2>\n</div>\n\n<div class="audio_files_panel">\n <h2 class="sidebar-header">\n ' + ((__t = I18n.t('pageflow.editor.templates.confirm_encoding.audios_tab')) == null ? '' : __t) + '\n </h2>\n</div>\n\n<div class="summary">\n</div>\n<button class="confirm">' + ((__t = I18n.t('pageflow.editor.templates.confirm_encoding.confirm_button')) == null ? '' : __t) + '</button>\n';
6868
6856
  return __p;
6869
6857
  }
6870
6858
 
@@ -7099,6 +7087,10 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7099
7087
  link.data('path', options.path);
7100
7088
  }
7101
7089
 
7090
+ if (options.id) {
7091
+ link.attr('data-main-menu-item', options.id);
7092
+ }
7093
+
7102
7094
  link.text(I18n$1.t(options.translationKey));
7103
7095
 
7104
7096
  if (options.click) {
@@ -7125,9 +7117,6 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7125
7117
  regions: {
7126
7118
  widgetTypeContainer: '.widget_type'
7127
7119
  },
7128
- ui: {
7129
- role: 'h2'
7130
- },
7131
7120
  modelEvents: {
7132
7121
  'change:type_name': 'update'
7133
7122
  },
@@ -7386,12 +7375,12 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7386
7375
  label: '> .label'
7387
7376
  },
7388
7377
  events: {
7389
- 'click > a': function clickA() {
7378
+ 'click > a': function clickA(event) {
7390
7379
  if (!this.model.get('disabled')) {
7391
7380
  this.model.selected();
7392
7381
  }
7393
7382
 
7394
- return false;
7383
+ event.preventDefault();
7395
7384
  }
7396
7385
  },
7397
7386
  modelEvents: {
@@ -7444,6 +7433,13 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7444
7433
  * @param {Backbone.Collection} options.items
7445
7434
  * Collection of menu items. See below for supported attributes.
7446
7435
  *
7436
+ * @param {boolean} [options.fullWidth]
7437
+ * Make button and drop down span 100% of available width.
7438
+ *
7439
+ * @param {boolean} [options.openOnClick]
7440
+ * Require click to open menu. By default, menu opens on when the
7441
+ * mouse enters the button.
7442
+ *
7447
7443
  * ## Item Models
7448
7444
  *
7449
7445
  * The following model attributes can be used to control the
@@ -7469,17 +7465,19 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7469
7465
  button: '> button',
7470
7466
  menu: '.drop_down_button_menu'
7471
7467
  },
7472
- events: {
7473
- 'mouseenter': function mouseenter() {
7468
+ events: function events() {
7469
+ var _ref;
7470
+
7471
+ return _ref = {}, _defineProperty$1(_ref, this.options.openOnClick ? 'click' : 'mouseenter', function () {
7474
7472
  this.positionMenu();
7475
7473
  this.showMenu();
7476
- },
7477
- 'mouseleave': function mouseleave() {
7474
+ }), _defineProperty$1(_ref, 'mouseleave', function mouseleave() {
7478
7475
  this.scheduleHideMenu();
7479
- }
7476
+ }), _ref;
7480
7477
  },
7481
7478
  onRender: function onRender() {
7482
7479
  var view = this;
7480
+ this.$el.toggleClass('full_width', !!this.options.fullWidth);
7483
7481
  this.ui.button.toggleClass('has_icon_and_text', !!this.options.label);
7484
7482
  this.ui.button.toggleClass('has_icon_only', !this.options.label);
7485
7483
  this.ui.button.text(this.options.label);
@@ -7492,6 +7490,9 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7492
7490
  },
7493
7491
  'mouseleave': function mouseleave() {
7494
7492
  view.scheduleHideMenu();
7493
+ },
7494
+ 'click': function click() {
7495
+ view.hideMenu();
7495
7496
  }
7496
7497
  });
7497
7498
  this.ui.menu.appendTo('#editor_menu_container');
@@ -7503,13 +7504,15 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7503
7504
  var offset = this.$el.offset();
7504
7505
  this.ui.menu.css({
7505
7506
  top: offset.top + this.$el.height(),
7506
- left: offset.left
7507
+ left: offset.left,
7508
+ width: this.options.fullWidth ? this.$el.width() : null
7507
7509
  });
7508
7510
  },
7509
7511
  showMenu: function showMenu() {
7510
7512
  this.ensureOnlyOneDropDownButtonShowsMenu();
7511
7513
  clearTimeout(this.hideMenuTimeout);
7512
7514
  this.ui.menu.addClass('is_visible');
7515
+ this.ui.button.addClass('hover');
7513
7516
  },
7514
7517
  ensureOnlyOneDropDownButtonShowsMenu: function ensureOnlyOneDropDownButtonShowsMenu() {
7515
7518
  if (DropDownButtonView.currentlyShowingMenu) {
@@ -7522,6 +7525,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7522
7525
  clearTimeout(this.hideMenuTimeout);
7523
7526
 
7524
7527
  if (!this.isClosed) {
7528
+ this.ui.button.removeClass('hover');
7525
7529
  this.ui.menu.removeClass('is_visible');
7526
7530
  }
7527
7531
  },
@@ -7580,24 +7584,17 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7580
7584
  return this.model.get(this.options.imageUrlPropertyName || 'thumbnail_url');
7581
7585
  }
7582
7586
  });
7583
-
7584
- function template$f(data) {
7585
- var __t,
7586
- __p = '';
7587
-
7588
- __p += '<label>\n <span class="name"></span>\n <span class="inline_help"></span>\n</label>\n<div class="file_thumbnail"></div>\n<div class="file_name"></div>\n\n<a href="" class="unset" title="' + ((__t = I18n.t('pageflow.ui.templates.inputs.file_input.reset')) == null ? '' : __t) + '"></a>\n<a href="" class="choose" title="' + ((__t = I18n.t('pageflow.ui.templates.inputs.file_input.edit')) == null ? '' : __t) + '"></a>\n';
7589
- return __p;
7590
- }
7591
7587
  /**
7592
7588
  * Input view to reference a file.
7593
7589
  *
7594
7590
  * @class
7595
7591
  */
7596
7592
 
7597
-
7598
7593
  var FileInputView = Marionette.ItemView.extend({
7599
7594
  mixins: [inputView],
7600
- template: template$f,
7595
+ template: function template() {
7596
+ return "\n <label>\n <span class=\"name\"></span>\n <span class=\"inline_help\"></span>\n </label>\n <div class=\"file_thumbnail\"></div>\n <div class=\"file_name\"></div>\n\n <a href=\"\"\n class=\"unset\"\n title=\"".concat(I18n$1.t('pageflow.ui.templates.inputs.file_input.reset'), "\">\n </a>\n <a href=\"\"\n class=\"choose\"\n title=\"").concat(I18n$1.t('pageflow.ui.templates.inputs.file_input.edit'), "\">\n </a>\n ");
7597
+ },
7601
7598
  className: 'file_input',
7602
7599
  ui: {
7603
7600
  fileName: '.file_name',
@@ -7640,7 +7637,8 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7640
7637
 
7641
7638
  if (dropDownMenuItems.length) {
7642
7639
  this.appendSubview(new DropDownButtonView({
7643
- items: dropDownMenuItems
7640
+ items: dropDownMenuItems,
7641
+ openOnClick: true
7644
7642
  }));
7645
7643
  }
7646
7644
  },
@@ -7795,14 +7793,14 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7795
7793
  }
7796
7794
  });
7797
7795
 
7798
- function template$g(data) {
7796
+ function template$f(data) {
7799
7797
  var __p = '';
7800
7798
  __p += '<div class="spinner">\n <div class="rect1"></div>\n <div class="rect2"></div>\n <div class="rect3"></div>\n <div class="rect4"></div>\n <div class="rect5"></div>\n</div>\n';
7801
7799
  return __p;
7802
7800
  }
7803
7801
 
7804
7802
  var LoadingView = Marionette.ItemView.extend({
7805
- template: template$g,
7803
+ template: template$f,
7806
7804
  className: 'loading',
7807
7805
  tagName: 'li'
7808
7806
  });
@@ -7824,7 +7822,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7824
7822
  }
7825
7823
  };
7826
7824
 
7827
- function template$h(data) {
7825
+ function template$g(data) {
7828
7826
  var __t,
7829
7827
  __p = '';
7830
7828
 
@@ -7834,7 +7832,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7834
7832
 
7835
7833
  var ThemeItemView = Marionette.ItemView.extend({
7836
7834
  tagName: 'li',
7837
- template: template$h,
7835
+ template: template$g,
7838
7836
  className: 'theme_item',
7839
7837
  mixins: [selectableView],
7840
7838
  selectionAttribute: 'theme',
@@ -7865,7 +7863,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7865
7863
  }
7866
7864
  });
7867
7865
 
7868
- function template$i(data) {
7866
+ function template$h(data) {
7869
7867
  var __t,
7870
7868
  __p = '';
7871
7869
 
@@ -7874,7 +7872,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7874
7872
  }
7875
7873
 
7876
7874
  var ChangeThemeDialogView = Marionette.ItemView.extend({
7877
- template: template$i,
7875
+ template: template$h,
7878
7876
  className: 'change_theme dialog editor',
7879
7877
  mixins: [dialogView],
7880
7878
  ui: {
@@ -7942,14 +7940,14 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
7942
7940
  }).promise();
7943
7941
  };
7944
7942
 
7945
- function template$j(data) {
7943
+ function template$i(data) {
7946
7944
  var __p = '';
7947
7945
  __p += '\n';
7948
7946
  return __p;
7949
7947
  }
7950
7948
 
7951
7949
  var StaticThumbnailView = Marionette.ItemView.extend({
7952
- template: template$j,
7950
+ template: template$i,
7953
7951
  className: 'static_thumbnail',
7954
7952
  modelEvents: {
7955
7953
  'change:configuration': 'update'
@@ -8012,7 +8010,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8012
8010
  }
8013
8011
  });
8014
8012
 
8015
- function template$k(data) {
8013
+ function template$j(data) {
8016
8014
  var __p = '';
8017
8015
  __p += '<label>\n <span class="name"></span>\n <span class="inline_help"></span>\n</label>\n<div class="title"></div>\n<button class="unset"></button>\n<button class="choose"></button>\n';
8018
8016
  return __p;
@@ -8028,7 +8026,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8028
8026
  /** @lends ReferenceInputView.prototype */
8029
8027
  {
8030
8028
  mixins: [inputView],
8031
- template: template$k,
8029
+ template: template$j,
8032
8030
  className: 'reference_input',
8033
8031
  ui: {
8034
8032
  title: '.title',
@@ -8126,7 +8124,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8126
8124
  }
8127
8125
  });
8128
8126
 
8129
- function template$l(data) {
8127
+ function template$k(data) {
8130
8128
  var __t,
8131
8129
  __p = '';
8132
8130
 
@@ -8135,7 +8133,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8135
8133
  }
8136
8134
 
8137
8135
  var EditMetaDataView = Marionette.Layout.extend({
8138
- template: template$l,
8136
+ template: template$k,
8139
8137
  className: 'edit_meta_data',
8140
8138
  mixins: [failureIndicatingView],
8141
8139
  regions: {
@@ -8187,7 +8185,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8187
8185
  configurationEditor.tab('widgets', function () {
8188
8186
  editor.entryType.appearanceInputs && editor.entryType.appearanceInputs(this, {
8189
8187
  entry: entry,
8190
- theming: state.theming
8188
+ site: state.site
8191
8189
  });
8192
8190
  entry.widgets && this.view(EditWidgetsView, {
8193
8191
  model: entry,
@@ -8235,7 +8233,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8235
8233
  }
8236
8234
  });
8237
8235
 
8238
- function template$m(data) {
8236
+ function template$l(data) {
8239
8237
  var __t,
8240
8238
  __p = '';
8241
8239
 
@@ -8244,7 +8242,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8244
8242
  }
8245
8243
 
8246
8244
  var EditWidgetView = Marionette.ItemView.extend({
8247
- template: template$m,
8245
+ template: template$l,
8248
8246
  className: 'edit_widget',
8249
8247
  events: {
8250
8248
  'click a.back': function clickABack() {
@@ -8275,7 +8273,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8275
8273
  }
8276
8274
  });
8277
8275
 
8278
- function template$n(data) {
8276
+ function template$m(data) {
8279
8277
  var __p = '';
8280
8278
  __p += '<span class="file_thumbnail"></span>\n\n<span class="file_name"></span>\n';
8281
8279
  return __p;
@@ -8283,7 +8281,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8283
8281
 
8284
8282
  var ExplorerFileItemView = Marionette.ItemView.extend({
8285
8283
  tagName: 'li',
8286
- template: template$n,
8284
+ template: template$m,
8287
8285
  mixins: [loadable, selectableView],
8288
8286
  selectionAttribute: 'file',
8289
8287
  ui: {
@@ -8320,14 +8318,14 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8320
8318
  }
8321
8319
  });
8322
8320
 
8323
- function template$o(data) {
8321
+ function template$n(data) {
8324
8322
  var __p = '';
8325
8323
  __p += '<a href="">\n <span class="title"></span>\n</a>\n';
8326
8324
  return __p;
8327
8325
  }
8328
8326
 
8329
8327
  var OtherEntryItemView = Marionette.ItemView.extend({
8330
- template: template$o,
8328
+ template: template$n,
8331
8329
  className: 'other_entry_item',
8332
8330
  tagName: 'li',
8333
8331
  mixins: [selectableView],
@@ -8342,7 +8340,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8342
8340
  }
8343
8341
  });
8344
8342
 
8345
- function template$p(data) {
8343
+ function template$o(data) {
8346
8344
  var __t,
8347
8345
  __p = '';
8348
8346
 
@@ -8368,7 +8366,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8368
8366
  selection: this.options.selection
8369
8367
  },
8370
8368
  blankSlateViewConstructor: Marionette.ItemView.extend({
8371
- template: template$p,
8369
+ template: template$o,
8372
8370
  tagName: 'li',
8373
8371
  className: 'blank_slate'
8374
8372
  }),
@@ -8379,7 +8377,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8379
8377
  }
8380
8378
  });
8381
8379
 
8382
- function template$q(data) {
8380
+ function template$p(data) {
8383
8381
  var __t,
8384
8382
  __p = '';
8385
8383
 
@@ -8404,7 +8402,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8404
8402
  }
8405
8403
 
8406
8404
  var FilesExplorerView = Marionette.ItemView.extend({
8407
- template: template$q,
8405
+ template: template$p,
8408
8406
  className: 'files_explorer editor dialog',
8409
8407
  mixins: [dialogView],
8410
8408
  ui: {
@@ -8491,7 +8489,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8491
8489
  app.dialogRegion.show(new FilesExplorerView(options));
8492
8490
  };
8493
8491
 
8494
- function template$r(data) {
8492
+ function template$q(data) {
8495
8493
  var __p = '';
8496
8494
  __p += '<th></th>\n<td></td>';
8497
8495
  return __p;
@@ -8499,7 +8497,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8499
8497
 
8500
8498
  var FileMetaDataItemView = Marionette.ItemView.extend({
8501
8499
  tagName: 'tr',
8502
- template: template$r,
8500
+ template: template$q,
8503
8501
  ui: {
8504
8502
  label: 'th',
8505
8503
  value: 'td'
@@ -8521,7 +8519,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8521
8519
  }
8522
8520
  });
8523
8521
 
8524
- function template$s(data) {
8522
+ function template$r(data) {
8525
8523
  var __p = '';
8526
8524
  __p += '<p class="percent"></p>\n<p class="description"></p>\n<p class="error_message"></p>';
8527
8525
  return __p;
@@ -8530,7 +8528,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8530
8528
  var FileStageItemView = Marionette.ItemView.extend({
8531
8529
  tagName: 'li',
8532
8530
  className: 'file_stage_item',
8533
- template: template$s,
8531
+ template: template$r,
8534
8532
  ui: {
8535
8533
  description: '.description',
8536
8534
  percent: '.percent',
@@ -8571,7 +8569,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8571
8569
  }
8572
8570
  });
8573
8571
 
8574
- function template$t(data) {
8572
+ function template$s(data) {
8575
8573
  var __t,
8576
8574
  __p = '';
8577
8575
 
@@ -8581,7 +8579,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8581
8579
 
8582
8580
  var FileItemView = Marionette.ItemView.extend({
8583
8581
  tagName: 'li',
8584
- template: template$t,
8582
+ template: template$s,
8585
8583
  mixins: [loadable],
8586
8584
  ui: {
8587
8585
  fileName: '.file_name',
@@ -8696,7 +8694,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8696
8694
  }
8697
8695
  });
8698
8696
 
8699
- function template$u(data) {
8697
+ function template$t(data) {
8700
8698
  var __t,
8701
8699
  __p = '';
8702
8700
 
@@ -8713,7 +8711,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8713
8711
  }
8714
8712
 
8715
8713
  var FilteredFilesView = Marionette.ItemView.extend({
8716
- template: template$u,
8714
+ template: template$t,
8717
8715
  className: 'filtered_files',
8718
8716
  ui: {
8719
8717
  banner: '.filtered_files-banner',
@@ -8777,7 +8775,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8777
8775
  }
8778
8776
  });
8779
8777
 
8780
- function template$v(data) {
8778
+ function template$u(data) {
8781
8779
  var __t,
8782
8780
  __p = '';
8783
8781
 
@@ -8785,7 +8783,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8785
8783
  return __p;
8786
8784
  }
8787
8785
 
8788
- function template$w(data) {
8786
+ function template$v(data) {
8789
8787
  var __t,
8790
8788
  __p = '';
8791
8789
 
@@ -8794,7 +8792,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8794
8792
  }
8795
8793
 
8796
8794
  var ImporterSelectView = Marionette.ItemView.extend({
8797
- template: template$w,
8795
+ template: template$v,
8798
8796
  className: 'importer_select',
8799
8797
  tagName: 'li',
8800
8798
  events: {
@@ -8810,7 +8808,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8810
8808
  }
8811
8809
  });
8812
8810
  var ChooseImporterView = Marionette.ItemView.extend({
8813
- template: template$v,
8811
+ template: template$u,
8814
8812
  className: 'choose_importer editor dialog',
8815
8813
  mixins: [dialogView],
8816
8814
  ui: {
@@ -8845,7 +8843,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8845
8843
  app.dialogRegion.show(new ChooseImporterView(options).render());
8846
8844
  };
8847
8845
 
8848
- function template$x(data) {
8846
+ function template$w(data) {
8849
8847
  var __t,
8850
8848
  __p = '';
8851
8849
 
@@ -8853,7 +8851,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8853
8851
  return __p;
8854
8852
  }
8855
8853
 
8856
- function template$y(data) {
8854
+ function template$x(data) {
8857
8855
  var __t,
8858
8856
  __p = '';
8859
8857
 
@@ -8863,9 +8861,6 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8863
8861
 
8864
8862
  var UploadableFilesView = Marionette.View.extend({
8865
8863
  className: 'uploadable_files',
8866
- ui: {
8867
- header: 'h2'
8868
- },
8869
8864
  initialize: function initialize() {
8870
8865
  this.uploadableFiles = this.collection.uploadable();
8871
8866
 
@@ -8909,7 +8904,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8909
8904
  }
8910
8905
  });
8911
8906
  var ConfirmFileImportUploadView = Marionette.Layout.extend({
8912
- template: template$y,
8907
+ template: template$x,
8913
8908
  className: 'confirm_upload editor dialog',
8914
8909
  mixins: [dialogView],
8915
8910
  regions: {
@@ -8979,7 +8974,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
8979
8974
  };
8980
8975
 
8981
8976
  var FilesImporterView = Marionette.ItemView.extend({
8982
- template: template$x,
8977
+ template: template$w,
8983
8978
  className: 'files_importer editor dialog',
8984
8979
  mixins: [dialogView],
8985
8980
  ui: {
@@ -9066,7 +9061,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9066
9061
  app.dialogRegion.show(new FilesImporterView(options).render());
9067
9062
  };
9068
9063
 
9069
- function template$z(data) {
9064
+ function template$y(data) {
9070
9065
  var __t,
9071
9066
  __p = '';
9072
9067
 
@@ -9075,7 +9070,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9075
9070
  }
9076
9071
 
9077
9072
  var SelectButtonView = Marionette.ItemView.extend({
9078
- template: template$z,
9073
+ template: template$y,
9079
9074
  className: 'select_button',
9080
9075
  ui: {
9081
9076
  button: 'button',
@@ -9110,7 +9105,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9110
9105
  }
9111
9106
  });
9112
9107
 
9113
- function template$A(data) {
9108
+ function template$z(data) {
9114
9109
  var __t,
9115
9110
  __p = '';
9116
9111
 
@@ -9119,7 +9114,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9119
9114
  }
9120
9115
 
9121
9116
  var FilesView = Marionette.ItemView.extend({
9122
- template: template$A,
9117
+ template: template$z,
9123
9118
  className: 'manage_files',
9124
9119
  events: {
9125
9120
  'click a.back': 'goBack',
@@ -9204,14 +9199,14 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9204
9199
  }
9205
9200
  });
9206
9201
 
9207
- function template$B(data) {
9202
+ function template$A(data) {
9208
9203
  var __p = '';
9209
9204
  __p += '<div class="quota_state">\n</div>\n<div class="outlet">\n</div>\n<div class="exhausted_message">\n</div>\n';
9210
9205
  return __p;
9211
9206
  }
9212
9207
 
9213
9208
  var EntryPublicationQuotaDecoratorView = Marionette.Layout.extend({
9214
- template: template$B,
9209
+ template: template$A,
9215
9210
  className: 'quota_decorator',
9216
9211
  regions: {
9217
9212
  outlet: '.outlet'
@@ -9252,16 +9247,16 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9252
9247
  }
9253
9248
  });
9254
9249
 
9255
- function template$C(data) {
9250
+ function template$B(data) {
9256
9251
  var __t,
9257
9252
  __p = '';
9258
9253
 
9259
- __p += '<div class="files_pending notice">\n <p>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.files_pending_notice')) == null ? '' : __t) + '</p>\n <p><a href="#files">' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.show_files')) == null ? '' : __t) + '</a></p>\n</div>\n\n<div>\n <div class="published notice">\n <p>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.published_notice')) == null ? '' : __t) + '</p>\n <p><a href="" target="_blank">' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.view_revisions')) == null ? '' : __t) + '</a></p>\n </div>\n\n <div class="not_published notice">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.not_published_notice')) == null ? '' : __t) + '\n </div>\n\n <h2>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.publish_current')) == null ? '' : __t) + '</h2>\n\n <div class="radio_input">\n <input id="publish_entry_forever" type="radio" name="mode" value="publish_forever">\n <label for="publish_entry_forever">' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.unlimited')) == null ? '' : __t) + '</label>\n </div>\n\n <div class="radio_input">\n <input id="publish_entry_until" type="radio" name="mode" value="publish_until">\n <label for="publish_entry_until">' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.until_including')) == null ? '' : __t) + '</label>\n </div>\n\n <div class="publish_until_fields disabled">\n <label>\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.date')) == null ? '' : __t) + '\n <input type="text" name="publish_until">\n </label>\n\n <label>\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.time')) == null ? '' : __t) + '\n <input type="text" name="publish_until_time" value="00:00">\n </label>\n </div>\n\n <div class="check_box_input">\n <input id="publish_password_protected" type="checkbox" name="password_protected" value="1">\n <label for="publish_password_protected">\n <span class="name">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.password_protected')) == null ? '' : __t) + '\n </span>\n <span class="inline_help">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.password_help')) == null ? '' : __t) + '\n </span>\n </label>\n </div>\n\n <div class="password_fields disabled">\n <label>\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.user_name')) == null ? '' : __t) + '\n <input type="text" name="user_name" disabled>\n </label>\n\n <label>\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.password')) == null ? '' : __t) + '\n <input type="text" name="password">\n </label>\n\n <p class="already_published_with_password">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.already_published_with_password_help')) == null ? '' : __t) + '\n </p>\n <p class="previously_published_with_password">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.previously_published_with_password_help')) == null ? '' : __t) + '\n </p>\n <p class="already_published_without_password">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.already_published_without_password_help')) == null ? '' : __t) + '\n </p>\n </div>\n\n <button class="save" disabled>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.publish')) == null ? '' : __t) + '</a>\n</div>\n\n<div class="success notice">\n <p>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.publish_success')) == null ? '' : __t) + '</p>\n <p>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.published_url_hint')) == null ? '' : __t) + '</p>\n <p><a href="" target="_blank"></a></p>\n</div>\n';
9254
+ __p += '<div class="files_pending notice">\n <p>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.files_pending_notice')) == null ? '' : __t) + '</p>\n <p><a href="#files">' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.show_files')) == null ? '' : __t) + '</a></p>\n</div>\n\n<div>\n <div class="published notice">\n <p>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.published_notice')) == null ? '' : __t) + '</p>\n <p><a href="" target="_blank">' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.view_revisions')) == null ? '' : __t) + '</a></p>\n </div>\n\n <div class="not_published notice">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.not_published_notice')) == null ? '' : __t) + '\n </div>\n\n <h2 class="sidebar-header">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.publish_current')) == null ? '' : __t) + '\n </h2>\n\n <div class="radio_input">\n <input id="publish_entry_forever" type="radio" name="mode" value="publish_forever">\n <label for="publish_entry_forever">' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.unlimited')) == null ? '' : __t) + '</label>\n </div>\n\n <div class="radio_input">\n <input id="publish_entry_until" type="radio" name="mode" value="publish_until">\n <label for="publish_entry_until">' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.until_including')) == null ? '' : __t) + '</label>\n </div>\n\n <div class="publish_until_fields disabled">\n <label>\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.date')) == null ? '' : __t) + '\n <input type="text" name="publish_until">\n </label>\n\n <label>\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.time')) == null ? '' : __t) + '\n <input type="text" name="publish_until_time" value="00:00">\n </label>\n </div>\n\n <div class="check_box_input">\n <input id="publish_password_protected" type="checkbox" name="password_protected" value="1">\n <label for="publish_password_protected">\n <span class="name">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.password_protected')) == null ? '' : __t) + '\n </span>\n <span class="inline_help">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.password_help')) == null ? '' : __t) + '\n </span>\n </label>\n </div>\n\n <div class="password_fields disabled">\n <label>\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.user_name')) == null ? '' : __t) + '\n <input type="text" name="user_name" disabled>\n </label>\n\n <label>\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.password')) == null ? '' : __t) + '\n <input type="text" name="password">\n </label>\n\n <p class="already_published_with_password">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.already_published_with_password_help')) == null ? '' : __t) + '\n </p>\n <p class="previously_published_with_password">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.previously_published_with_password_help')) == null ? '' : __t) + '\n </p>\n <p class="already_published_without_password">\n ' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.already_published_without_password_help')) == null ? '' : __t) + '\n </p>\n </div>\n\n <button class="save" disabled>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.publish')) == null ? '' : __t) + '</a>\n</div>\n\n<div class="success notice">\n <p>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.publish_success')) == null ? '' : __t) + '</p>\n <p>' + ((__t = I18n.t('pageflow.editor.templates.publish_entry.published_url_hint')) == null ? '' : __t) + '</p>\n <p><a href="" target="_blank"></a></p>\n</div>\n';
9260
9255
  return __p;
9261
9256
  }
9262
9257
 
9263
9258
  var PublishEntryView = Marionette.ItemView.extend({
9264
- template: template$C,
9259
+ template: template$B,
9265
9260
  className: 'publish_entry',
9266
9261
  ui: {
9267
9262
  publishUntilFields: '.publish_until_fields',
@@ -9644,7 +9639,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9644
9639
  }
9645
9640
  });
9646
9641
 
9647
- function template$D(data) {
9642
+ function template$C(data) {
9648
9643
  var __t,
9649
9644
  __p = '';
9650
9645
 
@@ -9653,7 +9648,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9653
9648
  }
9654
9649
 
9655
9650
  var HelpView = Marionette.ItemView.extend({
9656
- template: template$D,
9651
+ template: template$C,
9657
9652
  className: 'help',
9658
9653
  ui: {
9659
9654
  placeholder: '.placeholder',
@@ -9729,7 +9724,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9729
9724
  className: 'model_thumbnail page_thumbnail'
9730
9725
  });
9731
9726
 
9732
- function template$E(data) {
9727
+ function template$D(data) {
9733
9728
  var __t,
9734
9729
  __p = '';
9735
9730
 
@@ -9738,7 +9733,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9738
9733
  }
9739
9734
 
9740
9735
  var PageLinkItemView = Marionette.ItemView.extend({
9741
- template: template$E,
9736
+ template: template$D,
9742
9737
  tagName: 'li',
9743
9738
  className: 'page_link',
9744
9739
  ui: {
@@ -9788,7 +9783,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9788
9783
  }
9789
9784
  });
9790
9785
 
9791
- function template$F(data) {
9786
+ function template$E(data) {
9792
9787
  var __t,
9793
9788
  __p = '';
9794
9789
 
@@ -9797,7 +9792,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9797
9792
  }
9798
9793
 
9799
9794
  var PageLinksView = Marionette.ItemView.extend({
9800
- template: template$F,
9795
+ template: template$E,
9801
9796
  className: 'page_links',
9802
9797
  ui: {
9803
9798
  links: 'ul.links',
@@ -9833,14 +9828,14 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9833
9828
  }
9834
9829
  });
9835
9830
 
9836
- function template$G(data) {
9831
+ function template$F(data) {
9837
9832
  var __p = '';
9838
9833
  __p += '<div class="emulation_mode_button-wrapper"\n data-tooltip-align="top center">\n <div class="emulation_mode_button-desktop_icon"/>\n <div class="emulation_mode_button-phone_icon"/>\n <div class="emulation_mode_button-track" />\n <div class="emulation_mode_button-thumb" />\n</div>\n';
9839
9834
  return __p;
9840
9835
  }
9841
9836
 
9842
9837
  var EmulationModeButtonView = Marionette.ItemView.extend({
9843
- template: template$G,
9838
+ template: template$F,
9844
9839
  className: 'emulation_mode_button',
9845
9840
  mixins: [tooltipContainer],
9846
9841
  ui: {
@@ -9874,7 +9869,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9874
9869
  }
9875
9870
  });
9876
9871
 
9877
- function template$H(data) {
9872
+ function template$G(data) {
9878
9873
  var __t,
9879
9874
  __p = '';
9880
9875
 
@@ -9883,7 +9878,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9883
9878
  }
9884
9879
 
9885
9880
  var HelpButtonView = Marionette.ItemView.extend({
9886
- template: template$H,
9881
+ template: template$G,
9887
9882
  className: 'help_button',
9888
9883
  events: {
9889
9884
  'click': function click() {
@@ -9920,7 +9915,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9920
9915
  }
9921
9916
  });
9922
9917
 
9923
- function template$I(data) {
9918
+ function template$H(data) {
9924
9919
  var __t,
9925
9920
  __p = '';
9926
9921
 
@@ -9929,7 +9924,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
9929
9924
  }
9930
9925
 
9931
9926
  var ListItemView = Marionette.ItemView.extend({
9932
- template: template$I,
9927
+ template: template$H,
9933
9928
  tagName: 'li',
9934
9929
  className: 'list_item',
9935
9930
  ui: {
@@ -10003,7 +9998,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10003
9998
  }
10004
9999
  });
10005
10000
 
10006
- function template$J(data) {
10001
+ function template$I(data) {
10007
10002
  var __t,
10008
10003
  __p = '';
10009
10004
 
@@ -10012,7 +10007,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10012
10007
  }
10013
10008
 
10014
10009
  var LockedView = Marionette.ItemView.extend({
10015
- template: template$J,
10010
+ template: template$I,
10016
10011
  className: 'locked checking',
10017
10012
  ui: {
10018
10013
  breakButton: '.break',
@@ -10052,25 +10047,12 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10052
10047
  }
10053
10048
  });
10054
10049
  var EditorView = Backbone.View.extend({
10055
- scrollNavigationKeys: _.values({
10056
- pageUp: 33,
10057
- pageDown: 34,
10058
- end: 35,
10059
- home: 36,
10060
- left: 37,
10061
- up: 38,
10062
- right: 39,
10063
- down: 40
10064
- }),
10065
10050
  events: {
10066
10051
  'click a': function clickA(event) {
10067
10052
  // prevent default for all links
10068
10053
  if (!$(event.currentTarget).attr('target') && !$(event.currentTarget).attr('download') && !$(event.currentTarget).attr('href')) {
10069
10054
  return false;
10070
10055
  }
10071
- },
10072
- 'keydown sidebar': function keydownSidebar(event) {
10073
- this.preventScrollingPreviewWhileFocusInSidebar(event);
10074
10056
  }
10075
10057
  },
10076
10058
  initialize: function initialize() {
@@ -10098,11 +10080,6 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10098
10080
  model: state.editLock
10099
10081
  }).render().el);
10100
10082
  this.$el.append(new HelpView().render().el);
10101
- },
10102
- preventScrollingPreviewWhileFocusInSidebar: function preventScrollingPreviewWhileFocusInSidebar(event) {
10103
- if (this.scrollNavigationKeys.indexOf(event.which) >= 0) {
10104
- event.stopPropagation();
10105
- }
10106
10083
  }
10107
10084
  });
10108
10085
  var BackgroundImageEmbeddedView = Marionette.View.extend({
@@ -10202,7 +10179,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10202
10179
  }
10203
10180
  });
10204
10181
 
10205
- function template$K(data) {
10182
+ function template$J(data) {
10206
10183
  var __t,
10207
10184
  __p = '';
10208
10185
 
@@ -10215,7 +10192,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10215
10192
  var NotificationsView = Marionette.ItemView.extend({
10216
10193
  className: 'notifications',
10217
10194
  tagName: 'ul',
10218
- template: template$K,
10195
+ template: template$J,
10219
10196
  ui: {
10220
10197
  failedCount: '.failed .count',
10221
10198
  uploadingCount: '.uploading .count',
@@ -10302,9 +10279,6 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10302
10279
  });
10303
10280
  var NestedFilesView = Marionette.View.extend({
10304
10281
  className: 'nested_files',
10305
- ui: {
10306
- header: 'h2'
10307
- },
10308
10282
  initialize: function initialize() {
10309
10283
  if (!this.options.selection.has('file')) {
10310
10284
  this.options.selection.set('file', this.collection.first());
@@ -10376,7 +10350,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10376
10350
  }, 200)
10377
10351
  });
10378
10352
 
10379
- function template$L(data) {
10353
+ function template$K(data) {
10380
10354
  var __t,
10381
10355
  __p = '';
10382
10356
 
@@ -10385,7 +10359,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10385
10359
  }
10386
10360
 
10387
10361
  var TextTracksView = Marionette.Layout.extend({
10388
- template: template$L,
10362
+ template: template$K,
10389
10363
  className: 'text_tracks',
10390
10364
  regions: {
10391
10365
  selectedFileRegion: '.selected_file_region'
@@ -10448,7 +10422,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10448
10422
  }
10449
10423
  });
10450
10424
 
10451
- function template$M(data) {
10425
+ function template$L(data) {
10452
10426
  var __p = '';
10453
10427
  __p += '<label>\n <span class="list_label"></span>\n</label>\n\n<ul class="list_items"></ul>\n';
10454
10428
  return __p;
@@ -10495,7 +10469,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10495
10469
 
10496
10470
 
10497
10471
  var ListView = Marionette.ItemView.extend({
10498
- template: template$M,
10472
+ template: template$L,
10499
10473
  className: 'list',
10500
10474
  ui: {
10501
10475
  label: '.list_label',
@@ -10524,7 +10498,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10524
10498
  }
10525
10499
  });
10526
10500
  var ConfirmUploadView = Marionette.Layout.extend({
10527
- template: template$y,
10501
+ template: template$x,
10528
10502
  className: 'confirm_upload editor dialog',
10529
10503
  mixins: [dialogView],
10530
10504
  regions: {
@@ -10944,7 +10918,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
10944
10918
  state.entry = editor.createEntryModel(options, {
10945
10919
  widgets: widgets
10946
10920
  });
10947
- state.theming = new Theming(options.theming);
10921
+ state.site = new Site(options.site);
10948
10922
  state.account = new Backbone.Model(options.account);
10949
10923
  widgets.subject = state.entry;
10950
10924
  state.storylineOrdering = new StorylineOrdering(state.storylines, state.pages);
@@ -11058,7 +11032,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11058
11032
  this.chapters = options.chapters;
11059
11033
  this.pages = options.pages;
11060
11034
  },
11061
- getThemingOption: function getThemingOption(name) {
11035
+ getSiteOption: function getSiteOption(name) {
11062
11036
  return this.entry.getTheme().get(name);
11063
11037
  },
11064
11038
  getFile: function getFile(collectionName, permaId) {
@@ -11073,6 +11047,10 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11073
11047
  var chapter = this.chapters.get(id);
11074
11048
  return chapter ? chapter.configuration.attributes : {};
11075
11049
  },
11050
+ getChapterPosition: function getChapterPosition(id) {
11051
+ var chapter = this.chapters.get(id);
11052
+ return this.chapters.indexOf(chapter);
11053
+ },
11076
11054
  getChapterPagePermaIds: function getChapterPagePermaIds(id) {
11077
11055
  var chapter = this.chapters.get(id);
11078
11056
  return chapter ? chapter.pages.pluck('perma_id') : [];
@@ -11108,7 +11086,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11108
11086
  }
11109
11087
  });
11110
11088
 
11111
- function template$N(data) {
11089
+ function template$M(data) {
11112
11090
  var __t, __p = '';
11113
11091
  __p += '<a href="">\n <span class="type_pictogram"></span>\n <span class="page_thumbnail"></span>\n <span class="title"></span>\n <span class="failure_icon" title="' +
11114
11092
  ((__t = ( I18n.t('pageflow.editor.templates.page_item.save_error') )) == null ? '' : __t) +
@@ -11118,7 +11096,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11118
11096
 
11119
11097
  var PageItemView = Marionette.ItemView.extend({
11120
11098
  tagName: 'li',
11121
- template: template$N,
11099
+ template: template$M,
11122
11100
  ui: {
11123
11101
  title: '.title',
11124
11102
  pictogram: '.type_pictogram',
@@ -11183,7 +11161,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11183
11161
  }
11184
11162
  });
11185
11163
 
11186
- function template$O(data) {
11164
+ function template$N(data) {
11187
11165
  var __t, __p = '';
11188
11166
  __p += '<a class="edit_chapter" href="">\n <span class="drag_handle"></span>\n <span class="number"></span>\n <span class="title"></span>\n <span class="failure_icon" title=' +
11189
11167
  ((__t = ( I18n.t('pageflow.editor.templates.chapter_item.save_error') )) == null ? '' : __t) +
@@ -11195,7 +11173,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11195
11173
 
11196
11174
  var ChapterItemView = Marionette.ItemView.extend({
11197
11175
  tagName: 'li',
11198
- template: template$O,
11176
+ template: template$N,
11199
11177
  ui: {
11200
11178
  title: '> a > .title',
11201
11179
  number: '> a > .number',
@@ -11240,18 +11218,18 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11240
11218
  }
11241
11219
  });
11242
11220
 
11243
- function template$P(data) {
11221
+ function template$O(data) {
11244
11222
  var __t, __p = '';
11245
- __p += '<h2>' +
11223
+ __p += '<h2 class="sidebar-header">\n ' +
11246
11224
  ((__t = ( I18n.t('pageflow.editor.templates.storyline_outline.header') )) == null ? '' : __t) +
11247
- '</h2>\n<ul class="storyline_outline_chapters chapters outline"></ul>\n\n<a class="add_chapter" href="">' +
11225
+ '\n</h2>\n<ul class="storyline_outline_chapters chapters outline"></ul>\n\n<a class="add_chapter" href="">' +
11248
11226
  ((__t = ( I18n.t('pageflow.editor.templates.storyline_outline.new_chapter') )) == null ? '' : __t) +
11249
11227
  '</a>\n';
11250
11228
  return __p
11251
11229
  }
11252
11230
 
11253
11231
  var StorylineOutlineView = Marionette.Layout.extend({
11254
- template: template$P,
11232
+ template: template$O,
11255
11233
  className: 'storyline_outline',
11256
11234
  ui: {
11257
11235
  chapters: 'ul.storyline_outline_chapters'
@@ -11279,7 +11257,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11279
11257
  }
11280
11258
  });
11281
11259
 
11282
- function template$Q(data) {
11260
+ function template$P(data) {
11283
11261
  var __t, __p = '';
11284
11262
  __p += '<div class="storyline_picker_storylines">\n <div class="storyline_picker_select_region"></div>\n <a href="" class="add_storyline" title="' +
11285
11263
  ((__t = ( I18n.t('pageflow.editor.templates.storyline_picker.add') )) == null ? '' : __t) +
@@ -11290,7 +11268,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11290
11268
  }
11291
11269
 
11292
11270
  var StorylinePickerView = Marionette.Layout.extend({
11293
- template: template$Q,
11271
+ template: template$P,
11294
11272
  className: 'storyline_picker',
11295
11273
  regions: {
11296
11274
  selectRegion: '.storyline_picker_select_region',
@@ -11394,7 +11372,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11394
11372
  }, options));
11395
11373
  };
11396
11374
 
11397
- function template$R(data) {
11375
+ function template$Q(data) {
11398
11376
  var __t, __p = '';
11399
11377
  __p += '<h2>' +
11400
11378
  ((__t = ( I18n.t('pageflow.editor.blank_entry.header') )) == null ? '' : __t) +
@@ -11413,7 +11391,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11413
11391
  }
11414
11392
 
11415
11393
  var BlankEntryView = Marionette.ItemView.extend({
11416
- template: template$R,
11394
+ template: template$Q,
11417
11395
  className: 'blank_entry'
11418
11396
  });
11419
11397
 
@@ -11510,7 +11488,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11510
11488
  }
11511
11489
  });
11512
11490
 
11513
- function template$S(data) {
11491
+ function template$R(data) {
11514
11492
  var __t, __p = '';
11515
11493
  __p += '<div class="container">\n <div class="header"></div>\n <div class="overview"></div>\n\n <div class="entry"></div>\n</div>\n<div class="navigation_disabled_hint">\n ' +
11516
11494
  ((__t = ( I18n.t('pageflow.editor.templates.entry_preview.navigation_disabled_hint') )) == null ? '' : __t) +
@@ -11519,7 +11497,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11519
11497
  }
11520
11498
 
11521
11499
  var EntryPreviewView = Marionette.ItemView.extend({
11522
- template: template$S,
11500
+ template: template$R,
11523
11501
  className: 'entry_preview',
11524
11502
  ui: {
11525
11503
  container: '> .container',
@@ -11673,7 +11651,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11673
11651
  var appearanceInputs = function appearanceInputs(tabView, options) {
11674
11652
  var entry = options.entry;
11675
11653
  var theme = entry.getTheme();
11676
- var theming = options.theming;
11654
+ var site = options.site;
11677
11655
  tabView.input('manual_start', CheckBoxInputView);
11678
11656
  tabView.input('emphasize_chapter_beginning', CheckBoxInputView);
11679
11657
  tabView.input('emphasize_new_pages', CheckBoxInputView);
@@ -11688,13 +11666,13 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11688
11666
 
11689
11667
  if (theme.hasHomeButton()) {
11690
11668
  tabView.input('home_url', TextInputView, {
11691
- placeholder: theming.get('pretty_url'),
11669
+ placeholder: site.get('pretty_url'),
11692
11670
  visibleBinding: 'home_button_enabled'
11693
11671
  });
11694
11672
  }
11695
11673
  };
11696
11674
 
11697
- function template$T(data) {
11675
+ function template$S(data) {
11698
11676
  var __t, __p = '';
11699
11677
  __p += '<div class="box">\n <h1 class="dialog-header">\n ' +
11700
11678
  ((__t = ( I18n.t('pageflow.editor.templates.page_selection.title') )) == null ? '' : __t) +
@@ -11705,7 +11683,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11705
11683
  }
11706
11684
 
11707
11685
  var PageSelectionView = Marionette.ItemView.extend({
11708
- template: template$T,
11686
+ template: template$S,
11709
11687
  className: 'page_selection dialog editor',
11710
11688
  mixins: [dialogView],
11711
11689
  ui: {
@@ -11758,7 +11736,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11758
11736
  }
11759
11737
  });
11760
11738
 
11761
- function template$U(data) {
11739
+ function template$T(data) {
11762
11740
  var __t, __p = '';
11763
11741
  __p += '<a class="back">' +
11764
11742
  ((__t = ( I18n.t('pageflow.editor.templates.edit_chapter.outline') )) == null ? '' : __t) +
@@ -11773,7 +11751,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11773
11751
  }
11774
11752
 
11775
11753
  var EditChapterView = Marionette.Layout.extend({
11776
- template: template$U,
11754
+ template: template$T,
11777
11755
  className: 'edit_chapter',
11778
11756
  mixins: [failureIndicatingView],
11779
11757
  regions: {
@@ -11815,7 +11793,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11815
11793
  }
11816
11794
  });
11817
11795
 
11818
- function template$V(data) {
11796
+ function template$U(data) {
11819
11797
  var __t, __p = '';
11820
11798
  __p += '<a class="back">' +
11821
11799
  ((__t = ( I18n.t('pageflow.editor.templates.edit_page_link.back') )) == null ? '' : __t) +
@@ -11826,7 +11804,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11826
11804
  }
11827
11805
 
11828
11806
  var EditPageLinkView = Marionette.Layout.extend({
11829
- template: template$V,
11807
+ template: template$U,
11830
11808
  regions: {
11831
11809
  formContainer: '.form_container'
11832
11810
  },
@@ -11865,7 +11843,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11865
11843
  }
11866
11844
  });
11867
11845
 
11868
- function template$W(data) {
11846
+ function template$V(data) {
11869
11847
  var __t, __p = '';
11870
11848
  __p += '<a class="back">' +
11871
11849
  ((__t = ( I18n.t('pageflow.editor.templates.edit_page.outline') )) == null ? '' : __t) +
@@ -11880,7 +11858,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11880
11858
  }
11881
11859
 
11882
11860
  var EditPageView = Marionette.Layout.extend({
11883
- template: template$W,
11861
+ template: template$V,
11884
11862
  className: 'edit_page',
11885
11863
  mixins: [failureIndicatingView],
11886
11864
  regions: {
@@ -11950,7 +11928,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11950
11928
  }
11951
11929
  });
11952
11930
 
11953
- function template$X(data) {
11931
+ function template$W(data) {
11954
11932
  var __t, __p = '';
11955
11933
  __p += '<a class="back">' +
11956
11934
  ((__t = ( I18n.t('pageflow.editor.templates.edit_storyline.outline') )) == null ? '' : __t) +
@@ -11965,7 +11943,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
11965
11943
  }
11966
11944
 
11967
11945
  var EditStorylineView = Marionette.Layout.extend({
11968
- template: template$X,
11946
+ template: template$W,
11969
11947
  className: 'edit_storyline',
11970
11948
  mixins: [failureIndicatingView, tooltipContainer],
11971
11949
  regions: {
@@ -12324,6 +12302,25 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
12324
12302
  }
12325
12303
  });
12326
12304
 
12305
+ editor.addInitializer(function () {
12306
+ var scrollNavigationKeys = _.values({
12307
+ pageUp: 33,
12308
+ pageDown: 34,
12309
+ end: 35,
12310
+ home: 36,
12311
+ left: 37,
12312
+ up: 38,
12313
+ right: 39,
12314
+ down: 40
12315
+ });
12316
+
12317
+ $('sidebar').on('keydown', function (event) {
12318
+ if (scrollNavigationKeys.indexOf(event.which) >= 0) {
12319
+ event.stopPropagation();
12320
+ }
12321
+ });
12322
+ });
12323
+
12327
12324
  editor.addInitializer(function (options) {
12328
12325
  var KEY_A = 65;
12329
12326
  var KEY_X = 88;
@@ -12519,6 +12516,7 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
12519
12516
  exports.SidebarController = SidebarController;
12520
12517
  exports.SidebarFooterView = SidebarFooterView;
12521
12518
  exports.SidebarRouter = SidebarRouter;
12519
+ exports.Site = Site;
12522
12520
  exports.SliderInputView = SliderInputView;
12523
12521
  exports.SortableCollectionView = SortableCollectionView;
12524
12522
  exports.StaticThumbnailView = StaticThumbnailView;
@@ -12546,7 +12544,6 @@ var pageflow_paged = (function (exports, Backbone, _, Marionette, $, I18n$1, Chi
12546
12544
  exports.ThemeInputView = ThemeInputView;
12547
12545
  exports.ThemeItemView = ThemeItemView;
12548
12546
  exports.ThemesCollection = ThemesCollection;
12549
- exports.Theming = Theming;
12550
12547
  exports.TooltipView = TooltipView;
12551
12548
  exports.UnmatchedUploadError = UnmatchedUploadError;
12552
12549
  exports.UploadError = UploadError;