scrivito_editors 0.0.13 → 0.0.14
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/CHANGELOG.md +11 -0
- data/Rakefile +12 -0
- data/app/assets/javascripts/scrivito_editors/html_editor.js.coffee +25 -6
- data/app/assets/javascripts/scrivito_editors/link_editor.js.coffee +2 -1
- data/app/assets/javascripts/scrivito_editors/referencelist_editor.js.coffee +1 -1
- data/app/assets/stylesheets/scrivito_editors/buttons.css +1 -1
- data/app/assets/stylesheets/scrivito_editors/editors/html_editor.css +1 -1
- data/app/assets/stylesheets/scrivito_editors/editors/link_editor.css +20 -27
- data/app/assets/stylesheets/scrivito_editors/editors/linklist_editor.css +31 -40
- data/app/assets/stylesheets/scrivito_editors/editors/referencelist_editor.css +18 -19
- data/app/helpers/scrivito_editors/cms_tag_helper.rb +140 -0
- data/lib/scrivito_editors/engine.rb +4 -0
- data/lib/scrivito_editors/version.rb +1 -1
- metadata +21 -6
- data/app/assets/stylesheets/scrivito_editors/editors/text_editor.css +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e68077db1a5df9620e228f62c35ba73a45551155
|
4
|
+
data.tar.gz: 5e123dd72c8dbcc44586e5f597976562ecd60419
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10872a133c7a89f83f011685f357ed0bb247d94c998457f0000871cc91eef2b918b8eb6a3403e6b4386d22499955d64f84731d44eb0c25c1f290a801dd3f04c4
|
7
|
+
data.tar.gz: a32e8317fefc45cc77632a5fb4bedfade91381849df5c98f92758c1595bc9eb206002d6ad822a4df46a6d9bb3cc2ea49d514f5f3d0153d5a12f6a9ae89220b23
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
# v0.0.14
|
2
|
+
* Added the `CmsTagHelper` module containing methods that are needed to render the html for
|
3
|
+
certain editors.
|
4
|
+
You can now safely delete `editing_helper.rb` generated by Scrivito Kickstarter.
|
5
|
+
Kickstarter will still generate this file, while we are in the process of providing you
|
6
|
+
with alternative ways to get you going without the need for Kickstarter.
|
7
|
+
(Keep an eye on https://github.com/infopark/scrivito_example and upcoming Scrivito SDK releases)
|
8
|
+
* Tuned Redactor settings to make the HTML editor less intrusive
|
9
|
+
* Corrected the `jquery-rails` gem version dependency
|
10
|
+
* Solved various editor related issues
|
11
|
+
|
1
12
|
# v0.0.13
|
2
13
|
* Added `autosave` option to the string editor to prevent that on every input the content is saved
|
3
14
|
to the CMS. This is useful when setting a permalink for example, where intermediate strings
|
data/Rakefile
CHANGED
@@ -2,3 +2,15 @@
|
|
2
2
|
|
3
3
|
require 'bundler/setup'
|
4
4
|
Bundler::GemHelper.install_tasks
|
5
|
+
|
6
|
+
namespace :test do
|
7
|
+
task :documentation do
|
8
|
+
output = `yard doc --no-cache --no-stats`.strip
|
9
|
+
if output.empty?
|
10
|
+
puts "YARD documentation check successfully finished."
|
11
|
+
else
|
12
|
+
puts output
|
13
|
+
raise "YARD documentation has complained."
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -5,6 +5,8 @@
|
|
5
5
|
unless @RedactorPlugins?
|
6
6
|
@RedactorPlugins = {}
|
7
7
|
|
8
|
+
@RedactorPlugins.over_aggressive_cleanup_fix = init: -> @cleanSavePreCode = (html) -> html
|
9
|
+
|
8
10
|
# Plugin for closing the editor with a button in the toolbar.
|
9
11
|
@RedactorPlugins.close =
|
10
12
|
init: ->
|
@@ -17,8 +19,17 @@ $ ->
|
|
17
19
|
# Stores redactor options, custom settings and configures callbacks.
|
18
20
|
redactorOptions = ->
|
19
21
|
return {} =
|
20
|
-
|
21
|
-
|
22
|
+
convertLinks: false
|
23
|
+
formattingPre: false
|
24
|
+
paragraphy: false
|
25
|
+
tidyHtml: false
|
26
|
+
|
27
|
+
dropdownShowCallback: -> @_dropdownOpen = true
|
28
|
+
dropdownHideCallback: -> @_dropdownOpen = false
|
29
|
+
modalOpenedCallback: -> @_modalOpen = true
|
30
|
+
modalClosedCallback: -> @_modalOpen = false
|
31
|
+
focusCallback: -> @_hasFocus = true
|
32
|
+
|
22
33
|
buttons: [
|
23
34
|
'formatting', 'bold', 'italic', 'deleted', 'underline',
|
24
35
|
'unorderedlist', 'orderedlist', 'table', 'link', 'html',
|
@@ -26,7 +37,7 @@ $ ->
|
|
26
37
|
|
27
38
|
# This options allows to configure what plugins are loaded. Plugins need to be defined in the
|
28
39
|
# +RedactorPlugins+ namespace.
|
29
|
-
plugins: ['close']
|
40
|
+
plugins: ['close', 'over_aggressive_cleanup_fix']
|
30
41
|
|
31
42
|
# This option allows you to set whether Redactor gets cursor focus on load or not.
|
32
43
|
# http://imperavi.com/redactor/docs/settings/#set-focus
|
@@ -44,8 +55,15 @@ $ ->
|
|
44
55
|
# This callback is triggered when Redactor loses focus.
|
45
56
|
# http://imperavi.com/redactor/docs/callbacks/#callback-blurCallback
|
46
57
|
blurCallback: ->
|
47
|
-
|
48
|
-
|
58
|
+
editor = @
|
59
|
+
editor._hasFocus = false
|
60
|
+
unless @_dropdownOpen || @_modalOpen
|
61
|
+
# workaround for issue with context menu (e. g. unlink) being neither modal nor dropdown
|
62
|
+
setTimeout ->
|
63
|
+
unless editor._hasFocus
|
64
|
+
saveContents(editor)
|
65
|
+
editor.destroy()
|
66
|
+
, 250
|
49
67
|
|
50
68
|
# This callback is triggered when a key is released.
|
51
69
|
# http://imperavi.com/redactor/docs/callbacks/#callback-keyupCallback
|
@@ -82,8 +100,9 @@ $ ->
|
|
82
100
|
cmsField = $(@)
|
83
101
|
|
84
102
|
unless cmsField.hasClass('redactor_editor')
|
85
|
-
cmsField.
|
103
|
+
cmsField.replaceWith(cmsField = cmsField.clone(true, true))
|
86
104
|
cmsField.redactor(redactorOptions())
|
105
|
+
cmsField.redactor('set', cmsField.scrivito('content'), false)
|
87
106
|
cmsField.redactor('focus')
|
88
107
|
|
89
108
|
# Registers all handlers when content has changed.
|
@@ -13,20 +13,11 @@
|
|
13
13
|
border-radius: 5px;
|
14
14
|
-webkit-border-radius: 5px;
|
15
15
|
-moz-border-radius: 5px;
|
16
|
-
margin: 0
|
16
|
+
margin: 0;
|
17
17
|
overflow: hidden;
|
18
|
-
padding:
|
18
|
+
padding: 5px 10px;
|
19
19
|
position: relative;
|
20
|
-
|
21
|
-
|
22
|
-
[data-scrivito-field-type="link"] ul li:last-child {
|
23
|
-
margin: 0;
|
24
|
-
}
|
25
|
-
|
26
|
-
[data-scrivito-field-type="link"] ul li .list-content {
|
27
|
-
float: left;
|
28
|
-
line-height: 35px;
|
29
|
-
width: 70%;
|
20
|
+
border: 1px solid #ddd;
|
30
21
|
}
|
31
22
|
|
32
23
|
[data-scrivito-field-type="link"] ul li .list-content a {
|
@@ -35,46 +26,48 @@
|
|
35
26
|
|
36
27
|
[data-scrivito-field-type="link"] ul li .actions {
|
37
28
|
position: absolute;
|
38
|
-
|
39
|
-
right:
|
29
|
+
bottom: 0;
|
30
|
+
right: 0;
|
40
31
|
}
|
41
32
|
|
42
33
|
[data-scrivito-field-type="link"] ul li .actions .editing-button {
|
34
|
+
border-radius: 0;
|
43
35
|
margin: 0;
|
44
36
|
}
|
45
37
|
|
46
|
-
|
47
38
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="link"] ul li {
|
48
|
-
padding:
|
39
|
+
padding: 0;
|
49
40
|
}
|
50
41
|
|
51
42
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="link"] ul li input {
|
52
43
|
background: #fff;
|
53
|
-
border:
|
54
|
-
-
|
55
|
-
-
|
56
|
-
border-radius: 5px;
|
44
|
+
border: 0px solid #ddd;
|
45
|
+
border-top-width: 1px;
|
46
|
+
border-left-width: 1px;
|
47
|
+
border-radius: 0 0 5px 5px;
|
57
48
|
color: #555555;
|
58
49
|
display: block;
|
59
50
|
float: left;
|
60
51
|
font-size: 14px;
|
61
|
-
height:
|
62
|
-
margin: 0
|
52
|
+
height: 31px;
|
53
|
+
margin: 0;
|
63
54
|
padding: 6px 12px;
|
64
55
|
width: 100%;
|
65
56
|
}
|
66
57
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
58
|
+
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="link"] ul li input:first-child {
|
59
|
+
border-radius: 5px 5px 0 0;
|
60
|
+
border-top-width: 0px;
|
61
|
+
}
|
71
62
|
|
63
|
+
@media (max-width: 550px) {
|
72
64
|
[data-scrivito-field-type="link"] ul li .actions {
|
73
65
|
float: left;
|
74
66
|
position: static;
|
75
67
|
}
|
76
68
|
|
77
69
|
[data-scrivito-field-type="link"] ul li .actions .editing-button {
|
78
|
-
|
70
|
+
border-radius: 5px;
|
71
|
+
margin: 4px 0 0 0;
|
79
72
|
}
|
80
73
|
}
|
@@ -9,56 +9,56 @@
|
|
9
9
|
}
|
10
10
|
|
11
11
|
[data-scrivito-field-type="linklist"] ul li{
|
12
|
-
background-color: #
|
12
|
+
background-color: #f3f3f3;
|
13
13
|
border-radius: 5px;
|
14
14
|
-webkit-border-radius: 5px;
|
15
15
|
-moz-border-radius: 5px;
|
16
|
-
margin:
|
16
|
+
margin: 4px 0;
|
17
17
|
overflow: hidden;
|
18
|
-
padding:
|
18
|
+
padding: 5px 10px;
|
19
19
|
position: relative;
|
20
|
-
|
21
|
-
|
22
|
-
[data-scrivito-field-type="linklist"] ul li:last-child {
|
23
|
-
margin: 0;
|
20
|
+
border: 1px solid #ddd;
|
24
21
|
}
|
25
22
|
|
26
23
|
[data-scrivito-field-type="linklist"] ul li.ui-sortable-placeholder:before {
|
27
24
|
display:none;
|
28
25
|
}
|
29
26
|
|
30
|
-
[data-scrivito-field-type="linklist"] ul li .list-content {
|
31
|
-
float: left;
|
32
|
-
line-height: 35px;
|
33
|
-
width: 70%;
|
34
|
-
}
|
35
|
-
|
36
27
|
[data-scrivito-field-type="linklist"] ul li .list-content a {
|
37
28
|
display:block;
|
38
29
|
}
|
39
30
|
|
40
31
|
[data-scrivito-field-type="linklist"] ul li .actions {
|
41
32
|
position: absolute;
|
42
|
-
|
43
|
-
right:
|
33
|
+
bottom: 0;
|
34
|
+
right: 0;
|
44
35
|
}
|
45
36
|
|
46
37
|
[data-scrivito-field-type="linklist"] ul li .actions .editing-button {
|
47
|
-
|
38
|
+
border-radius: 0;
|
39
|
+
margin: 0;
|
40
|
+
}
|
41
|
+
|
42
|
+
[data-scrivito-field-type="linklist"] ul li .actions .editing-button.delete {
|
43
|
+
margin-left: 1px;
|
44
|
+
float: right;
|
48
45
|
}
|
49
46
|
|
47
|
+
[data-scrivito-field-type="linklist"] ul li .actions .editing-button.resourcebrowser-open {
|
48
|
+
}
|
50
49
|
|
51
50
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="linklist"] ul li {
|
52
|
-
padding:
|
51
|
+
padding: 0 0 0 30px;
|
53
52
|
}
|
54
53
|
|
55
54
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="linklist"] ul li:before {
|
55
|
+
content: "↕";
|
56
56
|
color: #999;
|
57
|
-
|
58
|
-
|
59
|
-
left: 10px;
|
57
|
+
font-size: 19px;
|
58
|
+
line-height: 0;
|
60
59
|
position: absolute;
|
61
|
-
|
60
|
+
left: 7px;
|
61
|
+
top: 50%;
|
62
62
|
}
|
63
63
|
|
64
64
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="linklist"] ul li:hover {
|
@@ -70,36 +70,27 @@
|
|
70
70
|
background: #f3f3f3;
|
71
71
|
border: 2px dashed #9bc2cf;
|
72
72
|
opacity: .5;
|
73
|
+
height: 63px;
|
73
74
|
visibility: visible!important;
|
74
75
|
}
|
75
76
|
|
76
77
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="linklist"] ul li input {
|
77
78
|
background: #fff;
|
78
|
-
border:
|
79
|
-
-
|
80
|
-
-
|
81
|
-
border-radius: 5px;
|
79
|
+
border: 0px solid #ddd;
|
80
|
+
border-top-width: 1px;
|
81
|
+
border-left-width: 1px;
|
82
|
+
border-radius: 0 0 5px 0;
|
82
83
|
color: #555555;
|
83
84
|
display: block;
|
84
85
|
float: left;
|
85
86
|
font-size: 14px;
|
86
|
-
height:
|
87
|
-
margin: 0
|
87
|
+
height: 31px;
|
88
|
+
margin: 0;
|
88
89
|
padding: 6px 12px;
|
89
90
|
width: 100%;
|
90
91
|
}
|
91
92
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
}
|
96
|
-
|
97
|
-
[data-scrivito-field-type="linklist"] ul li .actions {
|
98
|
-
float: left;
|
99
|
-
position: static;
|
100
|
-
}
|
101
|
-
|
102
|
-
[data-scrivito-field-type="linklist"] ul li .actions .editing-button {
|
103
|
-
margin: 0 10px 0 0;
|
104
|
-
}
|
93
|
+
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="linklist"] ul li input:first-child {
|
94
|
+
border-radius: 0 5px 0 0;
|
95
|
+
border-top-width: 0px;
|
105
96
|
}
|
@@ -9,49 +9,47 @@
|
|
9
9
|
}
|
10
10
|
|
11
11
|
[data-scrivito-field-type="referencelist"] ul li {
|
12
|
-
background-color: #
|
12
|
+
background-color: #f3f3f3;
|
13
13
|
border-radius: 5px;
|
14
14
|
-webkit-border-radius: 5px;
|
15
15
|
-moz-border-radius: 5px;
|
16
|
-
margin:
|
16
|
+
margin: 4px 0;
|
17
17
|
overflow: hidden;
|
18
|
-
padding:
|
18
|
+
padding: 5px 10px;
|
19
19
|
position: relative;
|
20
|
-
|
21
|
-
|
22
|
-
[data-scrivito-field-type="referencelist"] ul li:last-child {
|
23
|
-
margin: 0;
|
20
|
+
border: 1px solid #ddd;
|
24
21
|
}
|
25
22
|
|
26
23
|
[data-scrivito-field-type="referencelist"] ul li.ui-sortable-placeholder:before {
|
27
24
|
display:none;
|
28
25
|
}
|
29
26
|
|
30
|
-
[data-scrivito-field-type="referencelist"] ul li .list-content {
|
31
|
-
float: left;
|
32
|
-
width: 70%;
|
33
|
-
line-height: 35px;
|
34
|
-
}
|
35
|
-
|
36
27
|
[data-scrivito-field-type="referencelist"] ul li .actions {
|
37
28
|
float: right;
|
38
29
|
}
|
39
30
|
|
40
31
|
[data-scrivito-field-type="referencelist"] ul li .actions .editing-button {
|
41
|
-
|
32
|
+
position: absolute;
|
33
|
+
top: 0;
|
34
|
+
margin-top: 0;
|
35
|
+
right: -10px;
|
36
|
+
bottom: 0;
|
37
|
+
border-top-left-radius: 0;
|
38
|
+
border-bottom-left-radius: 0;
|
42
39
|
}
|
43
40
|
|
44
41
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="referencelist"] ul li {
|
45
|
-
padding:
|
42
|
+
padding-left: 28px;
|
46
43
|
}
|
47
44
|
|
48
45
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="referencelist"] ul li:before {
|
49
|
-
content:
|
46
|
+
content: "↕";
|
50
47
|
color: #999;
|
51
|
-
font-size:
|
52
|
-
|
48
|
+
font-size: 19px;
|
49
|
+
line-height: 0;
|
53
50
|
position: absolute;
|
54
|
-
|
51
|
+
left: 7px;
|
52
|
+
top: 50%;
|
55
53
|
}
|
56
54
|
|
57
55
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="referencelist"] ul li:hover {
|
@@ -62,6 +60,7 @@
|
|
62
60
|
[data-scrivito-display-mode="editing"] [data-scrivito-field-type="referencelist"] ul li.ui-sortable-placeholder {
|
63
61
|
background: #f3f3f3;
|
64
62
|
border: 2px dashed #9bc2cf;
|
63
|
+
height: 36px;
|
65
64
|
opacity: .5;
|
66
65
|
visibility: visible!important;
|
67
66
|
}
|
@@ -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 ++cms_tag++ method.
|
6
|
+
module CmsTagHelper
|
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 ++cms_tag++ helper
|
13
|
+
def cms_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
|
+
cms_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 ++cms_tag++ helper
|
33
|
+
def cms_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
|
+
cms_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 ++cms_tag++ helper
|
54
|
+
def cms_edit_reference(object, attribute_name, options = {})
|
55
|
+
reference = object[attribute_name]
|
56
|
+
|
57
|
+
cms_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 ++cms_tag++ helper
|
70
|
+
def cms_edit_referencelist(object, attribute_name, options = {})
|
71
|
+
reference_list = object[attribute_name]
|
72
|
+
|
73
|
+
cms_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 ++cms_tag++ helper
|
95
|
+
def cms_edit_linklist(object, attribute_name, options = {})
|
96
|
+
linklist = object[attribute_name]
|
97
|
+
|
98
|
+
cms_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 ++cms_tag++ helper
|
118
|
+
def cms_edit_link(object, attribute_name, options = {})
|
119
|
+
link = object[attribute_name]
|
120
|
+
|
121
|
+
cms_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? ? cms_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.14
|
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-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 5.0.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 5.0.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pry
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: yard
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
description: Scrivito Editors
|
112
126
|
email:
|
113
127
|
- info@infopark.de
|
@@ -150,10 +164,10 @@ files:
|
|
150
164
|
- app/assets/stylesheets/scrivito_editors/editors/link_editor.css
|
151
165
|
- app/assets/stylesheets/scrivito_editors/editors/linklist_editor.css
|
152
166
|
- app/assets/stylesheets/scrivito_editors/editors/referencelist_editor.css
|
153
|
-
- app/assets/stylesheets/scrivito_editors/editors/text_editor.css
|
154
167
|
- app/assets/stylesheets/scrivito_editors/icons.css.erb
|
155
168
|
- app/assets/stylesheets/scrivito_editors/placeholder.css
|
156
169
|
- app/assets/stylesheets/scrivito_editors/widget_preview.css
|
170
|
+
- app/helpers/scrivito_editors/cms_tag_helper.rb
|
157
171
|
- lib/scrivito_editors.rb
|
158
172
|
- lib/scrivito_editors/engine.rb
|
159
173
|
- lib/scrivito_editors/version.rb
|
@@ -177,8 +191,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
191
|
version: '1.8'
|
178
192
|
requirements: []
|
179
193
|
rubyforge_project:
|
180
|
-
rubygems_version: 2.
|
194
|
+
rubygems_version: 2.2.2
|
181
195
|
signing_key:
|
182
196
|
specification_version: 4
|
183
197
|
summary: Scrivito Editors
|
184
198
|
test_files: []
|
199
|
+
has_rdoc:
|