scrivito_editors 0.0.15 → 0.0.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/app/assets/javascripts/scrivito_editors/placeholder.js.coffee +2 -2
- data/app/assets/javascripts/scrivito_editors/text_editor.js.coffee +2 -0
- data/app/helpers/scrivito_editors/scrivito_tag_helper.rb +140 -0
- data/lib/scrivito_editors/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: efb1dd01d9b155f366520f9a2ff0c66b51e8ecd3
|
4
|
+
data.tar.gz: a44c9163f4144a844292e7abaf424748c8e8376c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 089a86e9d7cc05bb436f610d1d2d61f678c7bd3a20c6d812d88a3404ce1473d24b9c47473cce5dd0b0c5b0f773c3012b35c438c35b016ad680b2e09b2fbf3a09
|
7
|
+
data.tar.gz: 3b92cff37bfbe5308ff9b9d93991ce50d4650f01930b4a7aaf1945f3a7cd2ebf35e0a20eee4fe1e4fefe4c7461df497afbf9890e49b630e6f093b847d42dc648
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
# v0.0.16
|
2
|
+
* Bugfix: added a missing constant in text editor
|
3
|
+
* Introduced `ScrivitoTagHelper` for upcoming Scrivito SDK releases
|
4
|
+
(`CmsTagHelper` is still available for compatibility with older releases)
|
5
|
+
|
1
6
|
# v0.0.15
|
2
7
|
* Reduce unwanted `nbsp` in HTML editor
|
3
8
|
* Resolved issues in string and text editor
|
@@ -1,9 +1,9 @@
|
|
1
1
|
$ ->
|
2
2
|
# Display a placeholder for empty CMS attributes. The placeholder can be overwritten by
|
3
|
-
# defining a +data-placeholder+ HTML attribute on the DOM element generated by +
|
3
|
+
# defining a +data-placeholder+ HTML attribute on the DOM element generated by +scrivito_tag+.
|
4
4
|
#
|
5
5
|
# For example:
|
6
|
-
#
|
6
|
+
# scrivito_tag(:div, @obj, :my_attribute, data: { placeholder: 'My custom placeholder text.' })
|
7
7
|
addPlaceholder = ->
|
8
8
|
cmsFields = $('[data-scrivito-field-type]')
|
9
9
|
|
@@ -0,0 +1,140 @@
|
|
1
|
+
module ScrivitoEditors
|
2
|
+
# This module includes helpers that render the HTML for specfic CMS
|
3
|
+
# attributes and their JS editors. These special methods are needed
|
4
|
+
# because the editors need additional information that is not provided
|
5
|
+
# by the Scrivito SDK's ++scrivito_tag++ method.
|
6
|
+
module ScrivitoTagHelper
|
7
|
+
|
8
|
+
# Allows you to edit a CMS ++enum++ attribute using a dropdown
|
9
|
+
#
|
10
|
+
# @param [Obj, Widgegt] object
|
11
|
+
# @param [String, Symbol] attribute_name
|
12
|
+
# @param [Hash] options passed to the ++scrivito_tag++ helper
|
13
|
+
def scrivito_edit_enum(object, attribute_name, options = {})
|
14
|
+
values = object.obj_class.attributes[attribute_name].values
|
15
|
+
values |= [object[attribute_name].to_s]
|
16
|
+
|
17
|
+
options.reverse_merge!({
|
18
|
+
data: {
|
19
|
+
values: values,
|
20
|
+
min: values.min,
|
21
|
+
max: values.max,
|
22
|
+
}
|
23
|
+
})
|
24
|
+
|
25
|
+
scrivito_tag(:div, object, attribute_name, options)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Allows you to edit a CMS ++multienum++ attribute using a multi-select.
|
29
|
+
#
|
30
|
+
# @param [Obj, Widget] object
|
31
|
+
# @param [String, Symbol] attribute_name
|
32
|
+
# @param [Hash] options passed to the ++scrivito_tag++ helper
|
33
|
+
def scrivito_edit_multienum(object, attribute_name, options = {})
|
34
|
+
values = object.obj_class.attributes[attribute_name].values
|
35
|
+
|
36
|
+
options.reverse_merge!({
|
37
|
+
multiple: true,
|
38
|
+
data: {
|
39
|
+
values: values,
|
40
|
+
}
|
41
|
+
})
|
42
|
+
|
43
|
+
scrivito_tag(:div, object, attribute_name, options) do |tag|
|
44
|
+
(object[attribute_name] || []).join(', ')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# Allows you to edit a CMS ++reference++ attribute using the resource
|
49
|
+
# browser.
|
50
|
+
#
|
51
|
+
# @param [Obj, Widget] object
|
52
|
+
# @param [String, Symbol] attribute_name
|
53
|
+
# @param [Hash] options passed to the ++scrivito_tag++ helper
|
54
|
+
def scrivito_edit_reference(object, attribute_name, options = {})
|
55
|
+
reference = object[attribute_name]
|
56
|
+
|
57
|
+
scrivito_tag(:div, object, attribute_name, options) do
|
58
|
+
if reference
|
59
|
+
reference.description_for_editor
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# Allows you to edit a CMS ++referencelist++ attribute using the resource
|
65
|
+
# browser.
|
66
|
+
#
|
67
|
+
# @param [Obj, Widget] object
|
68
|
+
# @param [String, Symbol] attribute_name
|
69
|
+
# @param [Hash] options passed to the ++scrivito_tag++ helper
|
70
|
+
def scrivito_edit_referencelist(object, attribute_name, options = {})
|
71
|
+
reference_list = object[attribute_name]
|
72
|
+
|
73
|
+
scrivito_tag(:div, object, attribute_name, options) do
|
74
|
+
if reference_list.present?
|
75
|
+
content_tag(:ul) do
|
76
|
+
html = ''.html_safe
|
77
|
+
|
78
|
+
reference_list.each do |reference|
|
79
|
+
html << content_tag(:li, data: { name: reference.name, id: reference.id }) do
|
80
|
+
content_tag(:span, reference.description_for_editor, class: 'list-content')
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
html
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# Allows you to edit a CMS ++linklist++ attribute
|
91
|
+
#
|
92
|
+
# @param [Obj, Widget] object
|
93
|
+
# @param [String, Symbol] attribute_name
|
94
|
+
# @param [Hash] options passed to the ++scrivito_tag++ helper
|
95
|
+
def scrivito_edit_linklist(object, attribute_name, options = {})
|
96
|
+
linklist = object[attribute_name]
|
97
|
+
|
98
|
+
scrivito_tag(:div, object, attribute_name, options) do
|
99
|
+
if linklist
|
100
|
+
content_tag(:ul) do
|
101
|
+
html = ''.html_safe
|
102
|
+
|
103
|
+
linklist.each do |link|
|
104
|
+
html << _edit_link_li(link)
|
105
|
+
end
|
106
|
+
|
107
|
+
html
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
# Allows you to edit a CMS ++link++ attribute
|
114
|
+
#
|
115
|
+
# @param [Obj, Widget] object
|
116
|
+
# @param [String, Symbol] attribute_name
|
117
|
+
# @param [Hash] options passed to the ++scrivito_tag++ helper
|
118
|
+
def scrivito_edit_link(object, attribute_name, options = {})
|
119
|
+
link = object[attribute_name]
|
120
|
+
|
121
|
+
scrivito_tag(:div, object, attribute_name, options) do
|
122
|
+
content_tag(:ul) { _edit_link_li(link) } if link
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
private
|
127
|
+
|
128
|
+
def _edit_link_li(link)
|
129
|
+
query = link.query.present? ? "?#{link.query}" : ""
|
130
|
+
url = link.internal? ? scrivito_path(link).sub(/\?.*/, query) : link.url
|
131
|
+
description = link.internal? ? link.obj.description_for_editor : link.url
|
132
|
+
|
133
|
+
content_tag(:li, data: { title: link.title, url: url }) do
|
134
|
+
content_tag(:span, class: 'list-content') do
|
135
|
+
"#{link.title} #{link_to(description, url, target: :_blank)}".html_safe
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scrivito_editors
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scrivito
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -168,6 +168,7 @@ files:
|
|
168
168
|
- app/assets/stylesheets/scrivito_editors/placeholder.css
|
169
169
|
- app/assets/stylesheets/scrivito_editors/widget_preview.css
|
170
170
|
- app/helpers/scrivito_editors/cms_tag_helper.rb
|
171
|
+
- app/helpers/scrivito_editors/scrivito_tag_helper.rb
|
171
172
|
- lib/scrivito_editors.rb
|
172
173
|
- lib/scrivito_editors/engine.rb
|
173
174
|
- lib/scrivito_editors/version.rb
|