tinymce-rails-imageupload 4.0.16.beta → 4.0.17.beta
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/README.md +21 -2
- data/app/assets/javascripts/tinymce/plugins/uploadimage/langs/fr_FR.js +11 -0
- data/app/assets/javascripts/tinymce/plugins/uploadimage/langs/pl.js +11 -0
- data/app/assets/javascripts/tinymce/plugins/uploadimage/langs/pt_BR.js +1 -1
- data/app/assets/javascripts/tinymce/plugins/uploadimage/langs/ru.js +2 -2
- data/app/assets/javascripts/tinymce/plugins/uploadimage/langs/zh_TW.js +11 -0
- data/app/assets/javascripts/tinymce/plugins/uploadimage/plugin.js +35 -10
- data/lib/tinymce-rails-imageupload/version.rb +1 -1
- metadata +8 -5
- checksums.yaml.gz.asc +0 -18
- data.tar.gz.asc +0 -18
- metadata.gz.asc +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70e354fe03dda083a0a20eb576a64086c5aa171a
|
4
|
+
data.tar.gz: c87f8e61f3835e3432bd7a79ea730e793efe5124
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43d24d9d17e0e8b01957cd1893bba0265156202366c58cee4217d93f29671cb0dbe6b231a1268169140fae2dac830da0df5c282db9dcca3d53d7daf76900465b
|
7
|
+
data.tar.gz: 37165aa4548ea84b3ad308055056848a50b130d8dd1be50f68e421b9441880db204054e260a908a468aa1d628d0b92fa5f473c1fb5a4a4e2ce3eab152485f630
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# IMPORTANT NOTE:
|
2
2
|
This version is being rewritten to work with TinyMCE 4.x, and is
|
3
|
-
currently
|
3
|
+
currently not very tested. Use at your own risk, feedback welcome. For the stable version targetting TinyMCE 3, see
|
4
4
|
the [tinymce3 branch](https://github.com/PerfectlyNormal/tinymce-rails-imageupload/tree/tinymce3)
|
5
5
|
|
6
6
|
# tinymce-rails-imageupload
|
@@ -15,6 +15,9 @@ but has since mutated into something entirely different.
|
|
15
15
|
Support for TinyMCE 3 is currently available in the [tinymce3 branch](https://github.com/PerfectlyNormal/tinymce-rails-imageupload/tree/tinymce3).
|
16
16
|
The master branch is targetting TinyMCE 4.x.
|
17
17
|
|
18
|
+
## Demo
|
19
|
+
|
20
|
+
A small demo app demonstrating a working setup for Rails 3.2 ([demo](http://murmuring-lowlands-1342.herokuapp.com/), [source](https://github.com/PerfectlyNormal/tinymce-rails-imageupload-demo3)), and for Rails 4 ([demo](http://murmuring-lowlands-7502.herokuapp.com/), [source](https://github.com/PerfectlyNormal/tinymce-rails-imageupload-demo)) is available for study.
|
18
21
|
|
19
22
|
## Requirements
|
20
23
|
|
@@ -25,7 +28,11 @@ The master branch is targetting TinyMCE 4.x.
|
|
25
28
|
|
26
29
|
### Add the gem to your Gemfile
|
27
30
|
|
28
|
-
gem 'tinymce-rails-imageupload', '~> 4.0.0'
|
31
|
+
gem 'tinymce-rails-imageupload', '~> 4.0.0.beta'
|
32
|
+
|
33
|
+
# or use git
|
34
|
+
|
35
|
+
gem 'tinymce-rails-imageupload', github: 'PerfectlyNormal/tinymce-rails-imageupload'
|
29
36
|
|
30
37
|
### Set up TinyMCE as you would normally, but in the call to `.tinymce()`, add
|
31
38
|
|
@@ -82,6 +89,18 @@ option in the call to `.tinymce()`.
|
|
82
89
|
`class="..."` will only be added to the img tag if a default is specified.
|
83
90
|
Otherwise the inserted HTML is just `<img src="...">`.
|
84
91
|
|
92
|
+
## Asset Pipeline
|
93
|
+
|
94
|
+
Several people have had trouble with asset precompilation using the asset pipeline, both for the locales, and the plugin itself.
|
95
|
+
|
96
|
+
Depending on your version of Rails, and the alignment of the moon, it might work out of the box, or you'll have to add something like this in your configuration:
|
97
|
+
|
98
|
+
`config.assets.precompile += %w( tinymce/plugins/uploadimage/plugin.js tinymce/plugins/uploadimage/langs/en.js )`
|
99
|
+
|
100
|
+
Obviously adjust depending on the language or languages you want to use.
|
101
|
+
|
102
|
+
Since TinyMCE doesn't know about the asset pipeline however, you could just place it under `public/`, and that should probably work as well. As with all things Rails and assets related, YMMV.
|
103
|
+
|
85
104
|
## Error handling
|
86
105
|
|
87
106
|
To notify the uploader that an error occurred, return JSON containing an
|
@@ -0,0 +1,11 @@
|
|
1
|
+
tinyMCE.addI18n('fr_FR', {
|
2
|
+
'Insert an image from your computer': "Envoyer une image de votre ordinateur",
|
3
|
+
'Insert image': "Insérer une image",
|
4
|
+
'Choose an image': "Choisissez une image",
|
5
|
+
'You must choose a file': "Vous devez sélectionner un fichier",
|
6
|
+
'Got a bad response from the server': "Le serveur a envoyé une réponse erronée",
|
7
|
+
"Didn't get a response from the server": "Le serveur n'a pas renvoyé de réponse",
|
8
|
+
'Insert': "Insérer",
|
9
|
+
'Cancel': "Annuler",
|
10
|
+
'Image description': "Description de l'image",
|
11
|
+
});
|
@@ -0,0 +1,11 @@
|
|
1
|
+
tinyMCE.addI18n('pl', {
|
2
|
+
'Insert an image from your computer': 'Wstaw zdjęcie z komputera',
|
3
|
+
'Insert image': 'Wstaw zdjęcie',
|
4
|
+
'Choose an image': "Wybierz zdjęcie",
|
5
|
+
'You must choose a file': "Musisz wybrać plik",
|
6
|
+
'Got a bad response from the server': "Niepoprawna odpowiedź serwera",
|
7
|
+
"Didn't get a response from the server": "Brak odpowiedzi z serwera",
|
8
|
+
'Insert': "Wstaw",
|
9
|
+
'Cancel': "Anuluj",
|
10
|
+
'Image description': "Opis grafiki",
|
11
|
+
});
|
@@ -1,11 +1,11 @@
|
|
1
1
|
tinyMCE.addI18n('ru', {
|
2
2
|
'Insert an image from your computer': 'Вставить изображение с вашего компьютера',
|
3
3
|
'Insert image': "Вставить изображение",
|
4
|
-
'Choose an image': "
|
4
|
+
'Choose an image': "Изображение",
|
5
5
|
'You must choose a file': "Необходимо выбрать файл",
|
6
6
|
'Got a bad response from the server': "Получен некорректный ответ с сервера",
|
7
7
|
"Didn't get a response from the server": "Не получен ответ с сервера",
|
8
8
|
'Insert': "Вставить",
|
9
9
|
'Cancel': "Отмена",
|
10
|
-
'Image description': "Информация
|
10
|
+
'Image description': "Информация",
|
11
11
|
});
|
@@ -0,0 +1,11 @@
|
|
1
|
+
tinyMCE.addI18n("zh-TW", {
|
2
|
+
"Insert an image from your computer": "上傳圖片",
|
3
|
+
"Insert image": "插入圖片",
|
4
|
+
"Choose an image": "選擇圖片",
|
5
|
+
"You must choose a file": "須選擇一張圖片",
|
6
|
+
"Got a bad response from the server": "伺服器回傳錯誤",
|
7
|
+
"Didn't get a response from the server": "伺服器沒有回應",
|
8
|
+
"Insert": "插入",
|
9
|
+
"Cancel": "取消",
|
10
|
+
"Image description": "圖片敘述",
|
11
|
+
});
|
@@ -19,6 +19,9 @@
|
|
19
19
|
{type: 'textbox', name: 'file', label: ed.translate('Choose an image'), subtype: 'file'},
|
20
20
|
{type: 'textbox', name: 'alt', label: ed.translate('Image description')},
|
21
21
|
{type: 'container', classes: 'error', html: "<p style='color: #b94a48;'> </p>"},
|
22
|
+
|
23
|
+
// Trick TinyMCE to add a empty div that "preloads" the throbber image
|
24
|
+
{type: 'container', classes: 'throbber'},
|
22
25
|
],
|
23
26
|
buttons: [
|
24
27
|
{
|
@@ -73,7 +76,18 @@
|
|
73
76
|
var ctrl = inputs[i];
|
74
77
|
|
75
78
|
if(ctrl.tagName.toLowerCase() == 'input' && ctrl.type != "hidden") {
|
76
|
-
ctrl.
|
79
|
+
if(ctrl.type == "file") {
|
80
|
+
ctrl.name = "file";
|
81
|
+
|
82
|
+
// Hack styles
|
83
|
+
tinymce.DOM.setStyles(ctrl, {
|
84
|
+
'border': 0,
|
85
|
+
'boxShadow': 'none',
|
86
|
+
'webkitBoxShadow': 'none',
|
87
|
+
});
|
88
|
+
} else {
|
89
|
+
ctrl.name = "alt";
|
90
|
+
}
|
77
91
|
}
|
78
92
|
}
|
79
93
|
|
@@ -121,25 +135,18 @@
|
|
121
135
|
}
|
122
136
|
|
123
137
|
function handleResponse(ret) {
|
124
|
-
console.group("Handling response");
|
125
|
-
console.log("Raw", ret)
|
126
138
|
try {
|
127
139
|
var json = tinymce.util.JSON.parse(ret);
|
128
|
-
console.log("Parsed", json);
|
129
140
|
|
130
141
|
if(json["error"]) {
|
131
|
-
console.log("It has an error!", json["error"]["message"]);
|
132
142
|
handleError(json["error"]["message"]);
|
133
143
|
} else {
|
134
|
-
console.log("Inserting", buildHTML(json));
|
135
144
|
ed.execCommand('mceInsertContent', false, buildHTML(json));
|
136
145
|
ed.windowManager.close();
|
137
146
|
}
|
138
147
|
} catch(e) {
|
139
|
-
console.log("Bad response :(", e);
|
140
148
|
handleError('Got a bad response from the server');
|
141
149
|
}
|
142
|
-
console.groupEnd();
|
143
150
|
}
|
144
151
|
|
145
152
|
function clearErrors() {
|
@@ -150,7 +157,6 @@
|
|
150
157
|
}
|
151
158
|
|
152
159
|
function handleError(error) {
|
153
|
-
console.log("Handling error", error);
|
154
160
|
var message = win.find(".error")[0].getEl();
|
155
161
|
|
156
162
|
if(message)
|
@@ -170,6 +176,7 @@
|
|
170
176
|
|
171
177
|
function buildHTML(json) {
|
172
178
|
var default_class = ed.getParam("uploadimage_default_img_class", "");
|
179
|
+
var figure = ed.getParam("uploadimage_figure", false);
|
173
180
|
var alt_text = getInputValue("alt");
|
174
181
|
|
175
182
|
var imgstr = "<img src='" + json["image"]["url"] + "'";
|
@@ -184,7 +191,25 @@
|
|
184
191
|
|
185
192
|
imgstr += " alt='" + alt_text + "'/>";
|
186
193
|
|
187
|
-
|
194
|
+
if(figure) {
|
195
|
+
var figureClass = ed.getParam("uploadimage_figure_class", "figure");
|
196
|
+
var figcaptionClass = ed.getParam("uploadimage_figcaption_class", "figcaption");
|
197
|
+
|
198
|
+
var figstr = "<figure";
|
199
|
+
|
200
|
+
if (figureClass !== "")
|
201
|
+
figstr += " class='" + figureClass + "'";
|
202
|
+
figstr += ">" + imgstr;
|
203
|
+
figstr += "<figcaption";
|
204
|
+
if (figcaptionClass != "")
|
205
|
+
figstr += " class='" + figcaptionClass + "'";
|
206
|
+
figstr += ">" + alt_text + "</figcaption>";
|
207
|
+
figstr += "</figure>";
|
208
|
+
|
209
|
+
return figstr;
|
210
|
+
} else {
|
211
|
+
return imgstr;
|
212
|
+
}
|
188
213
|
}
|
189
214
|
|
190
215
|
function getInputValue(name) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tinymce-rails-imageupload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.17.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Per Christian B. Viken
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '3.2'
|
20
20
|
- - <
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '6'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '3.2'
|
30
30
|
- - <
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '6'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: tinymce-rails
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,11 +84,14 @@ files:
|
|
84
84
|
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/en.js
|
85
85
|
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/es.js
|
86
86
|
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/fr.js
|
87
|
+
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/fr_FR.js
|
87
88
|
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/nb.js
|
89
|
+
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/pl.js
|
88
90
|
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/pt.js
|
89
91
|
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/pt_BR.js
|
90
92
|
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/ru.js
|
91
93
|
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/zh-cn.js
|
94
|
+
- app/assets/javascripts/tinymce/plugins/uploadimage/langs/zh_TW.js
|
92
95
|
- app/assets/javascripts/tinymce/plugins/uploadimage/plugin.js
|
93
96
|
- lib/tinymce-rails-imageupload/rails.rb
|
94
97
|
- lib/tinymce-rails-imageupload/version.rb
|
@@ -117,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
120
|
version: 1.3.1
|
118
121
|
requirements: []
|
119
122
|
rubyforge_project:
|
120
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.0.14
|
121
124
|
signing_key:
|
122
125
|
specification_version: 4
|
123
126
|
summary: TinyMCE plugin for taking image uploads in Rails >= 3.2
|
checksums.yaml.gz.asc
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
|
3
|
-
Comment: GPGTools - http://gpgtools.org
|
4
|
-
|
5
|
-
iQIcBAABAgAGBQJTB0BaAAoJEH1ncb0Txu7XQwsP/1NseaDvnBek45KXo8LDZn1a
|
6
|
-
VHAPgAedA6Pd+Q4pAA0KEnB0+SmwAQuTnbsb2npsEOitLq/Nu5lm4OVNfIXFi67m
|
7
|
-
kVksc3LlIdlGH2BybYZPXVFT7KH0D65g40nlO1pgjaAWEtreQlZHoZd9neBZAhIQ
|
8
|
-
lzEFuvP8CdeI6HzyQzq7/Oxcq0vAFjk2DwNiggoQwf9c759tmdvzeHlv4n9yohab
|
9
|
-
KvEz7rxEr2pAgBtW+B3t45y+s84JuLadbgR+Eu3zyMyP+QNiWBd3rXxJhlZ9oEDw
|
10
|
-
JWguDvgkBn9syLNw9Nu6Zp7Nlo0Y+y9HR2sB52bglYN8V3SKGT8ca35GHi+Fmhwc
|
11
|
-
/i2aFOy8EG3+IgmVijuowk4tJIs97NPnIrXGFgPVnBLuy5kSeIq0THFUm6K3Ah1Z
|
12
|
-
0hb7jtleMdJ9DQX2c9gUVw3ISttm3PT10dWDqPdVShdC5Tvx07OJmmGvoeU07Ys0
|
13
|
-
mpRzHqkHePxC3EjWyF5AE4a0o+u7x++AFG11i8dPFu0Qh4Eluei/9KkaeJ3Mp59d
|
14
|
-
3HRZH59L9p+d6s1tMZo1DCkyUu8qG4vWs+nl8SLLHtFt4Xy7Z7uQ37ikPkm0+MgH
|
15
|
-
5y+FfhCdk4nty0KGA1wtMTwgTxR59+nP9R1xu/j2Z5MvqHvvxDWjzGCDNBS3JOSq
|
16
|
-
aU9E6mjRXTSMWhHyDeDZ
|
17
|
-
=gfFY
|
18
|
-
-----END PGP SIGNATURE-----
|
data.tar.gz.asc
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
|
3
|
-
Comment: GPGTools - http://gpgtools.org
|
4
|
-
|
5
|
-
iQIcBAABAgAGBQJTB0BaAAoJEH1ncb0Txu7X6SsP/1q1Hqds47vm5eh6tLgZ8jAd
|
6
|
-
heSSpaYLdXH0FrXO6a3SN37IUFUz3ELhBgrmL97rwcYLoJQD8c9D/lvJox2H6Cut
|
7
|
-
+dzMiFYmNlnoBXKvfaBTY17jOfosltsilQSZqjq+D+EIIeWsPinWGjgjfjZb7No9
|
8
|
-
akuZdD0YMSW75zjtriLRoOqEHJGa9ifrOG7Rbaun/sY+0c1jIP2orr5MpTMSW0V5
|
9
|
-
1PfdVJdcTw+gz0xk0pwcjNsY6+p07KDmr/wxMuLP6vAb5smIAdaSMsUiGs3E0FU2
|
10
|
-
YBDaC2S8WLkWaAEwlOsURocUmjtFfdkJ6pGZMts4qZ2FX5S3XWKRHG7kNzveHNzh
|
11
|
-
1/ZHA7fRS6NOkSZ0GlQ0HTxtdCEflnncYmZM7E2KlE4FdZxZHueDTv0f37oAXKu2
|
12
|
-
oo2D0l2xf3PGdsYdjns4go5jV4l+5Jqwii7ASiJ+wzh/EulMeKSXq0sCn71vx8ZI
|
13
|
-
c+JkoW0ewasLIPhxKpjRi0LJcy6tP2NHm7y9QneZmng31r8sj9KTZ+LlYanMGks2
|
14
|
-
axlkKUuOqMkAmfcW5i/9tBHv8iobu2R/Fn4iy5WPY7myraJEeVeB6n56xeaTkpmq
|
15
|
-
MWVJzIXFFKSLHrmu7qaRArBUeWkAskakMO21rHYvkOellaG9q9EE9Po3bjLbOO1k
|
16
|
-
QlEKSRxWy+s1Zjq2c2pq
|
17
|
-
=Ybtc
|
18
|
-
-----END PGP SIGNATURE-----
|
metadata.gz.asc
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
|
3
|
-
Comment: GPGTools - http://gpgtools.org
|
4
|
-
|
5
|
-
iQIcBAABAgAGBQJTB0BaAAoJEH1ncb0Txu7XNLkP/ia88CVlQT8/RYgTJJAS2IKH
|
6
|
-
0gZ9efK4ePTBRxRjD7eG/2oCnoApsHZkMEZHHmoUOSYQ75LB+zucMgOjO3wp2TF9
|
7
|
-
n7GrW5r03PreR94dDlZPOXKvwMbD9pr+j4NTy/BNw02AI8BiUODQosjhFD9PFveO
|
8
|
-
9xsovwLOHA0SJGaIytntr/3UAT2s6yus29C16BKeUiGWlE7B5jMyirnV0UepOOkh
|
9
|
-
hVrmLz3ltN2F2Bx33Yadl5Q9pf/S7Zn6zfcY2oUm7r2KSJGDwECzJePsx/3jS2nE
|
10
|
-
JYqAA4zTmvRXAKRJnhPmGeFnJJEI2FqR/2I1GICdKrqTpRGFtiJxX9CYDenF+PLk
|
11
|
-
FyXVu+3nFTC3cG7dQ2f/wNDlGyfhqv1l9LqRbtyrBN/rAZSOjSJojGa3wTkDRIXw
|
12
|
-
eEN3n+vpya3AmbJguxbC2/GR+Clslq9BS2TvcR5et0DWL8MOr/TLf8UVe/Z9c48u
|
13
|
-
m1bCQVqFhAXvK7JsYYFDW+6sKk+uBiKyvubN89cDgIjYLCVJfAo5vpIIxZjKVG1x
|
14
|
-
m78OY7jQ3UEoASHV8uvzc3JYWA6Y095QgN7j+2q2H0V7rH7a6+6ry41QwoDChxQ+
|
15
|
-
x5SEMLoxMmpt7urRqZxCJVRgWRuXQxLCNMWpJAZDwpM78bsz9t+qa9TXScsmyKzL
|
16
|
-
fqKEfcX+5glqAnsR92tP
|
17
|
-
=YtUg
|
18
|
-
-----END PGP SIGNATURE-----
|