kuhsaft 2.3.2 → 2.3.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|