pageflow 0.2.1 → 0.3.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/accounts.rb +3 -1
- data/admins/pageflow/entry.rb +2 -1
- data/app/assets/javascripts/pageflow/admin.js +1 -0
- data/app/assets/javascripts/pageflow/admin/accounts.js +30 -0
- data/app/assets/javascripts/pageflow/asset_urls.js.erb +2 -2
- data/app/assets/javascripts/pageflow/editor/api.js +136 -0
- data/app/assets/javascripts/pageflow/editor/api/failure.js +54 -0
- data/app/assets/javascripts/pageflow/editor/api/failures.js +47 -0
- data/app/assets/javascripts/pageflow/editor/base.js +8 -0
- data/app/assets/javascripts/pageflow/editor/collections/chapters_collection.js +1 -1
- data/app/assets/javascripts/pageflow/editor/collections/mixins/ordered_collection.js +9 -4
- data/app/assets/javascripts/pageflow/editor/controllers/sidebar_controller.js +9 -10
- data/app/assets/javascripts/pageflow/editor/initializers/additional_initializers.js +8 -0
- data/app/assets/javascripts/pageflow/editor/initializers/boot.js +1 -8
- data/app/assets/javascripts/pageflow/editor/initializers/routing.js +17 -0
- data/app/assets/javascripts/pageflow/editor/initializers/setup_collections.js +5 -5
- data/app/assets/javascripts/pageflow/editor/models/configuration.js +11 -2
- data/app/assets/javascripts/pageflow/editor/models/entry.js +2 -2
- data/app/assets/javascripts/pageflow/editor/models/mixins/retryable.js +2 -2
- data/app/assets/javascripts/pageflow/editor/models/page_configuration_file_selection_handler.js +37 -0
- data/app/assets/javascripts/pageflow/editor/models/theming.js +8 -0
- data/app/assets/javascripts/pageflow/editor/object.js +14 -0
- data/app/assets/javascripts/pageflow/editor/routers/sidebar_router.js +4 -4
- data/app/assets/javascripts/pageflow/editor/templates/edit_entry.jst.ejs +4 -4
- data/app/assets/javascripts/pageflow/editor/templates/notifications.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/views/back_button_decorator_view.js +3 -2
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio.js +2 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/video.js +2 -1
- data/app/assets/javascripts/pageflow/editor/views/edit_entry_view.js +23 -11
- data/app/assets/javascripts/pageflow/editor/views/edit_meta_data_view.js +28 -22
- data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +5 -1
- data/app/assets/javascripts/pageflow/editor/views/file_item_view.js +3 -2
- data/app/assets/javascripts/pageflow/editor/views/files_view.js +3 -10
- data/app/assets/javascripts/pageflow/editor/views/input_view.js +39 -1
- data/app/assets/javascripts/pageflow/editor/views/inputs/check_box_input_view.js +13 -2
- data/app/assets/javascripts/pageflow/editor/views/inputs/file_input_view.js +9 -4
- data/app/assets/javascripts/pageflow/editor/views/inputs/text_area_input_view.js +14 -1
- data/app/assets/javascripts/pageflow/editor/views/inputs/text_input_view.js +11 -0
- data/app/assets/javascripts/pageflow/editor/views/mixins/failure_indicating_view.js +3 -3
- data/app/assets/javascripts/pageflow/editor/views/notifications_view.js +7 -6
- data/app/assets/javascripts/pageflow/editor/views/page_preview_view.js +2 -1
- data/app/assets/javascripts/pageflow/page_types/audio.js +13 -8
- data/app/assets/javascripts/pageflow/page_types/video.js +9 -5
- data/app/assets/javascripts/pageflow/widgets/navigation.js +3 -2
- data/app/assets/javascripts/pageflow/widgets/player_controls.js +3 -2
- data/app/assets/javascripts/pageflow/widgets/{home_button.js → top_button.js} +4 -4
- data/app/assets/stylesheets/pageflow/editor/back_button_decorator.css.scss +3 -0
- data/app/assets/stylesheets/pageflow/editor/base.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/tabs_view.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/ie9.css.scss +8 -7
- data/app/assets/stylesheets/pageflow/lt_ie9.css.scss +2 -2
- data/app/assets/stylesheets/pageflow/navigation_bar.css.scss +16 -2
- data/app/assets/stylesheets/pageflow/themes/default/anchors.css.scss +0 -3
- data/app/assets/stylesheets/pageflow/themes/default/navigation.css.scss +13 -4
- data/app/controllers/pageflow/entries_controller.rb +4 -9
- data/app/helpers/pageflow/entries_helper.rb +2 -6
- data/app/helpers/pageflow/themes_helper.rb +9 -0
- data/app/helpers/pageflow/themings_helper.rb +11 -0
- data/app/jobs/pageflow/poll_zencoder_job.rb +2 -2
- data/app/models/pageflow/cname_theming_request_scope.rb +7 -0
- data/app/models/pageflow/draft_entry.rb +9 -1
- data/app/models/pageflow/entry.rb +3 -1
- data/app/models/pageflow/home_button.rb +37 -0
- data/app/models/pageflow/published_entry.rb +8 -0
- data/app/models/pageflow/revision.rb +6 -0
- data/app/models/pageflow/theming.rb +3 -0
- data/app/models/pageflow/zencoder_attachment.rb +35 -17
- data/app/views/admin/accounts/_form.html.erb +14 -2
- data/app/views/admin/entries/_attributes_table.html.arb +1 -1
- data/app/views/admin/entries/_links.html.arb +1 -1
- data/app/views/layouts/pageflow/_ie_include_tags.html.erb +4 -4
- data/app/views/pageflow/editor/entries/_analytics.html.erb +1 -0
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +4 -0
- data/app/views/pageflow/editor/themings/_theming.json.jbuilder +2 -0
- data/app/views/pageflow/entries/_navigation.html.erb +2 -2
- data/app/views/pageflow/entries/edit.html.erb +3 -0
- data/app/views/pageflow/entries/navigation/_bar_top.html.erb +2 -1
- data/app/views/pageflow/entries/navigation/_home_button.html.erb +8 -0
- data/config/initializers/zencoder.rb +11 -1
- data/config/locales/activerecord.de.yml +5 -0
- data/config/locales/editor.de.yml +5 -0
- data/config/routes.rb +1 -0
- data/db/migrate/20140819081454_add_home_url_attributes_to_themings_and_revisions.rb +9 -0
- data/lib/generators/pageflow/seeds/seeds_generator.rb +4 -4
- data/lib/generators/pageflow/seeds/templates/seeds.rb +30 -0
- data/lib/pageflow/configuration.rb +47 -1
- data/lib/pageflow/page_type.rb +25 -0
- data/lib/pageflow/revision_component.rb +39 -0
- data/lib/pageflow/seeds.rb +153 -71
- data/lib/pageflow/theme.rb +7 -2
- data/lib/pageflow/themes.rb +2 -2
- data/lib/pageflow/version.rb +1 -1
- data/lib/pageflow/zencoder_audio_output_definition.rb +3 -3
- data/lib/pageflow/zencoder_output_definition.rb +46 -7
- data/lib/pageflow/zencoder_video_output_definition.rb +51 -35
- data/spec/factories/entries.rb +6 -2
- metadata +687 -668
- data/app/assets/javascripts/pageflow/editor/collections/failed_records_collection.js +0 -18
@@ -10,13 +10,6 @@ pageflow.app.addInitializer(function(options) {
|
|
10
10
|
pageflow.app.notificationsRegion.show(new pageflow.NotificationsView().render());
|
11
11
|
pageflow.app.helpButtonRegion.show(new pageflow.HelpButtonView().render());
|
12
12
|
|
13
|
-
window.editor = new pageflow.SidebarRouter({
|
14
|
-
controller: new pageflow.SidebarController({
|
15
|
-
region: pageflow.app.sidebarRegion,
|
16
|
-
entry: pageflow.entry
|
17
|
-
})
|
18
|
-
});
|
19
|
-
|
20
13
|
Backbone.history.start({root: options.root});
|
21
14
|
});
|
22
15
|
|
@@ -26,4 +19,4 @@ pageflow.app.addRegions({
|
|
26
19
|
dialogRegion: '.dialog_container',
|
27
20
|
notificationsRegion: 'sidebar .notifications_container',
|
28
21
|
helpButtonRegion: 'sidebar .help_button_container'
|
29
|
-
});
|
22
|
+
});
|
@@ -0,0 +1,17 @@
|
|
1
|
+
pageflow.app.addInitializer(function() {
|
2
|
+
_.each(pageflow.editor.sideBarRoutings, function(options) {
|
3
|
+
new options.router({
|
4
|
+
controller: new options.controller({
|
5
|
+
region: pageflow.app.sidebarRegion,
|
6
|
+
entry: pageflow.entry
|
7
|
+
})
|
8
|
+
});
|
9
|
+
});
|
10
|
+
|
11
|
+
window.editor = new pageflow.SidebarRouter({
|
12
|
+
controller: new pageflow.SidebarController({
|
13
|
+
region: pageflow.app.sidebarRegion,
|
14
|
+
entry: pageflow.entry
|
15
|
+
})
|
16
|
+
});
|
17
|
+
});
|
@@ -6,15 +6,15 @@ pageflow.app.addInitializer(function(options) {
|
|
6
6
|
pageflow.pages = new pageflow.PagesCollection(options.pages);
|
7
7
|
pageflow.chapters = new pageflow.ChaptersCollection(options.chapters);
|
8
8
|
pageflow.entry = new pageflow.Entry(options.entry);
|
9
|
+
pageflow.theming = new pageflow.Theming(options.theming);
|
9
10
|
|
10
11
|
pageflow.pages.sort();
|
11
12
|
|
12
|
-
pageflow.
|
13
|
-
pageflow.
|
14
|
-
pageflow.
|
15
|
-
pageflow.failedRecords.watch(pageflow.chapters);
|
13
|
+
pageflow.editor.failures.watch(pageflow.entry);
|
14
|
+
pageflow.editor.failures.watch(pageflow.pages);
|
15
|
+
pageflow.editor.failures.watch(pageflow.chapters);
|
16
16
|
|
17
17
|
pageflow.savingRecords = new pageflow.SavingRecordsCollection();
|
18
18
|
pageflow.savingRecords.watch(pageflow.pages);
|
19
19
|
pageflow.savingRecords.watch(pageflow.chapters);
|
20
|
-
});
|
20
|
+
});
|
@@ -10,7 +10,16 @@ pageflow.Configuration = Backbone.Model.extend({
|
|
10
10
|
transition: 'fade',
|
11
11
|
text_position: 'left',
|
12
12
|
invert: false,
|
13
|
-
hide_title: false
|
13
|
+
hide_title: false,
|
14
|
+
autoplay: true
|
15
|
+
},
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Used by views (i.e. FileInputView) to get id which can be used in
|
19
|
+
* routes to lookup configuration via its page.
|
20
|
+
*/
|
21
|
+
getRoutableId: function() {
|
22
|
+
return this.page.id;
|
14
23
|
},
|
15
24
|
|
16
25
|
getImageFileUrl: function(attribute) {
|
@@ -96,4 +105,4 @@ pageflow.Configuration = Backbone.Model.extend({
|
|
96
105
|
return clone;
|
97
106
|
});
|
98
107
|
}
|
99
|
-
});
|
108
|
+
});
|
@@ -19,7 +19,7 @@ pageflow.Entry = Backbone.Model.extend({
|
|
19
19
|
this.pages.sort();
|
20
20
|
});
|
21
21
|
|
22
|
-
this.listenTo(this, 'change:title change:summary change:credits change:manual_start', function() {
|
22
|
+
this.listenTo(this, 'change:title change:summary change:credits change:manual_start change:home_url change:home_button_enabled', function() {
|
23
23
|
this.save();
|
24
24
|
});
|
25
25
|
|
@@ -121,6 +121,6 @@ pageflow.Entry = Backbone.Model.extend({
|
|
121
121
|
},
|
122
122
|
|
123
123
|
toJSON: function() {
|
124
|
-
return _.pick(this.attributes, 'title', 'summary', 'credits', 'manual_start');
|
124
|
+
return _.pick(this.attributes, 'title', 'summary', 'credits', 'manual_start', 'home_url', 'home_button_enabled');
|
125
125
|
}
|
126
126
|
});
|
data/app/assets/javascripts/pageflow/editor/models/page_configuration_file_selection_handler.js
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
pageflow.PageConfigurationFileSelectionHandler = function(options) {
|
3
|
+
pageflow.ConfigurationEditorView.register('audio_loop', {
|
4
|
+
configure: function() {
|
5
|
+
this.tab('general', function() {
|
6
|
+
this.group('general');
|
7
|
+
|
8
|
+
this.input('additional_title', pageflow.TextInputView);
|
9
|
+
this.input('additional_description', pageflow.TextAreaInputView, {size: 'short'});
|
10
|
+
});
|
11
|
+
|
12
|
+
this.tab('files', function() {
|
13
|
+
this.input('audio_file_id', pageflow.FileInputView, {collection: pageflow.audioFiles});
|
14
|
+
this.input('background_image_id', pageflow.FileInputView, {collection: pageflow.imageFiles});
|
15
|
+
this.input('thumbnail_image_id', pageflow.FileInputView, {
|
16
|
+
collection: pageflow.imageFiles,
|
17
|
+
imagePositioning: false
|
18
|
+
});
|
19
|
+
});
|
20
|
+
|
21
|
+
this.tab('options', function() {
|
22
|
+
this.group('options');
|
23
|
+
});
|
24
|
+
}
|
25
|
+
});
|
26
|
+
var page = pageflow.pages.get(options.id);
|
27
|
+
|
28
|
+
this.call = function(file) {
|
29
|
+
page.configuration.setReference(options.attributeName, file);
|
30
|
+
};
|
31
|
+
|
32
|
+
this.getReferer = function() {
|
33
|
+
return '/pages/' + page.id + '/files';
|
34
|
+
};
|
35
|
+
};
|
36
|
+
|
37
|
+
pageflow.editor.registerFileSelectionHandler('pageConfiguration', pageflow.PageConfigurationFileSelectionHandler);
|
@@ -0,0 +1,14 @@
|
|
1
|
+
(function() {
|
2
|
+
// Class-y constructor by github.com/opensas
|
3
|
+
// https://github.com/jashkenas/backbone/issues/2601
|
4
|
+
|
5
|
+
pageflow.Object = function(options) {
|
6
|
+
this.initialize.apply(this, arguments);
|
7
|
+
};
|
8
|
+
_.extend(pageflow.Object.prototype, Backbone.Events, {
|
9
|
+
initialize: function(options) {}
|
10
|
+
});
|
11
|
+
|
12
|
+
// The self-propagating extend function that Backbone classes use.
|
13
|
+
pageflow.Object.extend = Backbone.Model.extend;
|
14
|
+
}());
|
@@ -4,9 +4,9 @@ pageflow.SidebarRouter = Backbone.Marionette.AppRouter.extend({
|
|
4
4
|
'pages/:id/:tab': 'page',
|
5
5
|
'chapters/:id': 'chapter',
|
6
6
|
|
7
|
-
'files/image_files?
|
8
|
-
'files/video_files?
|
9
|
-
'files/audio_files?
|
7
|
+
'files/image_files?handler=:handler&payload=:payload': 'imageFiles',
|
8
|
+
'files/video_files?handler=:handler&payload=:payload': 'videoFiles',
|
9
|
+
'files/audio_files?handler=:handler&payload=:payload': 'audioFiles',
|
10
10
|
|
11
11
|
'files/image_files': 'imageFiles',
|
12
12
|
'files/video_files': 'videoFiles',
|
@@ -22,4 +22,4 @@ pageflow.SidebarRouter = Backbone.Marionette.AppRouter.extend({
|
|
22
22
|
|
23
23
|
'.*': 'index'
|
24
24
|
}
|
25
|
-
});
|
25
|
+
});
|
@@ -2,12 +2,12 @@
|
|
2
2
|
<a class="publish" href="#">Veröffentlichen...</a>
|
3
3
|
|
4
4
|
<ul class="menu">
|
5
|
-
<li>
|
6
|
-
<a class="edit_entry_meta_data" href="#">Titel und Optionen</a>
|
5
|
+
<li>
|
6
|
+
<a class="edit_entry_meta_data" href="#" data-path="/meta_data">Titel und Optionen</a>
|
7
7
|
<span class="failure_icon" title="Beim Speichern der Metadaten ist ein Fehler aufgetreten." />
|
8
8
|
</li>
|
9
|
-
<li>
|
10
|
-
<a class="manage_files" href="#">Dateien verwalten</a>
|
9
|
+
<li>
|
10
|
+
<a class="manage_files" href="#" data-path="/files">Dateien verwalten</a>
|
11
11
|
</li>
|
12
12
|
</ul>
|
13
13
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<li class="uploading"><span class="count">0</span> Dateien werden gerade hochgeladen.</li>
|
2
|
-
<li class="failed"><span class="count">0</span> Datensätze konnten nicht gespeichert werden
|
2
|
+
<li class="failed"><span class="count">0</span> <span class="description">Datensätze konnten nicht gespeichert werden.</span> <a class="retry">Erneut versuchen</a></li>
|
3
3
|
<li class="saving">Änderungen werden gespeichert...</li>
|
4
4
|
<li class="saved">Alle Änderungen wurden gespeichert.</li>
|
5
5
|
|
@@ -1,8 +1,9 @@
|
|
1
1
|
pageflow.BackButtonDecoratorView = Backbone.Marionette.Layout.extend({
|
2
2
|
template: 'templates/back_button_decorator',
|
3
|
+
className: 'back_button_decorator',
|
3
4
|
|
4
5
|
events: {
|
5
|
-
'click a.back': 'goBack'
|
6
|
+
'click a.back': 'goBack'
|
6
7
|
},
|
7
8
|
|
8
9
|
regions: {
|
@@ -16,4 +17,4 @@ pageflow.BackButtonDecoratorView = Backbone.Marionette.Layout.extend({
|
|
16
17
|
goBack: function() {
|
17
18
|
editor.navigate('/', {trigger: true});
|
18
19
|
}
|
19
|
-
});
|
20
|
+
});
|
@@ -4,7 +4,8 @@ pageflow.EditEntryView = Backbone.Marionette.ItemView.extend({
|
|
4
4
|
mixins: [pageflow.failureIndicatingView],
|
5
5
|
|
6
6
|
ui: {
|
7
|
-
publicationStateButton: 'a.publication_state'
|
7
|
+
publicationStateButton: 'a.publication_state',
|
8
|
+
menu: '.menu'
|
8
9
|
},
|
9
10
|
|
10
11
|
events: {
|
@@ -19,22 +20,19 @@ pageflow.EditEntryView = Backbone.Marionette.ItemView.extend({
|
|
19
20
|
return false;
|
20
21
|
},
|
21
22
|
|
22
|
-
'click a.
|
23
|
-
|
24
|
-
return false;
|
23
|
+
'click a.add_chapter': function() {
|
24
|
+
this.model.addChapter();
|
25
25
|
},
|
26
26
|
|
27
|
-
'click a
|
28
|
-
editor.navigate('
|
27
|
+
'click .menu a': function(event) {
|
28
|
+
editor.navigate($(event.target).data('path'), {trigger: true});
|
29
29
|
return false;
|
30
|
-
},
|
31
|
-
|
32
|
-
'click a.add_chapter': function() {
|
33
|
-
this.model.addChapter();
|
34
30
|
}
|
35
31
|
},
|
36
32
|
|
37
33
|
onRender: function() {
|
34
|
+
this._addMenuItems();
|
35
|
+
|
38
36
|
this.subview(new pageflow.SortableCollectionView({
|
39
37
|
el: this.$('ul.chapters'),
|
40
38
|
collection: this.model.chapters,
|
@@ -45,5 +43,19 @@ pageflow.EditEntryView = Backbone.Marionette.ItemView.extend({
|
|
45
43
|
}
|
46
44
|
}
|
47
45
|
}));
|
46
|
+
},
|
47
|
+
|
48
|
+
_addMenuItems: function() {
|
49
|
+
var view = this;
|
50
|
+
|
51
|
+
_.each(pageflow.editor.mainMenuItems, function(options) {
|
52
|
+
var item = $('<li><a href="#"></a></li>');
|
53
|
+
var link = item.find('a');
|
54
|
+
|
55
|
+
link.data('path', options.path);
|
56
|
+
link.text(I18n.t(options.translationKey));
|
57
|
+
|
58
|
+
view.ui.menu.append(item);
|
59
|
+
});
|
48
60
|
}
|
49
|
-
});
|
61
|
+
});
|
@@ -1,13 +1,13 @@
|
|
1
1
|
/*global editor*/
|
2
2
|
|
3
|
-
pageflow.EditMetaDataView = Backbone.Marionette.
|
3
|
+
pageflow.EditMetaDataView = Backbone.Marionette.Layout.extend({
|
4
4
|
template: 'templates/edit_meta_data',
|
5
5
|
className: 'edit_meta_data',
|
6
6
|
|
7
7
|
mixins: [pageflow.failureIndicatingView],
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
regions: {
|
10
|
+
formContainer: '.form_fields'
|
11
11
|
},
|
12
12
|
|
13
13
|
events: {
|
@@ -15,25 +15,31 @@ pageflow.EditMetaDataView = Backbone.Marionette.ItemView.extend({
|
|
15
15
|
},
|
16
16
|
|
17
17
|
onRender: function() {
|
18
|
-
|
19
|
-
model: this.model
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
})
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
18
|
+
var configurationEditor = new pageflow.ConfigurationEditorView({
|
19
|
+
model: this.model
|
20
|
+
});
|
21
|
+
|
22
|
+
configurationEditor.tab('general', function() {
|
23
|
+
this.input('title', pageflow.TextInputView);
|
24
|
+
this.input('summary', pageflow.TextAreaInputView);
|
25
|
+
this.input('credits', pageflow.TextAreaInputView);
|
26
|
+
});
|
27
|
+
|
28
|
+
configurationEditor.tab('widgets', function() {
|
29
|
+
this.input('manual_start', pageflow.CheckBoxInputView);
|
30
|
+
this.input('home_button_enabled', pageflow.CheckBoxInputView, {
|
31
|
+
disabled: !pageflow.theming.hasHomeButton(),
|
32
|
+
displayUncheckedIfDisabled: true
|
33
|
+
});
|
34
|
+
if (pageflow.theming.hasHomeButton()) {
|
35
|
+
this.input('home_url', pageflow.TextInputView, {
|
36
|
+
placeholder: pageflow.theming.get('pretty_url'),
|
37
|
+
visibleBinding: 'home_button_enabled'
|
38
|
+
});
|
39
|
+
}
|
40
|
+
});
|
41
|
+
|
42
|
+
this.formContainer.show(configurationEditor);
|
37
43
|
},
|
38
44
|
|
39
45
|
goBack: function() {
|
@@ -21,7 +21,11 @@ pageflow.EntryPreviewView = Backbone.Marionette.ItemView.extend({
|
|
21
21
|
|
22
22
|
this.update();
|
23
23
|
|
24
|
-
this.listenTo(pageflow.entry, 'sync:order
|
24
|
+
this.listenTo(pageflow.entry, 'sync:order', this.update);
|
25
|
+
this.listenTo(pageflow.entry, 'change:credits change:home_url change:home_button_enabled', function() {
|
26
|
+
pageflow.entry.once('sync', this.update, this);
|
27
|
+
});
|
28
|
+
|
25
29
|
this.listenTo(pageflow.chapters, 'sync', this.update);
|
26
30
|
this.listenTo(pageflow.pages, 'sync', this.update);
|
27
31
|
|
@@ -23,7 +23,8 @@ pageflow.FileItemView = Backbone.Marionette.ItemView.extend({
|
|
23
23
|
|
24
24
|
events: {
|
25
25
|
'click .select': function() {
|
26
|
-
this
|
26
|
+
this.options.selectionHandler.call(this.model);
|
27
|
+
pageflow.editor.navigate(this.options.selectionHandler.getReferer(), {trigger: true});
|
27
28
|
return false;
|
28
29
|
},
|
29
30
|
|
@@ -71,7 +72,7 @@ pageflow.FileItemView = Backbone.Marionette.ItemView.extend({
|
|
71
72
|
this.ui.downloadLink.attr('href', this.model.get('url'));
|
72
73
|
this.ui.downloads.toggle(this.model.isUploaded());
|
73
74
|
|
74
|
-
this.ui.selectButton.toggle(this.options.
|
75
|
+
this.ui.selectButton.toggle(!!this.options.selectionHandler);
|
75
76
|
|
76
77
|
this.ui.cancelButton.toggle(this.model.isUploading());
|
77
78
|
this.ui.removeButton.toggle(!this.model.isUploading());
|
@@ -61,7 +61,7 @@ pageflow.FilesView = Backbone.Marionette.ItemView.extend({
|
|
61
61
|
collection: options.collection,
|
62
62
|
itemViewConstructor: options.itemView,
|
63
63
|
itemViewOptions: {
|
64
|
-
|
64
|
+
selectionHandler: this.options.tabName === name && this.options.selectionHandler
|
65
65
|
},
|
66
66
|
blankSlateViewConstructor: Backbone.Marionette.ItemView.extend({
|
67
67
|
template: 'templates/files_blank_slate'
|
@@ -75,8 +75,8 @@ pageflow.FilesView = Backbone.Marionette.ItemView.extend({
|
|
75
75
|
},
|
76
76
|
|
77
77
|
goBack: function() {
|
78
|
-
if (this.options.
|
79
|
-
editor.navigate(
|
78
|
+
if (this.options.selectionHandler) {
|
79
|
+
editor.navigate(this.options.selectionHandler.getReferer(), {trigger: true});
|
80
80
|
}
|
81
81
|
else {
|
82
82
|
editor.navigate('/', {trigger: true});
|
@@ -85,12 +85,5 @@ pageflow.FilesView = Backbone.Marionette.ItemView.extend({
|
|
85
85
|
|
86
86
|
upload: function() {
|
87
87
|
pageflow.app.trigger('request-upload');
|
88
|
-
},
|
89
|
-
|
90
|
-
updatePage: function(event, file) {
|
91
|
-
if (this.options.page) {
|
92
|
-
this.options.page.configuration.setReference(this.options.pageAttributeName, file);
|
93
|
-
this.goBack();
|
94
|
-
}
|
95
88
|
}
|
96
89
|
});
|