scrivito_editors 1.15.0 → 1.17.0.rc2
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/LICENSE +1 -1
- data/README.md +1 -1
- data/app/assets/javascripts/scrivito_editors/medium_editor.js +115 -24
- data/app/assets/javascripts/scrivito_editors/placeholder.js +1 -1
- data/app/assets/stylesheets/scrivito_editors/referencelist_editor.css +4 -4
- metadata +7 -9
- data/app/assets/javascripts/scrivito_editors/helpers/placeholder_helper.js +0 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a690eed8a769af8209bb8698194012365f4cc4db0422edd9449f4282b8f72151
|
|
4
|
+
data.tar.gz: 3fb4f11e84799d09656236679f515266375d5dd0a2dce8e645d8269cbdd30460
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 52a198b84dbfe120929f72c693db30a1901d9ffcf534e424816d5ca6555923a25069d546c5be19312f253c8bb4d30d7089fd782107e152d017000adf467a067d
|
|
7
|
+
data.tar.gz: 0cd34437bbe1ecbc5d6d4c88b30e6512e2f1f5ce8622c7e58912bdea5a3f5ad9faa576a87960eb4781a6db79eb64e0227080fe69c4486a1d0ed791b0f60a31d6
|
data/LICENSE
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright (c) 2009 -
|
|
1
|
+
Copyright (c) 2009 - 2020 Infopark Group GmbH (http://www.infopark.com)
|
|
2
2
|
|
|
3
3
|
This software can be used and modified under the LGPL-3.0. Please refer to
|
|
4
4
|
http://www.gnu.org/licenses/lgpl-3.0.html for the license text.
|
data/README.md
CHANGED
|
@@ -12,7 +12,7 @@ Please refer to the
|
|
|
12
12
|
[latest installation and usage instructions](https://scrivito.com/editors).
|
|
13
13
|
|
|
14
14
|
## License
|
|
15
|
-
Copyright (c) 2009 -
|
|
15
|
+
Copyright (c) 2009 - 2020 Infopark Group GmbH (http://www.infopark.com)
|
|
16
16
|
|
|
17
17
|
This software can be used and modified under the LGPL-3.0. Please refer to
|
|
18
18
|
http://www.gnu.org/licenses/lgpl-3.0.html for the license text.
|
|
@@ -10,54 +10,62 @@
|
|
|
10
10
|
MediumEditor.extensions.anchor.prototype.init.apply(this, arguments);
|
|
11
11
|
return this.targetCheckbox = (ref = this.getEditorOption('anchor')) != null ? ref.targetCheckbox : void 0;
|
|
12
12
|
},
|
|
13
|
+
showForm: function(opts) {
|
|
14
|
+
MediumEditor.extensions.anchor.prototype.showForm.call(this, opts);
|
|
15
|
+
return this.updateRelUi(opts);
|
|
16
|
+
},
|
|
13
17
|
handleClick: function(event) {
|
|
14
|
-
var linkElement, selectedParent, selectionRange;
|
|
18
|
+
var href, linkElement, rel, selectedParent, selectionRange, target;
|
|
15
19
|
event.preventDefault();
|
|
16
20
|
event.stopPropagation();
|
|
21
|
+
$('.scrivito_medium_link_collapse').removeClass('show');
|
|
17
22
|
if (!this.isDisplayed()) {
|
|
18
23
|
selectionRange = MediumEditor.selection.getSelectionRange(this.document);
|
|
19
24
|
selectedParent = MediumEditor.selection.getSelectedParentElement(selectionRange);
|
|
20
25
|
linkElement = MediumEditor.util.getClosestTag(selectedParent, 'a');
|
|
26
|
+
href = target = rel = null;
|
|
27
|
+
if (linkElement) {
|
|
28
|
+
linkElement = $(linkElement);
|
|
29
|
+
href = linkElement.attr('href') || null;
|
|
30
|
+
target = linkElement.attr('target') || null;
|
|
31
|
+
rel = linkElement.attr('rel') || null;
|
|
32
|
+
}
|
|
21
33
|
this.showForm({
|
|
22
|
-
value:
|
|
23
|
-
target:
|
|
34
|
+
value: href,
|
|
35
|
+
target: target,
|
|
36
|
+
rel: rel
|
|
24
37
|
});
|
|
25
38
|
}
|
|
26
39
|
return false;
|
|
27
40
|
},
|
|
28
41
|
getTemplate: function() {
|
|
29
|
-
var targetCheckboxTemplate;
|
|
42
|
+
var classTargetCheckboxNA, targetCheckboxTemplate;
|
|
30
43
|
targetCheckboxTemplate = "";
|
|
44
|
+
classTargetCheckboxNA = "scrivito_target_checkbox_not_available";
|
|
31
45
|
if (this.targetCheckbox) {
|
|
32
|
-
targetCheckboxTemplate = "<div class='medium-editor-toolbar-form-row medium-editor-toolbar-anchor-target-toggle'>\n <label>\n <input type='checkbox' class='medium-editor-toolbar-anchor-target'>\n <i class='
|
|
46
|
+
targetCheckboxTemplate = "<div class='medium-editor-toolbar-form-row medium-editor-toolbar-anchor-target-toggle'>\n <label>\n <input type='checkbox' class='medium-editor-toolbar-anchor-target'>\n <i class='scrivito_icon scrivito_link_icon scrivito_icon_new_window scrivito_active_open_in_new_tab ' title='Open link in new tab'></i>\n <i class='scrivito_icon scrivito_link_icon scrivito_icon_new_window' title='Open link in new tab'></i>\n </label>\n</div>";
|
|
47
|
+
classTargetCheckboxNA = "";
|
|
33
48
|
}
|
|
34
|
-
return ("<i class='medium-editor-toolbar-browse scrivito_customer_icon sci_collection'></i>\n<input type='text' class='medium-editor-toolbar-input' placeholder='" + this.placeholderText + "'>\n<
|
|
49
|
+
return ("<i class='medium-editor-toolbar-browse scrivito_customer_icon sci_collection' title='Open Content Browser'></i>\n<input type='text' class='medium-editor-toolbar-input " + classTargetCheckboxNA + "' placeholder='" + this.placeholderText + "'>\n<div class='medium-editor-toolbar-form-wrapper'>\n " + targetCheckboxTemplate + "\n <i class='scrivito_icon scrivito_icon_gear' data-scrivito-medium-editor=\"rel_button\" title='SEO settings'></i>\n <span class='medium-editor-toolbar-save'>Save</span>\n <i class='medium-editor-toolbar-close scrivito_customer_icon sci_cross' style='display: none'></i>\n</div>\n<div class='scrivito_medium_link_collapse'>\n <div class='scrivito_medium_link_collapse_body'>\n <div class='scrivito_medium_detail_label'>Rel attribute value</div>\n <div class='scrivito_medium_notice_body'>\n Search engines use a link's rel attribute to determine how to handle the linked document or resource.\n </div>\n <ul class='scrivito_enum_attribute scrivito_multi'>\n <li data-scrivito-rel=\"noindex\">noindex</li>\n <li data-scrivito-rel=\"nofollow\">nofollow</li>\n <li data-scrivito-rel=\"noarchive\">noarchive</li>\n <li data-scrivito-rel=\"nosnippet\">nosnippet</li>\n <li data-scrivito-rel=\"noopener\">noopener</li>\n <li data-scrivito-rel=\"noreferrer\">noreferrer</li>\n <li data-scrivito-rel=\"notranslate\">notranslate</li>\n </ul>\n </div>\n</div>").replace(/\n\s*/g, "");
|
|
35
50
|
},
|
|
36
51
|
attachFormEvents: function(form) {
|
|
37
52
|
var input;
|
|
38
53
|
MediumEditor.extensions.anchor.prototype.attachFormEvents.call(this, form);
|
|
39
54
|
form = $(form);
|
|
40
55
|
input = form.find('.medium-editor-toolbar-input');
|
|
56
|
+
form.find('[data-scrivito-rel]').on('click', (function(_this) {
|
|
57
|
+
return function(event) {
|
|
58
|
+
return _this.onRelSelectionButtonClick(event);
|
|
59
|
+
};
|
|
60
|
+
})(this));
|
|
61
|
+
form.find('.scrivito_icon_gear').on('click', (function(_this) {
|
|
62
|
+
return function() {
|
|
63
|
+
return _this.onToggleRelPanelButtonClick(form);
|
|
64
|
+
};
|
|
65
|
+
})(this));
|
|
41
66
|
return form.find('.medium-editor-toolbar-browse').on('click', (function(_this) {
|
|
42
67
|
return function() {
|
|
43
|
-
|
|
44
|
-
selection = (id = _this.proxy.idFromPath(input.val())) ? [id] : [];
|
|
45
|
-
cmsField = $(_this.base.origElements);
|
|
46
|
-
scrivito.content_browser.open({
|
|
47
|
-
filters: cmsField.data('scrivitoEditorsFilter'),
|
|
48
|
-
filter_context: cmsField.data('scrivitoEditorsFilterContext'),
|
|
49
|
-
selection: selection,
|
|
50
|
-
selection_mode: 'single'
|
|
51
|
-
}).always(function() {
|
|
52
|
-
return input.focus();
|
|
53
|
-
}).done(function(selection) {
|
|
54
|
-
if (selection.length) {
|
|
55
|
-
return input.val(_this.proxy.pathForId(selection[0]));
|
|
56
|
-
} else {
|
|
57
|
-
return input.val('');
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
return false;
|
|
68
|
+
return _this.onContentBrowserButtonClick(input);
|
|
61
69
|
};
|
|
62
70
|
})(this));
|
|
63
71
|
},
|
|
@@ -65,10 +73,93 @@
|
|
|
65
73
|
this.base.restoreSelection();
|
|
66
74
|
if (opts.value) {
|
|
67
75
|
this.execAction(this.action, opts);
|
|
76
|
+
this.updateRelAttribute(opts);
|
|
68
77
|
} else {
|
|
69
78
|
this.execAction('unlink');
|
|
70
79
|
}
|
|
71
80
|
return this.base.checkSelection();
|
|
81
|
+
},
|
|
82
|
+
getFormOpts: function() {
|
|
83
|
+
var opts;
|
|
84
|
+
opts = MediumEditor.extensions.anchor.prototype.getFormOpts.call(this);
|
|
85
|
+
opts.rel = this.selectedRelValues();
|
|
86
|
+
return opts;
|
|
87
|
+
},
|
|
88
|
+
relButtons: function() {
|
|
89
|
+
return $(this.getForm()).find('.scrivito_enum_attribute.scrivito_multi [data-scrivito-rel]');
|
|
90
|
+
},
|
|
91
|
+
selectedRelValues: function() {
|
|
92
|
+
return this.relButtons().filter('.scrivito_enum_attribute_active').toArray().map(function(button) {
|
|
93
|
+
return button.attributes['data-scrivito-rel'].value;
|
|
94
|
+
}).join(' ');
|
|
95
|
+
},
|
|
96
|
+
updateRelIndicator: function() {
|
|
97
|
+
var selectedClass, toggleRelPanelButton;
|
|
98
|
+
toggleRelPanelButton = $(this.getForm().querySelector('.scrivito_icon_gear'));
|
|
99
|
+
selectedClass = 'scrivito_active_rel_selected';
|
|
100
|
+
if (this.relButtons().hasClass('scrivito_enum_attribute_active')) {
|
|
101
|
+
return toggleRelPanelButton.addClass(selectedClass);
|
|
102
|
+
} else {
|
|
103
|
+
return toggleRelPanelButton.removeClass(selectedClass);
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
updateRelAttribute: function(opts) {
|
|
107
|
+
var elem, linkElement, selectedParent, selectionRange;
|
|
108
|
+
selectionRange = MediumEditor.selection.getSelectionRange(this.document);
|
|
109
|
+
selectedParent = MediumEditor.selection.getSelectedParentElement(selectionRange);
|
|
110
|
+
linkElement = $(MediumEditor.util.getClosestTag(selectedParent, 'a'));
|
|
111
|
+
if (opts.rel) {
|
|
112
|
+
linkElement.attr('rel', opts.rel);
|
|
113
|
+
} else {
|
|
114
|
+
linkElement.removeAttr('rel');
|
|
115
|
+
}
|
|
116
|
+
elem = this.getEditorElements()[0];
|
|
117
|
+
return this.base.trigger('editableInput', {}, elem);
|
|
118
|
+
},
|
|
119
|
+
updateRelUi: function(opts) {
|
|
120
|
+
var ref, rel;
|
|
121
|
+
rel = (ref = opts.rel) != null ? ref.split(/\s+/) : void 0;
|
|
122
|
+
this.relButtons().each(function(_, button) {
|
|
123
|
+
if (rel && rel.indexOf(button.getAttribute('data-scrivito-rel')) !== -1) {
|
|
124
|
+
return button.className = 'scrivito_enum_attribute_active';
|
|
125
|
+
} else {
|
|
126
|
+
return button.className = '';
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
return this.updateRelIndicator();
|
|
130
|
+
},
|
|
131
|
+
onToggleRelPanelButtonClick: function(form) {
|
|
132
|
+
return $(form.find('.scrivito_medium_link_collapse')).toggleClass('show');
|
|
133
|
+
},
|
|
134
|
+
onRelSelectionButtonClick: function(event) {
|
|
135
|
+
var relButton;
|
|
136
|
+
relButton = $(event.target);
|
|
137
|
+
relButton.toggleClass('scrivito_enum_attribute_active');
|
|
138
|
+
return this.updateRelIndicator();
|
|
139
|
+
},
|
|
140
|
+
onContentBrowserButtonClick: function(input) {
|
|
141
|
+
var cmsField, id, selection;
|
|
142
|
+
selection = (id = this.proxy.idFromPath(input.val())) ? [id] : [];
|
|
143
|
+
cmsField = $(this.base.origElements);
|
|
144
|
+
scrivito.content_browser.open({
|
|
145
|
+
filters: cmsField.data('scrivitoEditorsFilter'),
|
|
146
|
+
filter_context: cmsField.data('scrivitoEditorsFilterContext'),
|
|
147
|
+
selection: selection,
|
|
148
|
+
selection_mode: 'single'
|
|
149
|
+
}).always((function(_this) {
|
|
150
|
+
return function() {
|
|
151
|
+
return input.focus();
|
|
152
|
+
};
|
|
153
|
+
})(this)).done((function(_this) {
|
|
154
|
+
return function(selection) {
|
|
155
|
+
if (selection.length) {
|
|
156
|
+
return input.val(_this.proxy.pathForId(selection[0]));
|
|
157
|
+
} else {
|
|
158
|
+
return input.val('');
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
})(this));
|
|
162
|
+
return false;
|
|
72
163
|
}
|
|
73
164
|
});
|
|
74
165
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* scrivito_tag(:div, @obj, :my_attribute, data: { scrivito_editors_placeholder: 'My text' })
|
|
11
11
|
*/
|
|
12
12
|
scrivito.editors.applyPlaceholder = function ($cmsField) {
|
|
13
|
-
if (!$cmsField.is('data-scrivito-editors-placeholder')) {
|
|
13
|
+
if (!$cmsField.is('[data-scrivito-editors-placeholder]')) {
|
|
14
14
|
var fieldName = $cmsField.attr('data-scrivito-field-name');
|
|
15
15
|
var defaultPlaceholder = 'Click to edit the “' + fieldName + '” attribute ...';
|
|
16
16
|
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
border-bottom-left-radius: 0;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
[data-scrivito-
|
|
45
|
+
[data-scrivito-editing] [data-scrivito-field-type="referencelist"] ul li {
|
|
46
46
|
padding-left: 28px;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
[data-scrivito-
|
|
49
|
+
[data-scrivito-editing] [data-scrivito-field-type="referencelist"] ul li:before {
|
|
50
50
|
content: "↕";
|
|
51
51
|
color: #999;
|
|
52
52
|
font-size: 19px;
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
top: 50%;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
[data-scrivito-
|
|
59
|
+
[data-scrivito-editing] [data-scrivito-field-type="referencelist"] ul li:hover {
|
|
60
60
|
background-color: #e6f3f7;
|
|
61
61
|
cursor: move;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
[data-scrivito-
|
|
64
|
+
[data-scrivito-editing] [data-scrivito-field-type="referencelist"] ul li.scrivito-sortable-placeholder {
|
|
65
65
|
background: #f3f3f3;
|
|
66
66
|
border: 2px dashed #9bc2cf;
|
|
67
67
|
height: 36px;
|
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: 1.
|
|
4
|
+
version: 1.17.0.rc2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Scrivito
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-07-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jquery-ui-rails
|
|
@@ -50,28 +50,28 @@ dependencies:
|
|
|
50
50
|
requirements:
|
|
51
51
|
- - '='
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 1.
|
|
53
|
+
version: 1.17.0.rc2
|
|
54
54
|
type: :runtime
|
|
55
55
|
prerelease: false
|
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - '='
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: 1.
|
|
60
|
+
version: 1.17.0.rc2
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
62
|
name: scrivito_sdk
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - '='
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 1.
|
|
67
|
+
version: 1.17.0.rc2
|
|
68
68
|
type: :runtime
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - '='
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 1.
|
|
74
|
+
version: 1.17.0.rc2
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
76
|
name: coffee-rails
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -192,7 +192,6 @@ files:
|
|
|
192
192
|
- app/assets/javascripts/scrivito_editors/filter_context.js
|
|
193
193
|
- app/assets/javascripts/scrivito_editors/helpers/button_container.js
|
|
194
194
|
- app/assets/javascripts/scrivito_editors/helpers/imgly_assets.js.erb
|
|
195
|
-
- app/assets/javascripts/scrivito_editors/helpers/placeholder_helper.js
|
|
196
195
|
- app/assets/javascripts/scrivito_editors/html_editor.js
|
|
197
196
|
- app/assets/javascripts/scrivito_editors/image_editor.js
|
|
198
197
|
- app/assets/javascripts/scrivito_editors/jquery-ui-timepicker-addon-scrivito-namespace.js
|
|
@@ -330,8 +329,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
330
329
|
- !ruby/object:Gem::Version
|
|
331
330
|
version: '1.8'
|
|
332
331
|
requirements: []
|
|
333
|
-
|
|
334
|
-
rubygems_version: 2.7.8
|
|
332
|
+
rubygems_version: 3.1.2
|
|
335
333
|
signing_key:
|
|
336
334
|
specification_version: 4
|
|
337
335
|
summary: Scrivito Editors
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
scrivito.editors._applyPlaceholderToElement = function _applyPlaceholderToElement(domNode) {
|
|
4
|
-
var cmsField = $(domNode);
|
|
5
|
-
if (cmsField.not('[data-scrivito-editors-placeholder]')) {
|
|
6
|
-
cmsField.attr('data-scrivito-editors-placeholder', 'Click to edit');
|
|
7
|
-
}
|
|
8
|
-
};
|