scrivito_editors 1.15.0 → 1.16.0.rc1
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b95f8752ade372a8507f858d86373400373ae0f978082e653ec21748cba5400f
|
4
|
+
data.tar.gz: f8deff3d249d8578e8f3929079fbc70abb7ed5a826b2c49ffdbc953ac07521b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0db15e034691d18e65a2e81f4b122f938875188734e211c19d38ca8232294c93cda53dea243dccae136f9a2ffe53432783c0f4955ee0a9c215a3efe696c7d98e
|
7
|
+
data.tar.gz: 65a634deed5423b047bfaf3de78e518c4dd484e59458ff36a5c135583dd97ae0ce134a3c2009d3a7bf173c52539cc8de80439f3f82a60a6de09a64aac3d711f3
|
data/LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2009 -
|
1
|
+
Copyright (c) 2009 - 2019 Infopark AG (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 - 2019 Infopark AG (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
|
|
@@ -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.16.0.rc1
|
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: 2019-04-10 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.16.0.rc1
|
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.16.0.rc1
|
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.16.0.rc1
|
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.16.0.rc1
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: coffee-rails
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -330,8 +330,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
330
330
|
- !ruby/object:Gem::Version
|
331
331
|
version: '1.8'
|
332
332
|
requirements: []
|
333
|
-
|
334
|
-
rubygems_version: 2.7.8
|
333
|
+
rubygems_version: 3.0.3
|
335
334
|
signing_key:
|
336
335
|
specification_version: 4
|
337
336
|
summary: Scrivito Editors
|