kuhsaft 2.3.2 → 2.3.3
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/README.md +11 -0
- data/app/assets/stylesheets/kuhsaft/cms/application.css.sass +5 -5
- data/app/views/kuhsaft/cms/bricks/_brick_header.html.haml +43 -0
- data/app/views/kuhsaft/cms/bricks/_brick_item.html.haml +10 -42
- data/app/views/kuhsaft/cms/bricks/_new.html.haml +10 -2
- data/config/locales/views/kuhsaft/cms/bricks/de.yml +10 -0
- data/db/migrate/{20140327141200_add_identifier_to_kuhsaft_pages.rb → 18_add_identifier_to_kuhsaft_pages.rb} +0 -0
- data/db/migrate/19_add_col_count_to_bricks.rb +5 -0
- data/lib/kuhsaft.rb +1 -0
- data/lib/kuhsaft/gridded.rb +20 -0
- data/lib/kuhsaft/version.rb +1 -1
- data/spec/lib/gridded_spec.rb +24 -0
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23a7e481b85437904c69767c374fd47f697b8ac7
|
4
|
+
data.tar.gz: 1059cc4a31bc8d46d0fe0341221bb6cc469f5c47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e530b6adab5c29963d6f4d95a52c0174b9a973e4ea3b2f31c9896695ef8085519570c80b5dc019ea9516b59eae822584f45404f4d6cd14cb3ed758d7950038c5
|
7
|
+
data.tar.gz: 7e28072b2f648c183bc78e9bdda0f67c9975a68e8e96ce61da26b755789fe247dad422f5b33faaa01d2bf7639200514f5958a52aef35108f3f3420ac71f58e68
|
data/README.md
CHANGED
@@ -183,6 +183,17 @@ de:
|
|
183
183
|
style2: 'My Style 2'
|
184
184
|
```
|
185
185
|
|
186
|
+
## Configuring Grid settings for Bricks
|
187
|
+
|
188
|
+
Include the Kuhsaft::Gridded Module on every Brick you want to display in a grid. Default grid options are 1 to 12 (representing columns) wich can be configured via the class method `available_grid_sizes` (should return an array of integers).
|
189
|
+
Each instance of a gridded class will have a method `gridded?` wich returns true if a column size is set.
|
190
|
+
|
191
|
+
If the Gridded Module is added to a Custom Brick, it should provide a col_count integer field with default value 0.
|
192
|
+
|
193
|
+
```
|
194
|
+
add_column :your_awesome_brick, :col_count, :integer, default: 0
|
195
|
+
```
|
196
|
+
|
186
197
|
## Adding custom templates with placeholder bricks
|
187
198
|
|
188
199
|
* Save your partial in `views/kuhsaft/placeholder_bricks/partials/_your_partial.html.haml`
|
@@ -169,13 +169,13 @@ form
|
|
169
169
|
.modal-body
|
170
170
|
max-height: none
|
171
171
|
|
172
|
-
|
173
|
-
position:
|
174
|
-
top:
|
175
|
-
|
172
|
+
.btn-group
|
173
|
+
position: relative
|
174
|
+
top: -10px
|
175
|
+
padding-left: 10px
|
176
176
|
|
177
177
|
.control-group.text
|
178
|
-
height: 310px
|
178
|
+
min-height: 310px
|
179
179
|
|
180
180
|
textarea
|
181
181
|
height: 263px
|
@@ -0,0 +1,43 @@
|
|
1
|
+
.pull-left
|
2
|
+
- if brick_content.present?
|
3
|
+
.resize-toggler.btn.btn-small{ 'data-toggle' => 'collapse', 'data-target' => "#brick-content-#{brick.id}" }
|
4
|
+
%i.icon-resize-full
|
5
|
+
%i.icon-resize-small
|
6
|
+
- if brick.caption.present?
|
7
|
+
= brick.caption
|
8
|
+
%span.muted
|
9
|
+
= brick.backend_label(parenthesis: true)
|
10
|
+
.pull-right
|
11
|
+
.btn-toolbar
|
12
|
+
- if brick.persisted?
|
13
|
+
|
14
|
+
- # addable child dropdown menu
|
15
|
+
- if brick.respond_to?(:brick_list)
|
16
|
+
.btn-group
|
17
|
+
= render('brick_type_dropdown', brick_list: brick)
|
18
|
+
|
19
|
+
- # grid selection
|
20
|
+
- if brick.class.include? Kuhsaft::Gridded
|
21
|
+
.btn-group
|
22
|
+
%a.btn.btn-small.dropdown-toggle{ 'data-toggle' => 'dropdown', 'href' => '#' }
|
23
|
+
%i.icon-th
|
24
|
+
%span.caret
|
25
|
+
%ul.dropdown-menu.pull-right
|
26
|
+
%li
|
27
|
+
= form.input :col_count, collection: brick.class.available_grid_sizes, as: :radio_buttons, label_method: lambda { |col_count| t("kuhsaft.cms.bricks.columns", count: col_count) }
|
28
|
+
|
29
|
+
- # possible styles
|
30
|
+
- unless brick.available_display_styles.empty?
|
31
|
+
#display-styles.btn-group
|
32
|
+
%a.btn.btn-small.dropdown-toggle{ 'data-toggle' => 'dropdown', 'href' => '#' }
|
33
|
+
%i.icon-tint
|
34
|
+
%span.caret
|
35
|
+
%ul.dropdown-menu.pull-right
|
36
|
+
%li
|
37
|
+
= form.input :display_styles, collection: brick.translated_available_display_styles, as: :check_boxes
|
38
|
+
|
39
|
+
-# delete button
|
40
|
+
- if brick.user_can_delete?
|
41
|
+
.btn-group
|
42
|
+
= link_to kuhsaft.cms_brick_path(brick), class: 'btn btn-small btn-danger', data: { confirm: t('kuhsaft.cms.bricks.brick_item.confirm') }, method: :delete, remote: true do
|
43
|
+
%i.icon-trash.icon-white
|
@@ -1,57 +1,25 @@
|
|
1
|
-
.brick-item{ :
|
2
|
-
= simple_form_for brick, :
|
3
|
-
= form.hidden_field :position, :
|
4
|
-
- brick_content = render(brick.to_edit_partial_path, :
|
5
|
-
.brick-item-header.clearfix
|
6
|
-
.pull-left
|
7
|
-
- if brick_content.present?
|
8
|
-
.resize-toggler.btn.btn-small{ 'data-toggle' => 'collapse', 'data-target' => "#brick-content-#{brick.id}" }
|
9
|
-
%i.icon-resize-full
|
10
|
-
%i.icon-resize-small
|
11
|
-
- if brick.caption.present?
|
12
|
-
= brick.caption
|
13
|
-
%span.muted
|
14
|
-
= brick.backend_label(:parenthesis => true)
|
15
|
-
.pull-right
|
16
|
-
.btn-toolbar
|
17
|
-
- if brick.persisted?
|
18
|
-
|
19
|
-
- # possible styles
|
20
|
-
- unless brick.available_display_styles.empty?
|
21
|
-
#display-styles.btn-group
|
22
|
-
.btn.btn-small
|
23
|
-
%i.icon-tint
|
24
|
-
%a.btn.btn-small.dropdown-toggle{ 'data-toggle' => 'dropdown', 'href' => '#' }
|
25
|
-
%span.caret
|
26
|
-
%ul.dropdown-menu.pull-right
|
27
|
-
%li
|
28
|
-
= form.input :display_styles, :collection => brick.translated_available_display_styles, :as => :check_boxes
|
1
|
+
.brick-item{ id: brick.to_brick_item_id, class: brick.to_style_class, 'data-id' => brick.id }
|
2
|
+
= simple_form_for brick, as: :brick, url: kuhsaft.cms_brick_path(brick), remote: !brick.uploader?, html: { id: nil }, wrapper: :bootstrap do |form|
|
3
|
+
= form.hidden_field :position, class: 'position-field'
|
4
|
+
- brick_content = render(brick.to_edit_partial_path, brick: brick, form: form)
|
29
5
|
|
30
|
-
|
31
|
-
|
32
|
-
.btn-group
|
33
|
-
= link_to kuhsaft.cms_brick_path(brick), :class => 'btn btn-small btn-danger', data: { confirm: t('kuhsaft.cms.bricks.brick_item.confirm') }, :method => :delete, :remote => true do
|
34
|
-
%i.icon-trash.icon-white
|
35
|
-
|
36
|
-
- # addable child dropdown menu
|
37
|
-
- if brick.respond_to?(:brick_list)
|
38
|
-
.btn-group
|
39
|
-
= render 'brick_type_dropdown', :brick_list => brick
|
6
|
+
.brick-item-header.clearfix
|
7
|
+
= render('kuhsaft/cms/bricks/brick_header', brick: brick, brick_content: brick_content, form: form)
|
40
8
|
|
41
9
|
- if brick_content.present?
|
42
|
-
.brick-item-content.collapse.in{ :
|
10
|
+
.brick-item-content.collapse.in{ id: "brick-content-#{brick.id}", 'data-toggle' => true }
|
43
11
|
= brick_content
|
44
12
|
- if brick.user_can_save?
|
45
13
|
- # save button
|
46
14
|
.clearfix
|
47
15
|
.pull-right
|
48
|
-
%a.submit{ :
|
16
|
+
%a.submit{ href: '#', class: 'btn btn-success btn-small ', 'data-title' => '', 'data-content' => t('.saved') }
|
49
17
|
= t('.save')
|
50
18
|
|
51
19
|
- if brick.renders_own_childs?
|
52
20
|
.brick-item-childs
|
53
|
-
= render
|
21
|
+
= render(brick.to_edit_childs_partial_path, brick: brick)
|
54
22
|
- else
|
55
23
|
- if brick.respond_to?(:bricks)
|
56
24
|
.brick-item-childs
|
57
|
-
= render
|
25
|
+
= render('kuhsaft/cms/bricks/brick_list', brick_list: brick)
|
@@ -14,14 +14,22 @@
|
|
14
14
|
|
15
15
|
- unless @brick.available_display_styles.empty?
|
16
16
|
#display-styles.btn-group.pull-right
|
17
|
-
.btn.btn-small
|
18
|
-
%i.icon-tint
|
19
17
|
%a.btn.btn-small.dropdown-toggle{ 'data-toggle' => 'dropdown', 'href' => '#' }
|
18
|
+
%i.icon-tint
|
20
19
|
%span.caret
|
21
20
|
%ul.dropdown-menu.pull-right
|
22
21
|
%li
|
23
22
|
= form.input :display_styles, :collection => @brick.translated_available_display_styles, :as => :check_boxes
|
24
23
|
|
24
|
+
- if brick.class.include? Kuhsaft::Gridded
|
25
|
+
.btn-group.pull-right
|
26
|
+
%a.btn.btn-small.dropdown-toggle{ 'data-toggle' => 'dropdown', 'href' => '#' }
|
27
|
+
%i.icon-th
|
28
|
+
%span.caret
|
29
|
+
%ul.dropdown-menu.pull-right
|
30
|
+
%li
|
31
|
+
= form.input :col_count, collection: brick.class.available_grid_sizes, as: :radio_buttons, label_method: lambda { |col_count| t("kuhsaft.cms.bricks.columns", count: col_count) }
|
32
|
+
|
25
33
|
- if brick_content.present?
|
26
34
|
= brick_content
|
27
35
|
- else
|
@@ -8,7 +8,17 @@ de:
|
|
8
8
|
confirm: 'Wirklich löschen?'
|
9
9
|
empty: 'Hier ist noch nichts.'
|
10
10
|
|
11
|
+
columns:
|
12
|
+
zero: Nicht ins Grid integrieren
|
13
|
+
one: "%{count} Spalte"
|
14
|
+
other: "%{count} Spalten"
|
15
|
+
|
11
16
|
image_bricks:
|
12
17
|
image_brick:
|
13
18
|
edit:
|
14
19
|
image_preview: 'Vorschau'
|
20
|
+
|
21
|
+
activerecord:
|
22
|
+
attributes:
|
23
|
+
kuhsaft/brick:
|
24
|
+
col_count: 'Breite im Grid'
|
File without changes
|
data/lib/kuhsaft.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
module Kuhsaft
|
2
|
+
module Gridded
|
3
|
+
def self.included(base)
|
4
|
+
base.extend(ClassMethods)
|
5
|
+
base.send :include, InstanceMethods
|
6
|
+
end
|
7
|
+
|
8
|
+
module InstanceMethods
|
9
|
+
def gridded?
|
10
|
+
col_count != 0
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
module ClassMethods
|
15
|
+
def available_grid_sizes
|
16
|
+
(0..12).to_a
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/kuhsaft/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Kuhsaft::Gridded do
|
4
|
+
|
5
|
+
context 'included gridded module' do
|
6
|
+
class GridClass
|
7
|
+
include Kuhsaft::Gridded
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'returns an array for the gridded class' do
|
11
|
+
expect(GridClass.available_grid_sizes).to be_kind_of(Array)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'returns false on gridded? if no col count is set' do
|
15
|
+
expect_any_instance_of(GridClass).to receive(:col_count).at_least(:once).and_return(0)
|
16
|
+
expect(GridClass.new.gridded?).to be_false
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'returns true on gridded? if a col count is set' do
|
20
|
+
expect_any_instance_of(GridClass).to receive(:col_count).at_least(:once).and_return(10)
|
21
|
+
expect(GridClass.new.gridded?).to be_true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kuhsaft
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Immanuel Häussermann
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2014-04-
|
15
|
+
date: 2014-04-16 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rspec
|
@@ -539,6 +539,7 @@ files:
|
|
539
539
|
- app/views/kuhsaft/cms/assets/edit.html.haml
|
540
540
|
- app/views/kuhsaft/cms/assets/index.html.haml
|
541
541
|
- app/views/kuhsaft/cms/assets/new.html.haml
|
542
|
+
- app/views/kuhsaft/cms/bricks/_brick_header.html.haml
|
542
543
|
- app/views/kuhsaft/cms/bricks/_brick_item.html.haml
|
543
544
|
- app/views/kuhsaft/cms/bricks/_brick_list.html.haml
|
544
545
|
- app/views/kuhsaft/cms/bricks/_new.html.haml
|
@@ -627,12 +628,14 @@ files:
|
|
627
628
|
- db/migrate/15_add_alt_text_to_bricks.rb
|
628
629
|
- db/migrate/16_update_default_value_for_page_type.rb
|
629
630
|
- db/migrate/17_set_page_type_to_content_for_empty_fields.rb
|
630
|
-
- db/migrate/
|
631
|
+
- db/migrate/18_add_identifier_to_kuhsaft_pages.rb
|
632
|
+
- db/migrate/19_add_col_count_to_bricks.rb
|
631
633
|
- db/seeds.rb
|
632
634
|
- lib/generators/kuhsaft/assets/install_generator.rb
|
633
635
|
- lib/generators/kuhsaft/translations/add_generator.rb
|
634
636
|
- lib/kuhsaft/brick_list.rb
|
635
637
|
- lib/kuhsaft/engine.rb
|
638
|
+
- lib/kuhsaft/gridded.rb
|
636
639
|
- lib/kuhsaft/image_uploader_mounting.rb
|
637
640
|
- lib/kuhsaft/orderable.rb
|
638
641
|
- lib/kuhsaft/page_tree.rb
|
@@ -706,6 +709,7 @@ files:
|
|
706
709
|
- spec/kuhsaft_spec.rb
|
707
710
|
- spec/lib/brick_list_spec.rb
|
708
711
|
- spec/lib/engine_spec.rb
|
712
|
+
- spec/lib/gridded_spec.rb
|
709
713
|
- spec/lib/image_uploader_mounting_spec.rb
|
710
714
|
- spec/lib/page_tree_spec.rb
|
711
715
|
- spec/lib/searchable_spec.rb
|
@@ -810,6 +814,7 @@ test_files:
|
|
810
814
|
- spec/kuhsaft_spec.rb
|
811
815
|
- spec/lib/brick_list_spec.rb
|
812
816
|
- spec/lib/engine_spec.rb
|
817
|
+
- spec/lib/gridded_spec.rb
|
813
818
|
- spec/lib/image_uploader_mounting_spec.rb
|
814
819
|
- spec/lib/page_tree_spec.rb
|
815
820
|
- spec/lib/searchable_spec.rb
|