udongo 6.3.2 → 6.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/backend/application.js +1 -0
- data/app/assets/javascripts/backend/general.js +6 -0
- data/app/assets/stylesheets/backend/application.scss +1 -0
- data/app/assets/stylesheets/backend/base/_general.scss +7 -0
- data/app/assets/stylesheets/backend/pages/_flexible_content.scss +0 -8
- data/app/assets/stylesheets/backend/udongo.scss +2 -0
- data/app/controllers/backend/content/rows/columns_controller.rb +1 -9
- data/app/controllers/backend/content/rows/slideshows_controller.rb +11 -0
- data/app/controllers/backend/content/rows_controller.rb +16 -0
- data/app/controllers/backend/forms/fields_controller.rb +3 -1
- data/app/controllers/backend/image_collections/base_controller.rb +11 -0
- data/app/controllers/backend/image_collections/images_controller.rb +15 -0
- data/app/controllers/backend/image_collections_controller.rb +50 -0
- data/app/controllers/concerns/backend/content_type_controller.rb +1 -10
- data/app/decorators/content_slideshow_decorator.rb +3 -0
- data/app/models/content_slideshow.rb +9 -0
- data/app/models/image_collection.rb +9 -0
- data/app/views/backend/content/_form.html.erb +1 -1
- data/app/views/backend/content/_rows.html.erb +11 -7
- data/app/views/backend/content/_slideshow.html.erb +6 -0
- data/app/views/backend/content/rows/columns/edit.html.erb +6 -14
- data/app/views/backend/content/rows/columns/new.html.erb +6 -14
- data/app/views/backend/content/rows/edit.html.erb +31 -0
- data/app/views/backend/content/rows/forms/edit.html.erb +4 -12
- data/app/views/backend/content/rows/images/edit.html.erb +12 -20
- data/app/views/backend/content/rows/pictures/edit.html.erb +7 -15
- data/app/views/backend/content/rows/pictures/link_or_upload.html.erb +12 -20
- data/app/views/backend/content/rows/slideshows/edit.html.erb +17 -0
- data/app/views/backend/content/rows/texts/edit.html.erb +2 -10
- data/app/views/backend/content/rows/videos/edit.html.erb +5 -6
- data/app/views/backend/forms/fields/_form.html.erb +1 -0
- data/app/views/backend/image_collections/_form.html.erb +19 -0
- data/app/views/backend/image_collections/_tabs.html.erb +18 -0
- data/app/views/backend/image_collections/edit.html.erb +6 -0
- data/app/views/backend/image_collections/images/index.html.erb +43 -0
- data/app/views/backend/image_collections/index.html.erb +30 -0
- data/app/views/backend/image_collections/new.html.erb +5 -0
- data/app/views/backend/lightbox_saved.html.erb +3 -0
- data/app/views/layouts/backend/_top_navigation.html.erb +1 -0
- data/app/views/layouts/backend/lightbox.html.erb +5 -3
- data/changelog.md +13 -0
- data/config/locales/en_backend.yml +5 -6
- data/config/locales/en_forms.yml +14 -0
- data/config/locales/nl_backend.yml +7 -6
- data/config/locales/nl_forms.yml +13 -0
- data/config/routes.rb +7 -1
- data/db/migrate/20170615113617_create_asset_collections.rb +12 -0
- data/db/migrate/20170615120716_rename_asset_collection_to_image_collection.rb +5 -0
- data/db/migrate/20170615131909_create_content_slideshows.rb +11 -0
- data/db/migrate/20170615184855_add_content_row_margin_padding_and_bg_color.rb +9 -0
- data/db/migrate/20170616114757_add_external_ref_to_form_field.rb +6 -0
- data/lib/udongo/bogus_model.rb +34 -0
- data/lib/udongo/configs/flexible_content.rb +1 -1
- data/lib/udongo/search/result_objects/base.rb +1 -1
- data/lib/udongo/version.rb +1 -1
- data/spec/factories/content_slideshows.rb +5 -0
- data/spec/factories/image_collections.rb +6 -0
- data/vendor/assets/javascripts/backend/lity.js +637 -0
- data/vendor/assets/stylesheets/backend/lity.scss +200 -0
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b5b3b1a404230641c9fca147994774185e156ad
|
4
|
+
data.tar.gz: af7318f3a5bf2061fcf1a815600d8ba127513571
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2eabef60a87981eae7cb4e62635d350b1977aaf47a3840dd960042b144f00235990eef0f74bc905980c08baf20e7a52d36b7d5074457aff571df2ce85debc25c
|
7
|
+
data.tar.gz: efb9507168f2d96cb4b1e547f489b66be1f2768d12edccf79afbe087e66a1d2c8984a06f74343e369891ba798e46c12cd5fca15d4d4397e67889da489c3c5cdf
|
@@ -2,6 +2,12 @@ var general = general || {
|
|
2
2
|
init: function() {
|
3
3
|
$('form:not(.no-focus) input:visible:not(.no-focus):first').focus();
|
4
4
|
$('[data-toggle="tooltip"]').tooltip();
|
5
|
+
$('[href="#lity-close"]').on('click', this.lity_close_click_listener);
|
6
|
+
},
|
7
|
+
|
8
|
+
lity_close_click_listener: function(e) {
|
9
|
+
e.preventDefault();
|
10
|
+
$(parent.window.document).find('[data-lity-close=""]').trigger('click');
|
5
11
|
}
|
6
12
|
};
|
7
13
|
|
@@ -7,7 +7,6 @@ class Backend::Content::Rows::ColumnsController < Backend::BaseController
|
|
7
7
|
|
8
8
|
def new
|
9
9
|
@column = @row.columns.new(@row.column_width_calculator.hashed_values)
|
10
|
-
cancel_url
|
11
10
|
end
|
12
11
|
|
13
12
|
def create
|
@@ -25,7 +24,7 @@ class Backend::Content::Rows::ColumnsController < Backend::BaseController
|
|
25
24
|
|
26
25
|
def update
|
27
26
|
if @column.update_attributes allowed_params
|
28
|
-
|
27
|
+
render 'backend/lightbox_saved'
|
29
28
|
else
|
30
29
|
render :edit
|
31
30
|
end
|
@@ -57,11 +56,4 @@ class Backend::Content::Rows::ColumnsController < Backend::BaseController
|
|
57
56
|
def redirect_to_edit(column)
|
58
57
|
redirect_to send("edit_backend_content_#{column.content.decorate.content_type}_path", column.content)
|
59
58
|
end
|
60
|
-
|
61
|
-
def cancel_url
|
62
|
-
instance = @row.rowable
|
63
|
-
path = "edit_translation_backend_#{instance.class.to_s.downcase}_path"
|
64
|
-
send(path, instance, @row.locale, anchor: "content-row-#{@row.id}")
|
65
|
-
end
|
66
|
-
helper_method :cancel_url
|
67
59
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class Backend::Content::Rows::SlideshowsController < Backend::BaseController
|
2
|
+
include Concerns::Backend::ContentTypeController
|
3
|
+
|
4
|
+
model ContentSlideshow
|
5
|
+
allowed_params :image_collection_id, :autoplay, :slide_interval
|
6
|
+
|
7
|
+
def image_collections
|
8
|
+
ImageCollection.order(:description).map { |c| [c.description, c.id] }
|
9
|
+
end
|
10
|
+
helper_method :image_collections
|
11
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class Backend::Content::RowsController < Backend::BaseController
|
2
2
|
include Concerns::Backend::PositionableController
|
3
3
|
before_action :find_model, except: [:new]
|
4
|
+
layout 'backend/lightbox'
|
4
5
|
|
5
6
|
def new
|
6
7
|
if params[:klass] && params[:id] && params[:locale]
|
@@ -13,6 +14,14 @@ class Backend::Content::RowsController < Backend::BaseController
|
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
17
|
+
def update
|
18
|
+
if @row.update_attributes allowed_params
|
19
|
+
render 'backend/lightbox_saved'
|
20
|
+
else
|
21
|
+
render :edit
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
16
25
|
def horizontal_alignment
|
17
26
|
align = params[:align].to_s
|
18
27
|
align = 'left' unless %w(left center right).include?(align)
|
@@ -54,4 +63,11 @@ class Backend::Content::RowsController < Backend::BaseController
|
|
54
63
|
anchor = "content-row-#{@row.id}" unless anchor.present?
|
55
64
|
redirect_to content_path(@row.rowable, @row.locale, anchor)
|
56
65
|
end
|
66
|
+
|
67
|
+
def allowed_params
|
68
|
+
params.require(:content_row).permit(
|
69
|
+
:background_color, :margin_top, :margin_bottom, :padding_top,
|
70
|
+
:padding_bottom
|
71
|
+
)
|
72
|
+
end
|
57
73
|
end
|
@@ -42,7 +42,9 @@ class Backend::Forms::FieldsController < Backend::Forms::BaseController
|
|
42
42
|
private
|
43
43
|
|
44
44
|
def allowed_params
|
45
|
-
params[:form_field].permit(
|
45
|
+
params[:form_field].permit(
|
46
|
+
:identifier, :field_type, :presence, :email, :external_reference
|
47
|
+
)
|
46
48
|
end
|
47
49
|
|
48
50
|
def find_model
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class Backend::ImageCollections::BaseController < Backend::BaseController
|
2
|
+
before_action :find_image_collection
|
3
|
+
before_action do
|
4
|
+
breadcrumb.add t('b.image_collections'), backend_image_collections_path
|
5
|
+
breadcrumb.add @image_collection.description, edit_backend_image_collection_path(@image_collection)
|
6
|
+
end
|
7
|
+
|
8
|
+
def find_image_collection
|
9
|
+
@image_collection = ImageCollection.find params[:image_collection_id]
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Backend::ImageCollections::ImagesController < Backend::ImageCollections::BaseController
|
2
|
+
include Concerns::Backend::PositionableController
|
3
|
+
|
4
|
+
before_action { breadcrumb.add t('b.images') }
|
5
|
+
|
6
|
+
def index
|
7
|
+
@images = @image_collection.images
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def find_model
|
13
|
+
@model = @image_collection.images.find params[:id]
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
class Backend::ImageCollectionsController < Backend::BaseController
|
2
|
+
before_action :find_model, only: [:show, :edit, :update, :destroy]
|
3
|
+
before_action -> { breadcrumb.add t('b.image_collections'), backend_image_collections_path }
|
4
|
+
|
5
|
+
def index
|
6
|
+
@image_collections = ImageCollection.order(:description)
|
7
|
+
end
|
8
|
+
|
9
|
+
def show
|
10
|
+
redirect_to edit_backend_image_collection_path(@model)
|
11
|
+
end
|
12
|
+
|
13
|
+
def new
|
14
|
+
@model = ImageCollection.new
|
15
|
+
end
|
16
|
+
|
17
|
+
def create
|
18
|
+
@model = ImageCollection.new(allowed_params)
|
19
|
+
|
20
|
+
if @model.save
|
21
|
+
redirect_to edit_backend_image_collection_path(@model),
|
22
|
+
notice: translate_notice(:added, :image_collection)
|
23
|
+
else
|
24
|
+
render :new
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def update
|
29
|
+
if @model.update_attributes allowed_params
|
30
|
+
redirect_to backend_image_collections_path, notice: translate_notice(:edited, :image_collection)
|
31
|
+
else
|
32
|
+
render :edit
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def destroy
|
37
|
+
@model.destroy
|
38
|
+
redirect_to backend_image_collections_path, notice: translate_notice(:deleted, :image_collection)
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def find_model
|
44
|
+
@model = ImageCollection.find(params[:id])
|
45
|
+
end
|
46
|
+
|
47
|
+
def allowed_params
|
48
|
+
params[:image_collection].permit(:identifier, :description)
|
49
|
+
end
|
50
|
+
end
|
@@ -6,7 +6,6 @@ module Concerns
|
|
6
6
|
included do
|
7
7
|
layout 'backend/lightbox'
|
8
8
|
before_action :find_model
|
9
|
-
helper_method :content_path
|
10
9
|
end
|
11
10
|
|
12
11
|
module ClassMethods
|
@@ -25,17 +24,9 @@ module Concerns
|
|
25
24
|
@model = model.find(params[:id]).decorate
|
26
25
|
end
|
27
26
|
|
28
|
-
def content_path
|
29
|
-
column = @model.column
|
30
|
-
path = "edit_translation_backend_#{column.row.rowable.class.to_s.downcase}_path"
|
31
|
-
# TODO this needs to be the locale that you were editing, not the interface locale.
|
32
|
-
# You can reproduce this by editing flexible content in NL when your interface is english.
|
33
|
-
send(path, column.row.rowable, @model.column.row.locale, anchor: "content-row-#{column.row.id}")
|
34
|
-
end
|
35
|
-
|
36
27
|
def update
|
37
28
|
if @model.update_attributes allowed_params
|
38
|
-
|
29
|
+
render 'backend/lightbox_saved'
|
39
30
|
else
|
40
31
|
render :edit
|
41
32
|
end
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<% end %>
|
19
19
|
|
20
20
|
<% rows.decorate.each do |row| %>
|
21
|
-
<div id="content-row-<%= row.id %>" class="card content-row" data-update-position="<%= update_position_backend_content_row_path(row) %>">
|
21
|
+
<div id="content-row-<%= row.id %>" class="card content-row" data-update-position="<%= update_position_backend_content_row_path(row) %>" style="background-color: <%= row.background_color %>">
|
22
22
|
<div class="card-header handle">
|
23
23
|
<div class="btn-group" role="group">
|
24
24
|
<% klass = 'btn btn-secondary' %>
|
@@ -57,6 +57,10 @@
|
|
57
57
|
<div class="btn-group" role="group">
|
58
58
|
<%= link_to icon(:trash), backend_content_row_path(row), class: 'btn btn-secondary', title: t('b.delete'), method: :delete, data: { toggle: 'tooltip', placement: 'bottom', confirm: t('b.msg.confirm') } %>
|
59
59
|
</div>
|
60
|
+
|
61
|
+
<div class="btn-group pull-right" role="group">
|
62
|
+
<%= link_to icon(:cog), edit_backend_content_row_path(row), class: 'btn btn-secondary', title: t('b.settings'), data: { toggle: 'tooltip', placement: 'bottom', lity: '' } %>
|
63
|
+
</div>
|
60
64
|
</div>
|
61
65
|
|
62
66
|
<div class="row content-columns card-block <%= row.classes.join(' ') %>">
|
@@ -74,9 +78,9 @@
|
|
74
78
|
<div class="card-footer">
|
75
79
|
<div class="btn-group" role="group">
|
76
80
|
<% edit_link = send("edit_backend_content_#{content.content_type}_path", content) %>
|
77
|
-
<%= link_to icon(:pencil_square_o), edit_link, class: 'btn btn-secondary btn-sm' %>
|
78
|
-
<%= link_to icon(:trash), backend_content_row_column_path(row, column), class: 'btn btn-secondary btn-sm', method: :delete, data: { confirm: t('b.msg.confirm') } %>
|
79
|
-
<%= link_to icon(:wrench), edit_backend_content_row_column_path(row, column), class: 'btn btn-secondary btn-sm' %>
|
81
|
+
<%= link_to icon(:pencil_square_o), edit_link, class: 'btn btn-secondary btn-sm', title: t('b.edit'), data: { toggle: 'tooltip', placement: 'bottom', lity: '' } %>
|
82
|
+
<%= link_to icon(:trash), backend_content_row_column_path(row, column), class: 'btn btn-secondary btn-sm', title: t('b.delete'), method: :delete, data: { toggle: 'tooltip', placement: 'bottom', confirm: t('b.msg.confirm') } %>
|
83
|
+
<%= link_to icon(:wrench), edit_backend_content_row_column_path(row, column), class: 'btn btn-secondary btn-sm', title: t('b.settings'), data: { toggle: 'tooltip', placement: 'bottom', lity: '' } %>
|
80
84
|
</div>
|
81
85
|
</div>
|
82
86
|
</div>
|
@@ -85,10 +89,10 @@
|
|
85
89
|
|
86
90
|
<% unless row.column_limit_reached? %>
|
87
91
|
<% if row.columns.blank? %>
|
88
|
-
<%= link_to icon(:plus, t('b.msg.flexible_content.add_column')), new_backend_content_row_column_path(row), class: 'btn btn-secondary btn-block' %>
|
92
|
+
<%= link_to icon(:plus, t('b.msg.flexible_content.add_column')), new_backend_content_row_column_path(row), class: 'btn btn-secondary btn-block', data: { lity: '' } %>
|
89
93
|
<% else %>
|
90
|
-
<%= link_to icon(:plus, t('b.msg.flexible_content.add_column')), new_backend_content_row_column_path(row), class: 'btn btn-secondary hidden-xl-up full-width' %>
|
91
|
-
<%= link_to icon(:plus), new_backend_content_row_column_path(row), class: 'btn btn-secondary hidden-lg-down block' %>
|
94
|
+
<%= link_to icon(:plus, t('b.msg.flexible_content.add_column')), new_backend_content_row_column_path(row), class: 'btn btn-secondary hidden-xl-up full-width', data: { lity: '' } %>
|
95
|
+
<%= link_to icon(:plus), new_backend_content_row_column_path(row), class: 'btn btn-secondary hidden-lg-down block', title: t('b.msg.flexible_content.add_column'), data: { toggle: 'tooltip', placement: 'bottom', lity: '' } %>
|
92
96
|
<% end %>
|
93
97
|
<% end %>
|
94
98
|
</div>
|
@@ -3,23 +3,15 @@
|
|
3
3
|
<%= simple_form_for(@column, url: backend_content_row_column_path(@row, @column)) do |f| %>
|
4
4
|
<%= render 'column_width_explanation' %>
|
5
5
|
|
6
|
-
<div class="
|
7
|
-
<div class="
|
8
|
-
<%=
|
6
|
+
<div class="row mb-3">
|
7
|
+
<div class="col-md-6">
|
8
|
+
<%= render 'backend/content/rows/columns/dimension_fields', form: f %>
|
9
9
|
</div>
|
10
10
|
|
11
|
-
<div class="
|
12
|
-
|
13
|
-
<div class="col-md-6">
|
14
|
-
<%= render 'backend/content/rows/columns/dimension_fields', form: f %>
|
15
|
-
</div>
|
16
|
-
|
17
|
-
<div class="col-md-6">
|
18
|
-
<%= f.input :content_type, collection: options_for_content_types, disabled: true, include_blank: false %>
|
19
|
-
</div>
|
20
|
-
</div>
|
11
|
+
<div class="col-md-6">
|
12
|
+
<%= f.input :content_type, collection: options_for_content_types, disabled: true, include_blank: false %>
|
21
13
|
</div>
|
22
14
|
</div>
|
23
15
|
|
24
|
-
<%= render 'backend/form_actions', cancel_url:
|
16
|
+
<%= render 'backend/form_actions', cancel_url: '#lity-close' %>
|
25
17
|
<% end %>
|
@@ -3,23 +3,15 @@
|
|
3
3
|
<%= simple_form_for(@column, url: backend_content_row_columns_path(@row)) do |f| %>
|
4
4
|
<%= render 'column_width_explanation' %>
|
5
5
|
|
6
|
-
<div class="
|
7
|
-
<div class="
|
8
|
-
<%=
|
6
|
+
<div class="row mb-3">
|
7
|
+
<div class="col-md-6">
|
8
|
+
<%= render 'backend/content/rows/columns/dimension_fields', form: f %>
|
9
9
|
</div>
|
10
10
|
|
11
|
-
<div class="
|
12
|
-
|
13
|
-
<div class="col-md-6">
|
14
|
-
<%= render 'backend/content/rows/columns/dimension_fields', form: f %>
|
15
|
-
</div>
|
16
|
-
|
17
|
-
<div class="col-md-6">
|
18
|
-
<%= f.input :content_type, collection: options_for_content_types, include_blank: false %>
|
19
|
-
</div>
|
20
|
-
</div>
|
11
|
+
<div class="col-md-6">
|
12
|
+
<%= f.input :content_type, collection: options_for_content_types, include_blank: false %>
|
21
13
|
</div>
|
22
14
|
</div>
|
23
15
|
|
24
|
-
<%= render 'backend/form_actions', cancel_url:
|
16
|
+
<%= render 'backend/form_actions', cancel_url: '#lity-close' %>
|
25
17
|
<% end %>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<%= simple_form_for [:backend, @row] do |f| %>
|
2
|
+
<div class="row">
|
3
|
+
<div class="col-md-4">
|
4
|
+
<%= f.input :background_color, placeholder: 'eg #336699' %>
|
5
|
+
</div>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<% pixels = (1..10).map { |i| ["#{i * 16}px", i] } %>
|
9
|
+
|
10
|
+
<div class="row">
|
11
|
+
<div class="col-md-6">
|
12
|
+
<div class="alert alert-info">
|
13
|
+
<%= t 'b.msg.flexible_content.margin_explanation' %>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<%= f.input :margin_top, collection: pixels %>
|
17
|
+
<%= f.input :margin_bottom, collection: pixels %>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<div class="col-md-6">
|
21
|
+
<div class="alert alert-info">
|
22
|
+
<%= t 'b.msg.flexible_content.padding_explanation' %>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<%= f.input :padding_top, collection: pixels %>
|
26
|
+
<%= f.input :padding_bottom, collection: pixels %>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
|
30
|
+
<%= render 'backend/form_actions', cancel_url: '#lity-close' %>
|
31
|
+
<% end %>
|