pageflow 0.6.0 → 0.7.0
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.
- checksums.yaml +8 -8
- data/admins/pageflow/entry.rb +8 -8
- data/admins/pageflow/revisions.rb +1 -1
- data/admins/pageflow/user.rb +24 -20
- data/app/assets/images/pageflow/scroll_down_indicator.png +0 -0
- data/app/assets/images/pageflow/scroll_down_indicator_invert.png +0 -0
- data/app/assets/images/pageflow/touch_indicator.png +0 -0
- data/app/assets/images/pageflow/touch_indicator_invert.png +0 -0
- data/app/assets/javascripts/pageflow/audio_player.js +8 -1
- data/app/assets/javascripts/pageflow/audio_player/media_events.js +27 -0
- data/app/assets/javascripts/pageflow/base.js +2 -1
- data/app/assets/javascripts/pageflow/editor/api.js +15 -0
- data/app/assets/javascripts/pageflow/editor/base.js +17 -1
- data/app/assets/javascripts/pageflow/editor/controllers/sidebar_controller.js +9 -1
- data/app/assets/javascripts/pageflow/editor/initializers/setup_help_entries.js +5 -0
- data/app/assets/javascripts/pageflow/editor/models/edit_lock_container.js +30 -9
- data/app/assets/javascripts/pageflow/editor/models/entry.js +8 -0
- data/app/assets/javascripts/pageflow/editor/models/file_stage.js +1 -1
- data/app/assets/javascripts/pageflow/editor/models/mixins/transient_references.js +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/back_button_decorator.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning.jst.ejs +5 -5
- data/app/assets/javascripts/pageflow/editor/templates/blank_entry.jst.ejs +6 -6
- data/app/assets/javascripts/pageflow/editor/templates/chapter_item.jst.ejs +2 -2
- data/app/assets/javascripts/pageflow/editor/templates/confirm_encoding.jst.ejs +7 -6
- data/app/assets/javascripts/pageflow/editor/templates/confirmable_file_item.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/edit_chapter.jst.ejs +4 -4
- data/app/assets/javascripts/pageflow/editor/templates/edit_entry.jst.ejs +7 -7
- data/app/assets/javascripts/pageflow/editor/templates/edit_meta_data.jst.ejs +3 -3
- data/app/assets/javascripts/pageflow/editor/templates/edit_page.jst.ejs +4 -4
- data/app/assets/javascripts/pageflow/editor/templates/embedded/page_link.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/file_item.jst.ejs +8 -8
- data/app/assets/javascripts/pageflow/editor/templates/files.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/files_blank_slate.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/files_explorer.jst.ejs +3 -3
- data/app/assets/javascripts/pageflow/editor/templates/files_explorer_blank_slate.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/files_gallery_blank_slate.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/help.jst.ejs +9 -0
- data/app/assets/javascripts/pageflow/editor/templates/help_button.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/loading.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/locked.jst.ejs +4 -4
- data/app/assets/javascripts/pageflow/editor/templates/notifications.jst.ejs +6 -6
- data/app/assets/javascripts/pageflow/editor/templates/other_entries_blank_slate.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/page_item.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/publish_entry.jst.ejs +13 -13
- data/app/assets/javascripts/pageflow/editor/templates/select_button.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/chapter_item_view.js +2 -2
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio_loop.js +0 -3
- data/app/assets/javascripts/pageflow/editor/views/edit_chapter_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/edit_meta_data_view.js +7 -0
- data/app/assets/javascripts/pageflow/editor/views/edit_page_view.js +11 -2
- data/app/assets/javascripts/pageflow/editor/views/editor_view.js +4 -4
- data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +4 -1
- data/app/assets/javascripts/pageflow/editor/views/entry_publication_quota_decorator_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/files_explorer_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/files_view.js +4 -4
- data/app/assets/javascripts/pageflow/editor/views/help_view.js +37 -24
- data/app/assets/javascripts/pageflow/editor/views/locked_view.js +4 -2
- data/app/assets/javascripts/pageflow/editor/views/page_item_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/page_preview_view.js +7 -0
- data/app/assets/javascripts/pageflow/editor/views/publish_entry_view.js +8 -1
- data/app/assets/javascripts/pageflow/links.js +42 -0
- data/app/assets/javascripts/pageflow/page_types/audio.js +3 -1
- data/app/assets/javascripts/pageflow/page_types/video.js +1 -0
- data/app/assets/javascripts/pageflow/ready.js +1 -20
- data/app/assets/javascripts/pageflow/ui.js +2 -2
- data/app/assets/javascripts/pageflow/ui/templates/inputs/file_input.jst.ejs +3 -3
- data/app/assets/javascripts/pageflow/ui/templates/inputs/page_reference.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/ui/templates/inputs/text_area_input.jst.ejs +7 -7
- data/app/assets/javascripts/pageflow/ui/views/collection_view.js +10 -1
- data/app/assets/javascripts/pageflow/ui/views/configuration_editor_view.js +1 -1
- data/app/assets/javascripts/pageflow/ui/views/inputs/check_box_input_view.js +5 -1
- data/app/assets/javascripts/pageflow/ui/views/inputs/extended_select_input_view.js +106 -0
- data/app/assets/javascripts/pageflow/ui/views/inputs/file_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/ui/views/inputs/proxy_url_input_view.js +2 -2
- data/app/assets/javascripts/pageflow/ui/views/inputs/select_input_view.js +50 -14
- data/app/assets/javascripts/pageflow/ui/views/inputs/text_area_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/ui/views/inputs/text_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/ui/views/inputs/url_input_view.js +4 -4
- data/app/assets/javascripts/pageflow/ui/views/mixins/input_view.js +1 -1
- data/app/assets/javascripts/pageflow/video_player.js +5 -0
- data/app/assets/javascripts/pageflow/video_player/media_events.js +27 -0
- data/app/assets/stylesheets/pageflow/editor/base.css.scss +4 -0
- data/app/assets/stylesheets/pageflow/editor/help.css.scss +91 -45
- data/app/assets/stylesheets/pageflow/entries.css.scss +18 -5
- data/app/assets/stylesheets/pageflow/jquery_ui.css.scss +3 -2
- data/app/assets/stylesheets/pageflow/page.css.scss +23 -21
- data/app/assets/stylesheets/pageflow/subshare.css.scss +1 -1
- data/app/assets/stylesheets/pageflow/text_variants.css.scss +11 -2
- data/app/assets/stylesheets/pageflow/themes/default.css.scss +1 -41
- data/app/assets/stylesheets/pageflow/themes/default/base.css.scss +21 -0
- data/app/assets/stylesheets/pageflow/themes/default/overview.css.scss +16 -1
- data/app/assets/stylesheets/pageflow/themes/default/page.css.scss +5 -0
- data/app/assets/stylesheets/pageflow/themes/default/variables.css.scss +20 -0
- data/app/assets/stylesheets/pageflow/ui.css.scss +2 -0
- data/app/assets/stylesheets/pageflow/ui/input/extended_select_input.css.scss +105 -0
- data/app/controllers/concerns/pageflow/edit_locking.rb +2 -2
- data/app/controllers/concerns/pageflow/quota_verification.rb +1 -1
- data/app/controllers/pageflow/application_controller.rb +6 -2
- data/app/controllers/pageflow/editor/entries_controller.rb +5 -0
- data/app/controllers/pageflow/entries_controller.rb +3 -1
- data/app/controllers/pageflow/revisions_controller.rb +2 -0
- data/app/helpers/pageflow/admin/locales_helper.rb +11 -0
- data/app/helpers/pageflow/admin/users_helper.rb +1 -1
- data/app/helpers/pageflow/entries_helper.rb +8 -2
- data/app/helpers/pageflow/file_thumbnails_helper.rb +1 -1
- data/app/helpers/pageflow/files_helper.rb +13 -0
- data/app/helpers/pageflow/help_entries_helper.rb +19 -0
- data/app/helpers/pageflow/render_json_helper.rb +11 -0
- data/app/mailers/pageflow/user_mailer.rb +4 -1
- data/app/models/pageflow/draft_entry.rb +1 -0
- data/app/models/pageflow/positioned_file.rb +45 -0
- data/app/models/pageflow/published_entry.rb +12 -1
- data/app/models/pageflow/revision.rb +4 -0
- data/app/models/pageflow/theming.rb +1 -1
- data/app/models/pageflow/thumbnail_file_resolver.rb +20 -12
- data/app/views/admin/entries/_attributes_table.html.arb +3 -3
- data/app/views/admin/entries/_links.html.arb +3 -3
- data/app/views/admin/revisions/_form.html.erb +1 -1
- data/app/views/admin/users/_form.html.erb +8 -2
- data/app/views/admin/users/delete_me.html.erb +3 -3
- data/app/views/admin/users/me.html.erb +11 -3
- data/app/views/components/pageflow/admin/entries_tab.rb +1 -1
- data/app/views/components/pageflow/admin/grouped_folder_list.rb +7 -7
- data/app/views/components/pageflow/admin/members_tab.rb +4 -4
- data/app/views/components/pageflow/admin/revisions_tab.rb +8 -8
- data/app/views/components/pageflow/admin/users_tab.rb +1 -1
- data/app/views/layouts/pageflow/application.html.erb +2 -2
- data/app/views/pageflow/config/_editor_seeds.json.jbuilder +1 -1
- data/app/views/pageflow/devise/mailer/reset_password_instructions.html.erb +6 -4
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +1 -1
- data/app/views/pageflow/editor/entries/_help_entries_seed.html.erb +6 -0
- data/app/views/pageflow/editor/entries/seed.json.erb +14 -0
- data/app/views/pageflow/editor/entry_publications/_published_message.html.erb +1 -0
- data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +3 -0
- data/app/views/pageflow/entries/_entry.html.erb +3 -3
- data/app/views/pageflow/entries/_ie8_hint.html.erb +2 -13
- data/app/views/pageflow/entries/_mobile_navigation.html.erb +6 -6
- data/app/views/pageflow/entries/_multimedia_alert.html.erb +5 -9
- data/app/views/pageflow/entries/_non_js_hint.html.erb +1 -1
- data/app/views/pageflow/entries/_skip_links.html.erb +3 -3
- data/app/views/pageflow/entries/edit.html.erb +5 -23
- data/app/views/pageflow/entries/navigation/_bar_bottom.html.erb +5 -5
- data/app/views/pageflow/entries/navigation/_bar_top.html.erb +15 -15
- data/app/views/pageflow/entries/navigation/_home_button.html.erb +2 -2
- data/app/views/pageflow/entries/overview/_chapter.html.erb +1 -1
- data/app/views/pageflow/entries/overview/_entry.html.erb +6 -4
- data/app/views/pageflow/entries/show.html.erb +2 -2
- data/app/views/pageflow/help_entries/_menu.html.erb +5 -0
- data/app/views/pageflow/help_entries/_menu_item.html.erb +7 -0
- data/app/views/pageflow/help_entries/_section.html.erb +3 -0
- data/app/views/pageflow/page_types/_page_type.json.jbuilder +1 -1
- data/app/views/pageflow/pages/_page.html.erb +1 -1
- data/app/views/pageflow/pages/_video_tag.html.erb +1 -1
- data/app/views/pageflow/pages/templates/_audio.html.erb +1 -1
- data/app/views/pageflow/pages/templates/_background_video.html.erb +1 -1
- data/app/views/pageflow/pages/templates/_video.html.erb +1 -1
- data/app/views/pageflow/social_share/_entry_meta_tags.html.erb +3 -0
- data/app/views/pageflow/social_share/_image_tags.html.erb +4 -0
- data/app/views/pageflow/social_share/_page_meta_tags.html.erb +3 -0
- data/app/views/pageflow/user_mailer/invitation.html.erb +4 -6
- data/app/views/pageflow/user_mailer/invitation.text.erb +5 -6
- data/config/initializers/help_entries.rb +17 -0
- data/config/locales/de.yml +1866 -2
- data/config/locales/en.yml +1800 -1
- data/config/routes.rb +2 -0
- data/db/migrate/20141128150305_add_locale_to_users.rb +5 -0
- data/db/migrate/20141208161030_add_locale_to_revisions.rb +5 -0
- data/lib/active_admin/patches/views/pages/base.rb +8 -0
- data/lib/generators/pageflow/{active_admin_menu/active_admin_menu_generator.rb → active_admin_initializer/active_admin_initializer_generator.rb} +3 -1
- data/lib/generators/pageflow/install/install_generator.rb +1 -1
- data/lib/pageflow.rb +6 -0
- data/lib/pageflow/built_in_page_type.rb +8 -0
- data/lib/pageflow/configuration.rb +29 -0
- data/lib/pageflow/engine.rb +8 -5
- data/lib/pageflow/help_entries.rb +55 -0
- data/lib/pageflow/help_entry.rb +19 -0
- data/lib/pageflow/page_type.rb +23 -33
- data/lib/pageflow/plugin.rb +13 -0
- data/lib/pageflow/user_mixin.rb +4 -0
- data/lib/pageflow/version.rb +1 -1
- data/vendor/assets/javascripts/jquery.ui.all.js +4 -0
- metadata +52 -39
- data/app/assets/javascripts/pageflow/editor/templates/help.jst.ejs.erb +0 -160
- data/config/locales/activeadmin.de.yml +0 -114
- data/config/locales/activerecord.de.yml +0 -182
- data/config/locales/admin/accounts.yml +0 -5
- data/config/locales/admin/entries.yml +0 -42
- data/config/locales/admin/folders.de.yml +0 -7
- data/config/locales/admin/revisions.yml +0 -4
- data/config/locales/admin/tabs.de.yml +0 -8
- data/config/locales/admin/themings.yml +0 -7
- data/config/locales/admin/users.yml +0 -26
- data/config/locales/admin/users/delete_me.de.yml +0 -7
- data/config/locales/admin/users/me.de.yml +0 -9
- data/config/locales/devise.de.yml +0 -72
- data/config/locales/devise.en.yml +0 -59
- data/config/locales/edit_locks.de.yml +0 -16
- data/config/locales/editor.de.yml +0 -64
- data/config/locales/editor/blank_entry.yml +0 -9
- data/config/locales/editor/quotas.de.yml +0 -4
- data/config/locales/formtastic.de.yml +0 -10
- data/config/locales/pageflow/audio.de.yml +0 -4
- data/config/locales/pageflow/editor/background_positioning.de.yml +0 -13
- data/config/locales/pageflow/editor/errors.de.yml +0 -6
- data/config/locales/pageflow/ui.de.yml +0 -6
- data/config/locales/pageflow/user_mailer.yml +0 -5
- data/config/locales/pageflow/widgets.de.yml +0 -14
- data/config/locales/quotas.de.yml +0 -3
- data/config/locales/rails.de.yml +0 -199
@@ -2,9 +2,6 @@ pageflow.ConfigurationEditorView.register('audio_loop', {
|
|
2
2
|
configure: function() {
|
3
3
|
this.tab('general', function() {
|
4
4
|
this.group('general');
|
5
|
-
|
6
|
-
this.input('additional_title', pageflow.TextInputView);
|
7
|
-
this.input('additional_description', pageflow.TextAreaInputView, {size: 'short'});
|
8
5
|
});
|
9
6
|
|
10
7
|
this.tab('files', function() {
|
@@ -21,7 +21,7 @@ pageflow.EditChapterView = Backbone.Marionette.Layout.extend({
|
|
21
21
|
},
|
22
22
|
|
23
23
|
destroy: function() {
|
24
|
-
if (confirm(
|
24
|
+
if (confirm(I18n.t('pageflow.editor.views.edit_chapter_view.confirm_destroy'))) {
|
25
25
|
this.model.destroy();
|
26
26
|
this.goBack();
|
27
27
|
}
|
@@ -24,6 +24,13 @@ pageflow.EditMetaDataView = Backbone.Marionette.Layout.extend({
|
|
24
24
|
|
25
25
|
configurationEditor.tab('general', function() {
|
26
26
|
this.input('title', pageflow.TextInputView);
|
27
|
+
this.input('locale', pageflow.SelectInputView, {
|
28
|
+
values: pageflow.config.availableLocales,
|
29
|
+
texts: _.map(pageflow.config.availableLocales, function(locale) {
|
30
|
+
return I18n.t('language', {locale: locale});
|
31
|
+
})
|
32
|
+
});
|
33
|
+
|
27
34
|
this.input('credits', pageflow.TextAreaInputView);
|
28
35
|
});
|
29
36
|
|
@@ -19,12 +19,21 @@ pageflow.EditPageView = Backbone.Marionette.Layout.extend({
|
|
19
19
|
},
|
20
20
|
|
21
21
|
onRender: function() {
|
22
|
-
this.pageTypeContainer.show(new pageflow.
|
22
|
+
this.pageTypeContainer.show(new pageflow.ExtendedSelectInputView({
|
23
23
|
model: this.model,
|
24
24
|
propertyName: 'template',
|
25
|
+
|
25
26
|
collection: pageflow.Page.types,
|
26
27
|
valueProperty: 'name',
|
27
28
|
translationKeyProperty: 'translation_key',
|
29
|
+
groupTranslationKeyProperty: 'category_translation_key',
|
30
|
+
descriptionTranslationKeyProperty: 'description_translation_key',
|
31
|
+
|
32
|
+
pictogramClass: 'type_pictogram',
|
33
|
+
|
34
|
+
helpLinkClicked: function(value) {
|
35
|
+
pageflow.app.trigger('toggle-help', pageflow.Page.typesByName[value].help_entry_translation_key);
|
36
|
+
}
|
28
37
|
}));
|
29
38
|
|
30
39
|
this.load();
|
@@ -39,7 +48,7 @@ pageflow.EditPageView = Backbone.Marionette.Layout.extend({
|
|
39
48
|
},
|
40
49
|
|
41
50
|
destroy: function() {
|
42
|
-
if (confirm(
|
51
|
+
if (confirm(I18n.t('pageflow.editor.views.edit_page_view.confirm_destroy'))) {
|
43
52
|
this.model.destroy();
|
44
53
|
this.goBack();
|
45
54
|
}
|
@@ -13,7 +13,7 @@ pageflow.EditorView = Backbone.View.extend({
|
|
13
13
|
initialize: function() {
|
14
14
|
$(window).on('beforeunload', function(event) {
|
15
15
|
if (pageflow.entry.get('uploading_files_count') > 0) {
|
16
|
-
return '
|
16
|
+
return I18n.t('pageflow.editor.views.editor_views.files_pending_warning');
|
17
17
|
}
|
18
18
|
});
|
19
19
|
},
|
@@ -21,9 +21,9 @@ pageflow.EditorView = Backbone.View.extend({
|
|
21
21
|
render: function() {
|
22
22
|
this.$el.layout({
|
23
23
|
minSize: 300,
|
24
|
-
togglerTip_closed: '
|
25
|
-
togglerTip_open: '
|
26
|
-
resizerTip: '
|
24
|
+
togglerTip_closed: I18n.t('pageflow.editor.views.editor_views.show_editor'),
|
25
|
+
togglerTip_open: I18n.t('pageflow.editor.views.editor_views.hide_editor'),
|
26
|
+
resizerTip: I18n.t('pageflow.editor.views.editor_views.resize_editor'),
|
27
27
|
onresize: function() {
|
28
28
|
pageflow.app.trigger('resize');
|
29
29
|
}
|
@@ -20,7 +20,10 @@ pageflow.EntryPreviewView = Backbone.Marionette.ItemView.extend({
|
|
20
20
|
blankSlateViewConstructor: pageflow.BlankEntryView
|
21
21
|
}));
|
22
22
|
|
23
|
-
this.ui.entry.append($('<div class="scroll_indicator indicator">
|
23
|
+
this.ui.entry.append($('<div class="scroll_indicator indicator">' +
|
24
|
+
I18n.t('pageflow.editor.views.entry_preview_view.scroll_hint',
|
25
|
+
{locale: this.model.configuration.get('locale') }) +
|
26
|
+
'</div>'));
|
24
27
|
|
25
28
|
this.update();
|
26
29
|
|
@@ -23,7 +23,7 @@ pageflow.EntryPublicationQuotaDecoratorView = Backbone.Marionette.Layout.extend(
|
|
23
23
|
var view = this;
|
24
24
|
|
25
25
|
if (this.model.get('checking')) {
|
26
|
-
view.ui.state.text(I18n.t('editor.quotas.loading'));
|
26
|
+
view.ui.state.text(I18n.t('pageflow.editor.quotas.loading'));
|
27
27
|
view.ui.exhaustedMessage.hide().html('');
|
28
28
|
view.outlet.close();
|
29
29
|
}
|
@@ -10,14 +10,14 @@ pageflow.FilesView = Backbone.Marionette.ItemView.extend({
|
|
10
10
|
|
11
11
|
onRender: function() {
|
12
12
|
this.addFileModel = new Backbone.Model({
|
13
|
-
label: '
|
13
|
+
label: I18n.t('pageflow.editor.views.files_view.add'),
|
14
14
|
options: [
|
15
15
|
{
|
16
|
-
label: '
|
16
|
+
label: I18n.t('pageflow.editor.views.files_view.upload'),
|
17
17
|
handler: this.upload.bind(this)
|
18
18
|
},
|
19
19
|
{
|
20
|
-
label: '
|
20
|
+
label: I18n.t('pageflow.editor.views.files_view.reuse'),
|
21
21
|
handler: function() {
|
22
22
|
pageflow.FilesExplorerView.open({
|
23
23
|
callback: pageflow.entry.addFileUsage.bind(pageflow.entry)
|
@@ -31,7 +31,7 @@ pageflow.FilesView = Backbone.Marionette.ItemView.extend({
|
|
31
31
|
|
32
32
|
this.tabsView = new pageflow.TabsView({
|
33
33
|
model: this.model,
|
34
|
-
i18n: 'editor.files.tabs',
|
34
|
+
i18n: 'pageflow.editor.files.tabs',
|
35
35
|
defaultTab: this.options.tabName
|
36
36
|
});
|
37
37
|
|
@@ -2,17 +2,8 @@ pageflow.HelpView = Backbone.Marionette.ItemView.extend({
|
|
2
2
|
template: 'templates/help',
|
3
3
|
className: 'help',
|
4
4
|
|
5
|
-
defaultSection: 'outline',
|
6
|
-
|
7
|
-
routeSectionMapping: {
|
8
|
-
'pages': 'page',
|
9
|
-
'files': 'files',
|
10
|
-
'publish': 'publish'
|
11
|
-
},
|
12
|
-
|
13
5
|
ui: {
|
14
|
-
|
15
|
-
message: '.error .message',
|
6
|
+
placeholder: '.placeholder',
|
16
7
|
sections: 'section',
|
17
8
|
menuItems: 'li'
|
18
9
|
},
|
@@ -22,8 +13,19 @@ pageflow.HelpView = Backbone.Marionette.ItemView.extend({
|
|
22
13
|
this.toggle();
|
23
14
|
},
|
24
15
|
|
25
|
-
'click
|
26
|
-
|
16
|
+
'click .expandable > a': function(event) {
|
17
|
+
$(event.currentTarget).parents('.expandable').toggleClass('expanded');
|
18
|
+
},
|
19
|
+
|
20
|
+
'click a': function(event) {
|
21
|
+
var link = $(event.currentTarget);
|
22
|
+
|
23
|
+
if (link.attr('href').indexOf('#') === 0) {
|
24
|
+
this.showSection(link.attr('href').substring(1),
|
25
|
+
{scrollIntoView: !link.parents('nav').length});
|
26
|
+
}
|
27
|
+
|
28
|
+
return false;
|
27
29
|
},
|
28
30
|
|
29
31
|
'click .box': function() {
|
@@ -36,30 +38,41 @@ pageflow.HelpView = Backbone.Marionette.ItemView.extend({
|
|
36
38
|
},
|
37
39
|
|
38
40
|
initialize: function() {
|
39
|
-
this.listenTo(pageflow.app, 'toggle-help', function() {
|
40
|
-
this.chooseSectionFromFragment();
|
41
|
+
this.listenTo(pageflow.app, 'toggle-help', function(name) {
|
41
42
|
this.toggle();
|
43
|
+
this.showSection(name ||
|
44
|
+
pageflow.editor.defaultHelpEntry ||
|
45
|
+
this.defaultHelpEntry(),
|
46
|
+
{scrollIntoView: true});
|
42
47
|
});
|
43
48
|
},
|
44
49
|
|
50
|
+
onRender: function() {
|
51
|
+
this.ui.placeholder.replaceWith($('#help_entries_seed').html());
|
52
|
+
this.bindUIElements();
|
53
|
+
},
|
54
|
+
|
45
55
|
toggle: function() {
|
46
56
|
this.$el.toggle();
|
47
57
|
},
|
48
58
|
|
49
|
-
|
50
|
-
|
51
|
-
if (Backbone.history.fragment.indexOf(route) >= 0) {
|
52
|
-
return true;
|
53
|
-
}
|
54
|
-
}, this).value();
|
55
|
-
|
56
|
-
this.showSection(this.routeSectionMapping[route] || this.defaultSection);
|
59
|
+
defaultHelpEntry: function() {
|
60
|
+
return this.ui.sections.first().data('name');
|
57
61
|
},
|
58
62
|
|
59
|
-
showSection: function(name) {
|
63
|
+
showSection: function(name, options) {
|
60
64
|
this.ui.menuItems.each(function() {
|
61
65
|
var menuItem = $(this);
|
62
|
-
menuItem.
|
66
|
+
var active = (menuItem.find('a').attr('href') === '#' + name);
|
67
|
+
menuItem.toggleClass('active', active);
|
68
|
+
|
69
|
+
if (active) {
|
70
|
+
menuItem.parents('.expandable').addClass('expanded');
|
71
|
+
|
72
|
+
if (options.scrollIntoView) {
|
73
|
+
menuItem[0].scrollIntoView();
|
74
|
+
}
|
75
|
+
}
|
63
76
|
});
|
64
77
|
|
65
78
|
this.ui.sections.each(function() {
|
@@ -17,6 +17,8 @@ pageflow.LockedView = Backbone.Marionette.ItemView.extend({
|
|
17
17
|
aquired: 'hide',
|
18
18
|
|
19
19
|
locked: 'show',
|
20
|
+
|
21
|
+
unauthenticated: 'goBack'
|
20
22
|
},
|
21
23
|
|
22
24
|
breakLock: function() {
|
@@ -30,10 +32,10 @@ pageflow.LockedView = Backbone.Marionette.ItemView.extend({
|
|
30
32
|
show: function(info, options) {
|
31
33
|
var key = info.error + '.' + options.context;
|
32
34
|
|
33
|
-
this.ui.message.html(I18n.t('edit_locks.errors.' + key + '_html', {user_name: info.held_by}));
|
35
|
+
this.ui.message.html(I18n.t('pageflow.edit_locks.errors.' + key + '_html', {user_name: info.held_by}));
|
34
36
|
this.ui.message.attr('data-error', key);
|
35
37
|
|
36
|
-
this.ui.breakButton.text(I18n.t('edit_locks.break_action.'
|
38
|
+
this.ui.breakButton.text(I18n.t('pageflow.edit_locks.break_action.aquire'));
|
37
39
|
|
38
40
|
this.$el.removeClass('checking');
|
39
41
|
this.$el.show();
|
@@ -33,7 +33,7 @@ pageflow.PageItemView = Backbone.Marionette.ItemView.extend({
|
|
33
33
|
.addClass(this.model.get('template'));
|
34
34
|
|
35
35
|
this.ui.pictogram.attr('title', this._getPictogramTitle());
|
36
|
-
this.ui.title.text(this.model.title() ||
|
36
|
+
this.ui.title.text(this.model.title() || I18n.t('pageflow.editor.views.page_item_view.unnamed'));
|
37
37
|
},
|
38
38
|
|
39
39
|
_getPictogramTitle: function() {
|
@@ -58,9 +58,12 @@ pageflow.PagePreviewView = Backbone.Marionette.View.extend({
|
|
58
58
|
|
59
59
|
update: function() {
|
60
60
|
this.$el.removeClass(pageflow.Page.transitions.join(' ')).addClass(this.model.configuration.get('transition'));
|
61
|
+
|
61
62
|
this.pageType().update(this.$el, this.model.configuration);
|
62
63
|
_.extend(this.$el.data('configuration'), this.model.configuration.attributes);
|
64
|
+
|
63
65
|
this.refreshScroller();
|
66
|
+
this.ensureTargetBlankForContentLinks();
|
64
67
|
},
|
65
68
|
|
66
69
|
updateChapterBeginningClass: function() {
|
@@ -80,6 +83,10 @@ pageflow.PagePreviewView = Backbone.Marionette.View.extend({
|
|
80
83
|
this.$el.page('refreshScroller');
|
81
84
|
},
|
82
85
|
|
86
|
+
ensureTargetBlankForContentLinks: function() {
|
87
|
+
pageflow.links.ensureTargetBlankForContentLinks(this.el);
|
88
|
+
},
|
89
|
+
|
83
90
|
initEmbeddedViews: function() {
|
84
91
|
var view = this;
|
85
92
|
|
@@ -11,6 +11,7 @@ pageflow.PublishEntryView = Backbone.Marionette.ItemView.extend({
|
|
11
11
|
revisionsLink: '.published.notice a',
|
12
12
|
publishedNotice: '.published.notice',
|
13
13
|
saveButton: 'button.save',
|
14
|
+
successNotice: '.success',
|
14
15
|
successLink: '.success a'
|
15
16
|
},
|
16
17
|
|
@@ -109,6 +110,12 @@ pageflow.PublishEntryView = Backbone.Marionette.ItemView.extend({
|
|
109
110
|
that.$el.removeClass('publishing');
|
110
111
|
that.$el.addClass('succeeded');
|
111
112
|
that.$('input').removeAttr('disabled');
|
113
|
+
|
114
|
+
var publishedMessage = that.options.entryPublication.get('published_message_html');
|
115
|
+
if (publishedMessage) {
|
116
|
+
that.ui.successNotice.append(publishedMessage);
|
117
|
+
}
|
118
|
+
|
112
119
|
that.enableSave();
|
113
120
|
});
|
114
121
|
|
@@ -196,4 +203,4 @@ pageflow.PublishEntryView.create = function(options) {
|
|
196
203
|
view: new pageflow.PublishEntryView(options)
|
197
204
|
})
|
198
205
|
});
|
199
|
-
};
|
206
|
+
};
|
@@ -0,0 +1,42 @@
|
|
1
|
+
pageflow.links = {
|
2
|
+
setup: function() {
|
3
|
+
this.preventFocusRectOnClick();
|
4
|
+
this.ensureClickOnEnterKeyPress();
|
5
|
+
this.setupContentSkipLinks();
|
6
|
+
this.ensureTargetBlankForContentLinks();
|
7
|
+
},
|
8
|
+
|
9
|
+
preventFocusRectOnClick: function() {
|
10
|
+
$('body').on('click mousedown', 'a, [tabindex]', function() {
|
11
|
+
$(this).blur();
|
12
|
+
});
|
13
|
+
},
|
14
|
+
|
15
|
+
ensureClickOnEnterKeyPress: function() {
|
16
|
+
$('body').on('keypress', 'a, [tabindex]', function(e) {
|
17
|
+
if (e.which == 13) {
|
18
|
+
$(this).click();
|
19
|
+
}
|
20
|
+
});
|
21
|
+
|
22
|
+
$('body').on('keyup', 'a, [tabindex]', function (e) {
|
23
|
+
e.stopPropagation();
|
24
|
+
});
|
25
|
+
},
|
26
|
+
|
27
|
+
setupContentSkipLinks: function() {
|
28
|
+
$('.content_link').attr('href', '#firstContent');
|
29
|
+
|
30
|
+
$('.content_link').click(function(e) {
|
31
|
+
$('#firstContent').focus();
|
32
|
+
e.preventDefault();
|
33
|
+
return false;
|
34
|
+
});
|
35
|
+
},
|
36
|
+
|
37
|
+
// There was a time when the rich text editor did not add target
|
38
|
+
// attributes to inline links even though it should have.
|
39
|
+
ensureTargetBlankForContentLinks: function(context) {
|
40
|
+
$('.contentText p a', context).attr('target', '_blank');
|
41
|
+
}
|
42
|
+
};
|
@@ -111,7 +111,9 @@ pageflow.pageType.register('audio', _.extend({
|
|
111
111
|
},
|
112
112
|
|
113
113
|
_ensureAudioPlayer: function(pageElement) {
|
114
|
-
this.audioPlayer = this.audioPlayer ||
|
114
|
+
this.audioPlayer = this.audioPlayer ||
|
115
|
+
pageflow.AudioPlayer.fromScriptTag(pageElement.find('script[data-audio]'),
|
116
|
+
{mediaEvents: true});
|
115
117
|
|
116
118
|
pageElement.find('.vjs-controls').playerControls({
|
117
119
|
player: this.audioPlayer
|
@@ -116,6 +116,7 @@ pageflow.pageType.register('video', _.extend({
|
|
116
116
|
_initVideoPlayer: function(pageElement) {
|
117
117
|
var videoPlayer = new pageflow.VideoPlayer.Lazy(pageElement.find('[data-template=video]'), {
|
118
118
|
bufferUnderrunWaiting: true,
|
119
|
+
mediaEvents: true,
|
119
120
|
controls: true,
|
120
121
|
customControlsOnMobile: true,
|
121
122
|
width: '100%',
|
@@ -25,26 +25,7 @@ pageflow.ready = new $.Deferred(function(readyDeferred) {
|
|
25
25
|
pageflow.history = new pageflow.History(pageflow.slides);
|
26
26
|
});
|
27
27
|
|
28
|
-
|
29
|
-
$(this).blur();
|
30
|
-
});
|
31
|
-
|
32
|
-
$("body").on('keypress', 'a, [tabindex]', function(e) {
|
33
|
-
if (e.which == 13) {
|
34
|
-
$(this).click();
|
35
|
-
}
|
36
|
-
});
|
37
|
-
|
38
|
-
$("body").on("keyup", "a, [tabindex]", function (e) {
|
39
|
-
e.stopPropagation();
|
40
|
-
});
|
41
|
-
|
42
|
-
$(".content_link").attr("href","#firstContent");
|
43
|
-
$(".content_link").click(function(e) {
|
44
|
-
$("#firstContent").focus();
|
45
|
-
e.preventDefault();
|
46
|
-
return false; }
|
47
|
-
);
|
28
|
+
pageflow.links.setup();
|
48
29
|
});
|
49
30
|
};
|
50
31
|
}).promise();
|
@@ -1,7 +1,6 @@
|
|
1
1
|
//= require_self
|
2
2
|
|
3
|
-
//= require
|
4
|
-
//= require parser_rules/simple
|
3
|
+
//= require wysihtml5x-toolbar
|
5
4
|
|
6
5
|
//= require i18n
|
7
6
|
//= require i18n/translations
|
@@ -10,6 +9,7 @@
|
|
10
9
|
//= require ./ui/object
|
11
10
|
|
12
11
|
//= require_tree ./ui/views/mixins
|
12
|
+
//= require ./ui/views/inputs/select_input_view
|
13
13
|
//= require_tree ./ui/views
|
14
14
|
//= require_tree ./ui/templates
|
15
15
|
|
@@ -4,6 +4,6 @@
|
|
4
4
|
</label>
|
5
5
|
<div class="file_thumbnail"></div>
|
6
6
|
<div class="file_name"></div>
|
7
|
-
<a href="" class="edit_positioning" title="
|
8
|
-
<a href="" class="unset" title="
|
9
|
-
<a href="" class="choose" title="
|
7
|
+
<a href="" class="edit_positioning" title="<%= I18n.t('pageflow.ui.templates.inputs.file_input.adjust_positioning') %>"></a>
|
8
|
+
<a href="" class="unset" title="<%= I18n.t('pageflow.ui.templates.inputs.file_input.reset') %>"></a>
|
9
|
+
<a href="" class="choose" title="<%= I18n.t('pageflow.ui.templates.inputs.file_input.edit') %>"></a>
|