scrivito_editors 0.71.2 → 0.90.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/scrivito_editors/binary_editor.js +41 -0
  3. data/app/assets/javascripts/scrivito_editors/date_editor.js +66 -0
  4. data/app/assets/javascripts/scrivito_editors/default_editor.js +43 -0
  5. data/app/assets/javascripts/scrivito_editors/deprecated_data_attrs.js +44 -0
  6. data/app/assets/javascripts/scrivito_editors/enum_editor.js +68 -0
  7. data/app/assets/javascripts/scrivito_editors/filter_context.js +54 -0
  8. data/app/assets/javascripts/scrivito_editors/helpers/file_dropzone.js +33 -0
  9. data/app/assets/javascripts/scrivito_editors/helpers/imgly_assets.js.erb +5 -0
  10. data/app/assets/javascripts/scrivito_editors/helpers/setup_binary_button_container.js +12 -0
  11. data/app/assets/javascripts/scrivito_editors/html_editor.js +15 -0
  12. data/app/assets/javascripts/scrivito_editors/image_drop_editor.js +52 -0
  13. data/app/assets/javascripts/scrivito_editors/image_editor.js +114 -0
  14. data/app/assets/javascripts/scrivito_editors/link_editor.js +88 -0
  15. data/app/assets/javascripts/scrivito_editors/linklist_editor.js +187 -0
  16. data/app/assets/javascripts/scrivito_editors/medium_editor.js +97 -0
  17. data/app/assets/javascripts/scrivito_editors/multienum_editor.js +48 -0
  18. data/app/assets/javascripts/scrivito_editors/permalink_editor.js +124 -0
  19. data/app/assets/javascripts/scrivito_editors/placeholder.js +37 -0
  20. data/app/assets/javascripts/scrivito_editors/redactor_editor.js +155 -0
  21. data/app/assets/javascripts/scrivito_editors/redactor_plugins/scrivito_editors_image_manager.js +41 -0
  22. data/app/assets/javascripts/scrivito_editors/redactor_plugins/scrivito_editors_link_manager.js +56 -0
  23. data/app/assets/javascripts/scrivito_editors/reference_editor.js +60 -0
  24. data/app/assets/javascripts/scrivito_editors/referencelist_editor.js +120 -0
  25. data/app/assets/javascripts/scrivito_editors/reload.js +14 -0
  26. data/app/assets/javascripts/scrivito_editors/slider_editor.js +62 -0
  27. data/app/assets/javascripts/scrivito_editors/string_editor.js +156 -0
  28. data/app/assets/javascripts/scrivito_editors/stringlist_editor.js +22 -0
  29. data/app/assets/javascripts/scrivito_editors.js +3 -0
  30. data/app/assets/stylesheets/scrivito_editors/editors/medium_editor.css +20 -0
  31. data/app/assets/stylesheets/scrivito_editors/editors/{html_editor.css → redactor_editor.css} +0 -0
  32. data/app/assets/stylesheets/scrivito_editors/editors/referencelist_editor.css +4 -0
  33. data/app/assets/stylesheets/scrivito_editors/placeholder.css +14 -3
  34. data/app/helpers/scrivito_editors/scrivito_tag_helper.rb +40 -135
  35. data/lib/scrivito_editors/engine.rb +0 -1
  36. data/vendor/assets/javascripts/medium-editor.js +6445 -0
  37. data/{app → vendor}/assets/javascripts/redactor.js +0 -0
  38. data/{app/assets/javascripts/scrivito_editors → vendor/assets/javascripts}/redactor_plugins/table.js +0 -0
  39. data/vendor/assets/stylesheets/medium-editor-themes/flat.css +58 -0
  40. data/vendor/assets/stylesheets/medium-editor.css +214 -0
  41. metadata +78 -56
  42. data/app/assets/javascripts/scrivito_editors/binary_editor.js.coffee +0 -25
  43. data/app/assets/javascripts/scrivito_editors/date_editor.js.coffee +0 -59
  44. data/app/assets/javascripts/scrivito_editors/enum_editor.js.coffee +0 -41
  45. data/app/assets/javascripts/scrivito_editors/filter_context.js.coffee +0 -26
  46. data/app/assets/javascripts/scrivito_editors/helpers/file_dropzone.js.coffee +0 -16
  47. data/app/assets/javascripts/scrivito_editors/helpers/setup_binary_button_container.js.coffee +0 -6
  48. data/app/assets/javascripts/scrivito_editors/html_editor.js.coffee +0 -138
  49. data/app/assets/javascripts/scrivito_editors/image_drop_editor.js.coffee +0 -19
  50. data/app/assets/javascripts/scrivito_editors/image_editor.js.coffee.erb +0 -96
  51. data/app/assets/javascripts/scrivito_editors/link_editor.js.coffee +0 -141
  52. data/app/assets/javascripts/scrivito_editors/linklist_editor.js.coffee +0 -197
  53. data/app/assets/javascripts/scrivito_editors/multienum_editor.js.coffee +0 -42
  54. data/app/assets/javascripts/scrivito_editors/permalink_editor.js.coffee +0 -111
  55. data/app/assets/javascripts/scrivito_editors/placeholder.js.coffee +0 -22
  56. data/app/assets/javascripts/scrivito_editors/redactor_plugins/scrivito_editors_image_manager.js.coffee +0 -22
  57. data/app/assets/javascripts/scrivito_editors/redactor_plugins/scrivito_editors_link_manager.js.coffee +0 -49
  58. data/app/assets/javascripts/scrivito_editors/reference_editor.js.coffee +0 -33
  59. data/app/assets/javascripts/scrivito_editors/referencelist_editor.js.coffee +0 -113
  60. data/app/assets/javascripts/scrivito_editors/reload.js.coffee +0 -12
  61. data/app/assets/javascripts/scrivito_editors/slider_editor.js.coffee +0 -41
  62. data/app/assets/javascripts/scrivito_editors/string_editor.js.coffee +0 -136
  63. data/app/assets/javascripts/scrivito_editors/stringlist_editor.js.coffee +0 -13
  64. data/app/helpers/scrivito_editors/cms_tag_helper.rb +0 -36
@@ -0,0 +1,56 @@
1
+ (function() {
2
+ if (this.RedactorPlugins == null) {
3
+ this.RedactorPlugins = {};
4
+ }
5
+
6
+ RedactorPlugins.scrivito_editors_link_manager = function() {
7
+ var self;
8
+ return self = {
9
+ init: function() {
10
+ this.modal.addTemplate('scrivito_link_manager_browse', self.browseButtonHtml);
11
+ this.modal.addTemplate('scrivito_link_manager_url', '/$id');
12
+ this.modal.addCallback('imageEdit', self.addBrowseToModal);
13
+ return this.modal.addCallback('link', self.addBrowseToModal);
14
+ },
15
+ browseButtonHtml: "<button class=\"editing-button editing-green\">\n <i class=\"editing-icon editing-icon-search\"></i>\n Browse\n</button>",
16
+ urlInput: function() {
17
+ return this.modal.getModal().find('#redactor-link-url, #redactor-image-link');
18
+ },
19
+ addBrowseToModal: function() {
20
+ return self.urlInput().wrap('<div id="scrivito-link-manager-url"></div>').after(this.modal.getTemplate('scrivito_link_manager_browse')).siblings('button').on('click', self.browse);
21
+ },
22
+ browse: function() {
23
+ return scrivito.content_browser.open({
24
+ filter: this.$element.data('scrivitoEditorsFilter'),
25
+ filter_context: this.$element.data('scrivitoEditorsFilterContext'),
26
+ selection: self.getObjIds(),
27
+ selection_mode: 'single'
28
+ }).done((function(_this) {
29
+ return function(selection) {
30
+ var id;
31
+ id = selection[0];
32
+ if (id != null) {
33
+ return self.setObjId(id);
34
+ }
35
+ };
36
+ })(this));
37
+ },
38
+ getObjIds: function() {
39
+ var matches;
40
+ matches = self.urlInput().val().match(/[\/:]([a-f0-9]{16})\b/);
41
+ if (matches != null) {
42
+ return [matches[1]];
43
+ } else {
44
+ return [];
45
+ }
46
+ },
47
+ setObjId: function(id) {
48
+ return self.urlInput().val(self.toUrl(id));
49
+ },
50
+ toUrl: function(id) {
51
+ return this.modal.getTemplate('scrivito_link_manager_url').replace("$id", id);
52
+ }
53
+ };
54
+ };
55
+
56
+ }).call(this);
@@ -0,0 +1,60 @@
1
+ (function() {
2
+ var activate, onContentBrowserSave;
3
+
4
+ activate = function(element) {
5
+ var cmsField, objId;
6
+ cmsField = $(element);
7
+ objId = cmsField.scrivito('content');
8
+ if (objId && !cmsField.children().length) {
9
+ scrivito.description_for_editor([objId]).then(function(results) {
10
+ return cmsField.text(results[0]);
11
+ });
12
+ }
13
+ return cmsField.on('click', function(event) {
14
+ var filterContext, filters, isImage, selected;
15
+ event.preventDefault();
16
+ selected = [cmsField.scrivito('content')].filter(function(element) {
17
+ return element;
18
+ });
19
+ isImage = cmsField.is('img');
20
+ filters = cmsField.data('scrivitoEditorsFilters');
21
+ filterContext = $.extend({
22
+ _image: isImage
23
+ }, cmsField.data('scrivitoEditorsFilterContext'));
24
+ return scrivito.content_browser.open({
25
+ filters: filters,
26
+ filter_context: filterContext,
27
+ selection: selected,
28
+ selection_mode: 'single'
29
+ }).done((function(_this) {
30
+ return function(selection) {
31
+ return onContentBrowserSave(selection, cmsField);
32
+ };
33
+ })(this));
34
+ });
35
+ };
36
+
37
+ onContentBrowserSave = function(selection, cmsField) {
38
+ var value;
39
+ value = selection[0] || null;
40
+ cmsField.scrivito('save', value).done(function() {
41
+ cmsField.trigger('save.scrivito_editors');
42
+ return cmsField.scrivito('reload');
43
+ });
44
+ return true;
45
+ };
46
+
47
+ scrivito.editors.reference_editor = {
48
+ can_edit: function(element) {
49
+ return $(element).is('[data-scrivito-field-type=reference]');
50
+ },
51
+ activate: function(element) {
52
+ return activate(element);
53
+ }
54
+ };
55
+
56
+ scrivito.on('load', function() {
57
+ return scrivito.define_editor('reference', scrivito.editors.reference_editor);
58
+ });
59
+
60
+ }).call(this);
@@ -0,0 +1,120 @@
1
+ (function() {
2
+ var activate, collectIds, contentBrowserButtonTemplate, getCmsField, onContentBrowserOpen, remove, render, renderItem, save;
3
+
4
+ renderItem = function(objId) {
5
+ return $("<li data-id=\"" + objId + "\">\n <span class=\"list-content\"></span>\n <div class=\"actions\">\n <a href=\"#\" class=\"editing-button editing-red delete\">\n <i class=\"editing-icon editing-icon-trash\" />\n </a>\n </div>\n</li>");
6
+ };
7
+
8
+ contentBrowserButtonTemplate = function() {
9
+ return $('<button class="editing-button editing-green content-browser-open">\n <i class="editing-icon editing-icon-plus" />\n</button>');
10
+ };
11
+
12
+ getCmsField = function(element) {
13
+ return element.closest('[data-scrivito-field-type=referencelist]');
14
+ };
15
+
16
+ save = function(ids, cmsField, reload) {
17
+ var lastSaved;
18
+ if (reload == null) {
19
+ reload = true;
20
+ }
21
+ lastSaved = cmsField.scrivito('content');
22
+ if (JSON.stringify(ids) !== JSON.stringify(lastSaved)) {
23
+ return cmsField.scrivito('save', ids).done(function() {
24
+ cmsField.trigger('save.scrivito_editors');
25
+ if (reload) {
26
+ return cmsField.scrivito('reload');
27
+ }
28
+ });
29
+ }
30
+ };
31
+
32
+ onContentBrowserOpen = function(event) {
33
+ var cmsField, filterContext, filters;
34
+ event.preventDefault();
35
+ cmsField = getCmsField($(event.currentTarget));
36
+ filters = cmsField.data('scrivitoEditorsFilters');
37
+ filterContext = cmsField.data('scrivitoEditorsFilterContext');
38
+ return scrivito.content_browser.open({
39
+ filters: filters,
40
+ filter_context: filterContext
41
+ }).done((function(_this) {
42
+ return function(selection) {
43
+ var ids;
44
+ ids = cmsField.scrivito('content').concat(selection);
45
+ return save(ids, cmsField);
46
+ };
47
+ })(this));
48
+ };
49
+
50
+ collectIds = function(cmsField) {
51
+ var item, items, value;
52
+ items = $(cmsField).find('[data-id]');
53
+ return value = (function() {
54
+ var i, len, results;
55
+ results = [];
56
+ for (i = 0, len = items.length; i < len; i++) {
57
+ item = items[i];
58
+ results.push($(item).data('id'));
59
+ }
60
+ return results;
61
+ })();
62
+ };
63
+
64
+ remove = function(event) {
65
+ var cmsField, ids, target;
66
+ event.preventDefault();
67
+ target = $(event.currentTarget);
68
+ cmsField = getCmsField(target);
69
+ target.closest('li').remove();
70
+ ids = collectIds(cmsField);
71
+ return save(ids, cmsField, false);
72
+ };
73
+
74
+ render = function(cmsField) {
75
+ var i, len, objId, objIds, ul;
76
+ cmsField.empty();
77
+ objIds = cmsField.scrivito('content');
78
+ if (objIds.length) {
79
+ ul = $('<ul></ul>').appendTo(cmsField);
80
+ for (i = 0, len = objIds.length; i < len; i++) {
81
+ objId = objIds[i];
82
+ ul.append(renderItem(objId));
83
+ }
84
+ scrivito.description_for_editor(objIds).then(function(descriptions) {
85
+ return ul.find('li').each(function(index, element) {
86
+ return $(element).find('> span').text(descriptions[index]);
87
+ });
88
+ });
89
+ }
90
+ return cmsField.append(contentBrowserButtonTemplate);
91
+ };
92
+
93
+ activate = function(dom_element) {
94
+ var cmsField;
95
+ cmsField = $(dom_element);
96
+ render(cmsField);
97
+ return cmsField.on('click', 'li a.delete', remove).on('click', 'button.content-browser-open', onContentBrowserOpen).find('ul').sortable({
98
+ update: function(event) {
99
+ var ids;
100
+ cmsField = getCmsField($(event.target));
101
+ ids = collectIds(cmsField);
102
+ return save(ids, cmsField, false);
103
+ }
104
+ });
105
+ };
106
+
107
+ scrivito.editors.referencelist_editor = {
108
+ can_edit: function(element) {
109
+ return $(element).is('[data-scrivito-field-type=referencelist]');
110
+ },
111
+ activate: function(element) {
112
+ return activate(element);
113
+ }
114
+ };
115
+
116
+ scrivito.on('load', function() {
117
+ return scrivito.define_editor('referencelist', scrivito.editors.referencelist_editor);
118
+ });
119
+
120
+ }).call(this);
@@ -0,0 +1,14 @@
1
+ (function() {
2
+ var selector;
3
+
4
+ selector = '[data-scrivito-field-type][data-scrivito-editors-reload=true]';
5
+
6
+ scrivito.on('content', function() {
7
+ if (scrivito.in_editable_view()) {
8
+ return $(':root').on('scrivito_editors:blur', selector, function(event) {
9
+ return $(this).scrivito("reload");
10
+ });
11
+ }
12
+ });
13
+
14
+ }).call(this);
@@ -0,0 +1,62 @@
1
+ (function() {
2
+ var activate, onSlide, onStop, template;
3
+
4
+ template = function() {
5
+ return $('<div></div>');
6
+ };
7
+
8
+ onStop = function(event, ui) {
9
+ var cmsField, content;
10
+ cmsField = $(this).data('cmsField');
11
+ content = ui.value;
12
+ return cmsField.scrivito('save', content).done(function() {
13
+ cmsField.trigger('save.scrivito_editors');
14
+ return cmsField.trigger('scrivito_editors:blur');
15
+ });
16
+ };
17
+
18
+ onSlide = function(event, ui) {
19
+ var cmsField, content;
20
+ cmsField = $(this).data('cmsField');
21
+ content = ui.value;
22
+ return cmsField.text(ui.value);
23
+ };
24
+
25
+ activate = function(element) {
26
+ return $(element).on('click', function() {
27
+ var cmsField, content, max, min, step;
28
+ cmsField = $(element);
29
+ if (cmsField.data('scrivito_editors_active')) {
30
+ return;
31
+ }
32
+ cmsField.data('scrivito_editors_active', true);
33
+ content = cmsField.scrivito('content');
34
+ min = cmsField.data('scrivito-editors-min');
35
+ max = cmsField.data('scrivito-editors-max');
36
+ step = cmsField.data('scrivito-editors-step');
37
+ return template().data('cmsField', cmsField).insertAfter(cmsField).slider({
38
+ min: parseInt(min) || 1,
39
+ max: parseInt(max) || 10,
40
+ step: parseInt(step) || 1,
41
+ value: parseInt(content) || 0,
42
+ range: 'min',
43
+ slide: onSlide,
44
+ stop: onStop
45
+ }).find('.ui-slider-handle').focus();
46
+ });
47
+ };
48
+
49
+ scrivito.editors.slider_editor = {
50
+ can_edit: function(element) {
51
+ return $(element).is('[data-scrivito-field-type=string]');
52
+ },
53
+ activate: function(element) {
54
+ return activate(element);
55
+ }
56
+ };
57
+
58
+ scrivito.on('load', function() {
59
+ return scrivito.define_editor('slider', scrivito.editors.slider_editor);
60
+ });
61
+
62
+ }).call(this);
@@ -0,0 +1,156 @@
1
+ (function() {
2
+ var DOUBLE_CLICK_MS, _deprecationLogged, activate, cleanUp, cmsFieldAndPastedContent, finishEditing, getCurrentContent, isNewlineAllowed, onBlur, onFocus, onInput, onKey, prepareForEditing, save;
3
+
4
+ onKey = function(event) {
5
+ var cmsField, key;
6
+ cmsField = $(event.currentTarget);
7
+ key = event.keyCode || event.which;
8
+ switch (key) {
9
+ case 13:
10
+ if (!isNewlineAllowed(cmsField)) {
11
+ event.preventDefault();
12
+ return cmsField.blur();
13
+ }
14
+ break;
15
+ case 27:
16
+ event.stopPropagation();
17
+ return cmsField.blur();
18
+ }
19
+ };
20
+
21
+ onInput = function(event) {
22
+ var cmsField;
23
+ cmsField = $(event.currentTarget);
24
+ return save(cmsField);
25
+ };
26
+
27
+ onFocus = function(event) {
28
+ var cmsField;
29
+ cmsField = $(event.currentTarget);
30
+ return prepareForEditing(cmsField);
31
+ };
32
+
33
+ onBlur = function(event) {
34
+ var cmsField;
35
+ cmsField = $(event.currentTarget);
36
+ save(cmsField).done(function() {
37
+ return cmsField.trigger('scrivito_editors:blur');
38
+ });
39
+ return finishEditing(cmsField);
40
+ };
41
+
42
+ save = function(cmsField) {
43
+ var content;
44
+ content = getCurrentContent(cmsField);
45
+ if (content !== cmsField.scrivito('content')) {
46
+ return cmsField.scrivito('save', content).done(function() {
47
+ return cmsField.trigger('save.scrivito_editors');
48
+ });
49
+ } else {
50
+ return $.Deferred().resolve();
51
+ }
52
+ };
53
+
54
+ getCurrentContent = function(cmsField) {
55
+ var clone, content;
56
+ cleanUp(cmsField);
57
+ clone = cmsFieldAndPastedContent(cmsField).clone();
58
+ clone.find('div:not(:has(br)),p:not(:first)').before('\n');
59
+ clone.find('br').replaceWith('\n');
60
+ content = clone.text();
61
+ clone.remove();
62
+ return content;
63
+ };
64
+
65
+ cleanUp = function(cmsField) {
66
+ var pasted, siblings;
67
+ siblings = cmsFieldAndPastedContent(cmsField);
68
+ pasted = siblings.not(cmsField);
69
+ if (pasted.length > 0) {
70
+ pasted.remove();
71
+ return cmsField.text(siblings.text());
72
+ }
73
+ };
74
+
75
+ cmsFieldAndPastedContent = function(cmsField) {
76
+ var needsReset, siblings, siblingsBefore;
77
+ siblingsBefore = cmsField.data('scrivito_editors_siblings_before_edit');
78
+ siblings = cmsField.siblings();
79
+ needsReset = !siblingsBefore || siblings.filter(siblingsBefore).length < siblingsBefore.length;
80
+ if (needsReset) {
81
+ return cmsField.data('scrivito_editors_siblings_before_edit', siblings);
82
+ } else {
83
+ return cmsField.siblings().addBack().not(siblingsBefore);
84
+ }
85
+ };
86
+
87
+ _deprecationLogged = false;
88
+
89
+ isNewlineAllowed = function(cmsField) {
90
+ if (cmsField.data('editor') === 'text') {
91
+ if (!_deprecationLogged) {
92
+ console.warn('Scrivito editors: data-editor="text" is deprecated, please use {data: {scrivito_editors_multiline: true}}, editor: "string" instead.');
93
+ _deprecationLogged = true;
94
+ }
95
+ return true;
96
+ }
97
+ if (cmsField.data('scrivitoEditorsMultiline') === true) {
98
+ return true;
99
+ }
100
+ if (cmsField.data('scrivitoEditorsMultiline') === false) {
101
+ return false;
102
+ }
103
+ return cmsField.css('white-space').match(/pre/);
104
+ };
105
+
106
+ prepareForEditing = function(cmsField) {
107
+ var html, htmlNl2Br;
108
+ if (isNewlineAllowed(cmsField) && !cmsField.data('scrivito_editors_prepared_for_editing')) {
109
+ cmsField.data('scrivito_editors_prepared_for_editing', true);
110
+ html = cmsField.html();
111
+ htmlNl2Br = html.replace(/\n/g, '<br />');
112
+ if (html !== htmlNl2Br) {
113
+ return cmsField.html(htmlNl2Br);
114
+ }
115
+ }
116
+ };
117
+
118
+ finishEditing = function(cmsField) {
119
+ cmsField.data('scrivito_editors_prepared_for_editing', false);
120
+ return cmsField.text(cmsField.scrivito('content'));
121
+ };
122
+
123
+ DOUBLE_CLICK_MS = 300;
124
+
125
+ activate = function(element) {
126
+ var cmsField;
127
+ cmsField = $(element);
128
+ cmsField.attr('contenteditable', true).blur(onBlur).focus(onFocus).keypress(onKey).keyup(onKey);
129
+ if (cmsField.attr('data-scrivito-editors-autosave') !== 'false') {
130
+ cmsField.on('cut input keypress keyup paste', onInput);
131
+ }
132
+ prepareForEditing(cmsField);
133
+ return cmsField.on('click', function(event) {
134
+ cmsField.attr('contenteditable', true);
135
+ cleanUp(cmsField);
136
+ if (!(event.timeStamp - cmsField.data('scrivito_editors_last_click') < DOUBLE_CLICK_MS)) {
137
+ event.preventDefault();
138
+ }
139
+ return cmsField.data('scrivito_editors_last_click', event.timeStamp);
140
+ });
141
+ };
142
+
143
+ scrivito.editors.string_editor = {
144
+ can_edit: function(element) {
145
+ return $(element).is('[data-scrivito-field-type=string]');
146
+ },
147
+ activate: function(element) {
148
+ return activate(element);
149
+ }
150
+ };
151
+
152
+ scrivito.on('load', function() {
153
+ return scrivito.define_editor('string', scrivito.editors.string_editor);
154
+ });
155
+
156
+ }).call(this);
@@ -0,0 +1,22 @@
1
+ (function() {
2
+ scrivito.editors.stringlist_editor = {
3
+ can_edit: function(element) {
4
+ return $(element).is('[data-scrivito-field-type=stringlist]');
5
+ },
6
+ activate: function(element) {
7
+ var field;
8
+ field = $(element);
9
+ return field.tagEditor({
10
+ initialTags: field.scrivito('content'),
11
+ onChange: function(field, editor, tags) {
12
+ return field.scrivito('save', tags);
13
+ }
14
+ });
15
+ }
16
+ };
17
+
18
+ scrivito.on('load', function() {
19
+ return scrivito.define_editor('stringlist', scrivito.editors.stringlist_editor);
20
+ });
21
+
22
+ }).call(this);
@@ -10,5 +10,8 @@
10
10
  // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
11
  // about supported directives.
12
12
  //
13
+ //= require jquery.caret
14
+ //= require jquery.tag-editor
15
+ //= require medium-editor
13
16
  //= require scrivito_editors_addons
14
17
  //= require scrivito_editors_core
@@ -0,0 +1,20 @@
1
+ /*
2
+ *= require medium-editor
3
+ *= require medium-editor-themes/flat
4
+ *= require_self
5
+ */
6
+ .medium-toolbar-arrow-under::after { top: auto;}
7
+ .medium-editor-toolbar { z-index: 11112; margin:0 10px; background:rgba(67, 148, 57, 0.9);
8
+ border-radius:4px;}
9
+ .medium-editor-toolbar li button { height:40px; min-width:40px; padding:10px;
10
+ border:none; margin:1px; background:rgba(0,0,0,.1);
11
+ }
12
+ .medium-editor-toolbar li button * { color: inherit; }
13
+ .medium-editor-toolbar li button .scrivito_customer_icon { font-size:18px;}
14
+ .medium-editor-toolbar-form .scrivito_customer_icon { font-size:18px;
15
+ min-width:40px; height:40px; line-height: 40px!important;
16
+ display:inline-block; text-align:center;
17
+ color: #fff; margin: 1px; background:rgba(0,0,0,.1);
18
+ }
19
+ .medium-editor-toolbar-form .scrivito_customer_icon:hover {background:rgba(0,0,0,.3);}
20
+ .medium-editor-toolbar-form .medium-editor-toolbar-input {margin: 1px;height:40px; background:rgba(0,0,0,.3);}
@@ -20,6 +20,10 @@
20
20
  border: 1px solid #ddd;
21
21
  }
22
22
 
23
+ [data-scrivito-field-type="referencelist"] ul li .list-content {
24
+ display: inline-block;
25
+ }
26
+
23
27
  [data-scrivito-field-type="referencelist"] ul li.ui-sortable-placeholder:before {
24
28
  display:none;
25
29
  }
@@ -2,10 +2,10 @@
2
2
  Placeholder styling for empty CMS attributes. The placeholder text is only displayed, if the
3
3
  element is not focused and it gets a slightly less visible style.
4
4
  */
5
- [data-scrivito-display-mode="editing"] [data-scrivito-field-type]:empty:not(:focus):before {
6
- content: attr(data-placeholder);
5
+ [data-scrivito-display-mode="editing"] [data-scrivito-editors-placeholder]:empty:not(:focus):before {
6
+ content: attr(data-scrivito-editors-placeholder);
7
7
  color: #999;
8
- display: block;
8
+ display: inline-block;
9
9
  font-size: 13px;
10
10
  font-style: normal;
11
11
  font-weight: normal;
@@ -15,4 +15,15 @@
15
15
  text-decoration: none;
16
16
  vertical-align: middle;
17
17
  cursor: pointer;
18
+ white-space: nowrap;
19
+ overflow: hidden;
20
+ text-overflow: ellipsis;
21
+ max-width: 100%;
22
+ }
23
+
24
+ /* Firefox: Let the input cursor appear at the expected position */
25
+ [data-scrivito-display-mode="editing"] [data-scrivito-editors-placeholder]:empty:focus:after,
26
+ [data-scrivito-display-mode="editing"] [data-scrivito-editors-placeholder]:empty:focus:before {
27
+ content: " ";
28
+ display: inline-block;
18
29
  }