enjoy_cms_pages 0.4.0.beta3 → 0.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/controllers/concerns/enjoy/pages/blocksetable.rb +27 -4
- data/app/models/concerns/enjoy/pages/connectable.rb +1 -1
- data/enjoy_cms_pages.gemspec +1 -1
- data/lib/enjoy/pages/admin/block.rb +5 -0
- data/lib/enjoy/pages/admin/blockset.rb +13 -0
- data/lib/enjoy/pages/controllers/pages.rb +5 -0
- data/lib/enjoy/pages/models/block.rb +27 -3
- data/lib/enjoy/pages/models/blockset.rb +32 -0
- data/lib/enjoy/pages/models/mongoid/block.rb +1 -0
- data/lib/enjoy/pages/models/mongoid/blockset.rb +6 -0
- data/lib/enjoy/pages/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe01ec663658abf68e20b4f8b69e0e380e1a4709
|
4
|
+
data.tar.gz: 738f1cbfc8942ae093c2b76fe4eb3f16a213d089
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f80df982eeaf1a1058dfaae73fecaa26c4f336c99c92d38d7182ed4eab2857551326f024c033d59c0c6b3bd3efa1aec6eefe031c41a388f16a2a803830824a4
|
7
|
+
data.tar.gz: d8b6a6c4c93f33da3bf1c30267e1fa8e0f81bcc009926843d048463c84b410d35fbf1208594e6ace838aa727b3b96a9c844f4c3893c88b9ceb33854f8607f40d
|
@@ -32,9 +32,15 @@ module Enjoy::Pages::Blocksetable
|
|
32
32
|
def render_blockset(view, type)
|
33
33
|
ret = []
|
34
34
|
begin
|
35
|
-
|
35
|
+
blockset = get_blockset(type)
|
36
|
+
blocks = blockset_get_blocks_for_render(blockset)
|
36
37
|
blocks.each do |block|
|
37
|
-
ret << block.render_or_content_html(view)
|
38
|
+
ret << block.render_or_content_html(view) do |html|
|
39
|
+
after_render_blockset_block block, html
|
40
|
+
end
|
41
|
+
end
|
42
|
+
ret = blockset.render(view, ret.join.html_safe) do |html|
|
43
|
+
after_render_blockset blockset, html
|
38
44
|
end
|
39
45
|
rescue Exception => exception
|
40
46
|
Rails.logger.error exception.message
|
@@ -44,14 +50,31 @@ module Enjoy::Pages::Blocksetable
|
|
44
50
|
capture_exception(exception) if respond_to?(:capture_exception)
|
45
51
|
# ret << blocks || []
|
46
52
|
end
|
47
|
-
ret.join.html_safe
|
53
|
+
ret.is_a?(Array) ? ret.join.html_safe : ret
|
54
|
+
end
|
55
|
+
|
56
|
+
def after_render_blockset_block(block, html)
|
57
|
+
html
|
58
|
+
end
|
59
|
+
|
60
|
+
def after_render_blockset(blockset, html)
|
61
|
+
html
|
62
|
+
end
|
63
|
+
|
64
|
+
def get_blockset(type)
|
65
|
+
type.is_a?(Enjoy::Pages::Blockset) ? type : blockset_class.find(type.to_s)
|
48
66
|
end
|
49
67
|
|
50
68
|
def blockset_get_blocks(type)
|
51
|
-
blockset =
|
69
|
+
blockset = get_blockset type
|
52
70
|
blockset.blocks.enabled.show_in_menu.sorted.to_a if blockset
|
53
71
|
end
|
54
72
|
|
73
|
+
def blockset_get_blocks_for_render(type)
|
74
|
+
blockset = get_blockset type
|
75
|
+
blockset.blocks.enabled.sorted.to_a if blockset
|
76
|
+
end
|
77
|
+
|
55
78
|
def blockset_class_name
|
56
79
|
"Enjoy::Pages::Blockset"
|
57
80
|
end
|
@@ -22,7 +22,7 @@ module Enjoy::Pages::Connectable
|
|
22
22
|
_name_attr = Enjoy::Pages.config.localize ? "name_translations" : "name"
|
23
23
|
class_eval <<-EVAL
|
24
24
|
after_create do
|
25
|
-
if self.enjoy_connectable_autocreate_page
|
25
|
+
if [true, 1, "1", "true", "t"].include?(self.enjoy_connectable_autocreate_page)
|
26
26
|
_p = #{class_name}.new
|
27
27
|
_p.#{_name_attr} = self.#{_name_attr}
|
28
28
|
_p.connectable = self
|
data/enjoy_cms_pages.gemspec
CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency "bundler", "~> 1.10"
|
31
31
|
spec.add_development_dependency "rake", "~> 10.0"
|
32
32
|
|
33
|
-
spec.add_dependency 'enjoy_cms', "~> 0.4.0
|
33
|
+
spec.add_dependency 'enjoy_cms', "~> 0.4.0"
|
34
34
|
|
35
35
|
spec.add_dependency 'simple-navigation'
|
36
36
|
end
|
@@ -37,6 +37,11 @@ module Enjoy::Pages
|
|
37
37
|
field :wrapper_tag, :string
|
38
38
|
field :wrapper_class, :string
|
39
39
|
field :wrapper_id, :string
|
40
|
+
field :wrapper_attributes, :text do
|
41
|
+
formatted_value do
|
42
|
+
bindings[:object] and bindings[:object].wrapper_attributes ? bindings[:object].wrapper_attributes.to_json : "{}"
|
43
|
+
end
|
44
|
+
end
|
40
45
|
end
|
41
46
|
|
42
47
|
# field :content_html, :ck_editor
|
@@ -15,6 +15,19 @@ module Enjoy::Pages
|
|
15
15
|
searchable true
|
16
16
|
end
|
17
17
|
|
18
|
+
group :wrapper do
|
19
|
+
active false
|
20
|
+
field :use_wrapper, :toggle
|
21
|
+
field :wrapper_tag, :string
|
22
|
+
field :wrapper_class, :string
|
23
|
+
field :wrapper_id, :string
|
24
|
+
field :wrapper_attributes, :text do
|
25
|
+
formatted_value do
|
26
|
+
bindings[:object] and bindings[:object].wrapper_attributes ? bindings[:object].wrapper_attributes.to_json : "{}"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
18
31
|
group :blocks do
|
19
32
|
active false
|
20
33
|
field :blocks do
|
@@ -8,6 +8,7 @@ module Enjoy::Pages
|
|
8
8
|
@seo_page = model.enabled.find(params[:id] || params[:slug])
|
9
9
|
end
|
10
10
|
end
|
11
|
+
after_initialize
|
11
12
|
if @seo_page.nil?
|
12
13
|
render_404
|
13
14
|
return true
|
@@ -18,9 +19,13 @@ module Enjoy::Pages
|
|
18
19
|
end
|
19
20
|
end
|
20
21
|
|
22
|
+
private
|
21
23
|
def model
|
22
24
|
Enjoy::Pages::Page
|
23
25
|
end
|
26
|
+
|
27
|
+
def after_initialize
|
28
|
+
end
|
24
29
|
end
|
25
30
|
end
|
26
31
|
end
|
@@ -39,7 +39,13 @@ module Enjoy::Pages
|
|
39
39
|
else
|
40
40
|
ret = self.content_html.html_safe
|
41
41
|
end
|
42
|
-
|
42
|
+
if use_wrapper
|
43
|
+
_attrs = {
|
44
|
+
class: wrapper_class,
|
45
|
+
id: wrapper_id
|
46
|
+
}.merge(wrapper_attributes)
|
47
|
+
ret = view.content_tag wrapper_tag, ret, _attrs
|
48
|
+
end
|
43
49
|
ret = yield ret if block_given?
|
44
50
|
return ret
|
45
51
|
end
|
@@ -67,7 +73,7 @@ module Enjoy::Pages
|
|
67
73
|
end
|
68
74
|
|
69
75
|
def nav_options
|
70
|
-
nav_options_default.
|
76
|
+
nav_options_default.deep_merge(nav_options_additions)
|
71
77
|
end
|
72
78
|
|
73
79
|
def nav_options_default
|
@@ -75,7 +81,8 @@ module Enjoy::Pages
|
|
75
81
|
highlights_on: false,
|
76
82
|
link_html: {
|
77
83
|
data: {
|
78
|
-
pageblock_selector: self.pageblock_selector
|
84
|
+
pageblock_selector: self.pageblock_selector,
|
85
|
+
history_name: self.name
|
79
86
|
}
|
80
87
|
}
|
81
88
|
}
|
@@ -84,6 +91,23 @@ module Enjoy::Pages
|
|
84
91
|
def nav_options_additions
|
85
92
|
{}
|
86
93
|
end
|
94
|
+
|
95
|
+
def wrapper_attributes=(val)
|
96
|
+
if val.is_a? (String)
|
97
|
+
begin
|
98
|
+
begin
|
99
|
+
self[:wrapper_attributes] = JSON.parse(val)
|
100
|
+
rescue
|
101
|
+
self[:wrapper_attributes] = YAML.load(val)
|
102
|
+
end
|
103
|
+
rescue
|
104
|
+
end
|
105
|
+
elsif val.is_a?(Hash)
|
106
|
+
self[:wrapper_attributes] = val
|
107
|
+
else
|
108
|
+
self[:wrapper_attributes] = wrapper_attributes
|
109
|
+
end
|
110
|
+
end
|
87
111
|
end
|
88
112
|
end
|
89
113
|
end
|
@@ -12,6 +12,38 @@ module Enjoy::Pages
|
|
12
12
|
manual_slug :name
|
13
13
|
end
|
14
14
|
|
15
|
+
|
16
|
+
def render(view, content = "")
|
17
|
+
ret = content
|
18
|
+
if use_wrapper
|
19
|
+
_attrs = {
|
20
|
+
class: wrapper_class,
|
21
|
+
id: wrapper_id
|
22
|
+
}.merge(wrapper_attributes)
|
23
|
+
ret = view.content_tag wrapper_tag, ret, _attrs
|
24
|
+
end
|
25
|
+
ret = yield ret if block_given?
|
26
|
+
return ret
|
27
|
+
end
|
28
|
+
|
29
|
+
# def wrapper_attributes=(val)
|
30
|
+
# if val.is_a? (String)
|
31
|
+
# begin
|
32
|
+
# begin
|
33
|
+
# self[:wrapper_attributes] = JSON.parse(val)
|
34
|
+
# rescue
|
35
|
+
# self[:wrapper_attributes] = YAML.load(val)
|
36
|
+
# end
|
37
|
+
# rescue
|
38
|
+
# end
|
39
|
+
# elsif val.is_a?(Hash)
|
40
|
+
# self[:wrapper_attributes] = val
|
41
|
+
# else
|
42
|
+
# self[:wrapper_attributes] = wrapper_attributes
|
43
|
+
# end
|
44
|
+
# end
|
45
|
+
|
46
|
+
|
15
47
|
end
|
16
48
|
end
|
17
49
|
end
|
@@ -20,6 +20,7 @@ module Enjoy::Pages
|
|
20
20
|
field :wrapper_tag, type: String, default: ""
|
21
21
|
field :wrapper_class, type: String, default: ""
|
22
22
|
field :wrapper_id, type: String, default: ""
|
23
|
+
field :wrapper_attributes, type: Hash, default: {}
|
23
24
|
|
24
25
|
field :menu_link_content, type: String
|
25
26
|
field :show_in_menu, type: Boolean, default: true
|
@@ -9,6 +9,12 @@ module Enjoy::Pages
|
|
9
9
|
|
10
10
|
embeds_many :blocks, inverse_of: :blockset, class_name: "Enjoy::Pages::Block"
|
11
11
|
accepts_nested_attributes_for :blocks, allow_destroy: true
|
12
|
+
|
13
|
+
field :use_wrapper, type: Boolean, default: false
|
14
|
+
field :wrapper_tag, type: String, default: ""
|
15
|
+
field :wrapper_class, type: String, default: ""
|
16
|
+
field :wrapper_id, type: String, default: ""
|
17
|
+
field :wrapper_attributes, type: Hash, default: {}
|
12
18
|
end
|
13
19
|
end
|
14
20
|
end
|
data/lib/enjoy/pages/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enjoy_cms_pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.0
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Kiseliev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.4.0
|
47
|
+
version: 0.4.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.4.0
|
54
|
+
version: 0.4.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: simple-navigation
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,9 +152,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
152
152
|
version: '0'
|
153
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
154
|
requirements:
|
155
|
-
- - "
|
155
|
+
- - ">="
|
156
156
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
157
|
+
version: '0'
|
158
158
|
requirements: []
|
159
159
|
rubyforge_project:
|
160
160
|
rubygems_version: 2.5.1
|