activeadmin_trumbowyg 1.0.0 → 1.2.0

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.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -5
  3. data/Rakefile +11 -0
  4. data/app/assets/fonts/trumbowyg/icons.svg +1 -1
  5. data/app/assets/javascripts/activeadmin/trumbowyg/langs/az.js +63 -0
  6. data/app/assets/javascripts/activeadmin/trumbowyg/langs/az.min.js +9 -0
  7. data/app/assets/javascripts/activeadmin/trumbowyg/langs/ca.js +30 -13
  8. data/app/assets/javascripts/activeadmin/trumbowyg/langs/ca.min.js +8 -5
  9. data/app/assets/javascripts/activeadmin/trumbowyg/langs/cs.js +11 -2
  10. data/app/assets/javascripts/activeadmin/trumbowyg/langs/cs.min.js +1 -1
  11. data/app/assets/javascripts/activeadmin/trumbowyg/langs/da.js +1 -1
  12. data/app/assets/javascripts/activeadmin/trumbowyg/langs/de.js +11 -2
  13. data/app/assets/javascripts/activeadmin/trumbowyg/langs/de.min.js +3 -3
  14. data/app/assets/javascripts/activeadmin/trumbowyg/langs/es_ar.js +1 -1
  15. data/app/assets/javascripts/activeadmin/trumbowyg/langs/et.js +7 -7
  16. data/app/assets/javascripts/activeadmin/trumbowyg/langs/fa.js +1 -1
  17. data/app/assets/javascripts/activeadmin/trumbowyg/langs/fi.js +1 -1
  18. data/app/assets/javascripts/activeadmin/trumbowyg/langs/fr.js +3 -0
  19. data/app/assets/javascripts/activeadmin/trumbowyg/langs/fr.min.js +1 -1
  20. data/app/assets/javascripts/activeadmin/trumbowyg/langs/he.js +1 -1
  21. data/app/assets/javascripts/activeadmin/trumbowyg/langs/hu.js +3 -0
  22. data/app/assets/javascripts/activeadmin/trumbowyg/langs/hu.min.js +1 -1
  23. data/app/assets/javascripts/activeadmin/trumbowyg/langs/id.js +1 -1
  24. data/app/assets/javascripts/activeadmin/trumbowyg/langs/it.js +4 -1
  25. data/app/assets/javascripts/activeadmin/trumbowyg/langs/it.min.js +1 -1
  26. data/app/assets/javascripts/activeadmin/trumbowyg/langs/lt.js +1 -1
  27. data/app/assets/javascripts/activeadmin/trumbowyg/langs/mn.js +39 -39
  28. data/app/assets/javascripts/activeadmin/trumbowyg/langs/{no_nb.js → nb.js} +22 -8
  29. data/app/assets/javascripts/activeadmin/trumbowyg/langs/nb.min.js +15 -0
  30. data/app/assets/javascripts/activeadmin/trumbowyg/langs/pl.js +1 -1
  31. data/app/assets/javascripts/activeadmin/trumbowyg/langs/pt.js +2 -2
  32. data/app/assets/javascripts/activeadmin/trumbowyg/langs/pt_br.js +2 -2
  33. data/app/assets/javascripts/activeadmin/trumbowyg/langs/rs.js +1 -1
  34. data/app/assets/javascripts/activeadmin/trumbowyg/langs/rs_latin.js +1 -1
  35. data/app/assets/javascripts/activeadmin/trumbowyg/langs/sl.js +10 -6
  36. data/app/assets/javascripts/activeadmin/trumbowyg/langs/sl.min.js +2 -1
  37. data/app/assets/javascripts/activeadmin/trumbowyg/langs/sq.js +2 -2
  38. data/app/assets/javascripts/activeadmin/trumbowyg/langs/sv.js +1 -0
  39. data/app/assets/javascripts/activeadmin/trumbowyg/langs/sv.min.js +1 -1
  40. data/app/assets/javascripts/activeadmin/trumbowyg/langs/th.js +33 -33
  41. data/app/assets/javascripts/activeadmin/trumbowyg/langs/tr.js +5 -3
  42. data/app/assets/javascripts/activeadmin/trumbowyg/langs/tr.min.js +1 -1
  43. data/app/assets/javascripts/activeadmin/trumbowyg/langs/zh_cn.js +1 -1
  44. data/app/assets/javascripts/activeadmin/trumbowyg/langs/zh_tw.js +1 -1
  45. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/allowtagsfrompaste/trumbowyg.allowtagsfrompaste.min.js +11 -0
  46. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/base64/trumbowyg.base64.js +28 -1
  47. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/base64/trumbowyg.base64.min.js +8 -1
  48. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/cleanpaste/trumbowyg.cleanpaste.min.js +11 -0
  49. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/colors/trumbowyg.colors.js +39 -2
  50. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/colors/trumbowyg.colors.min.js +10 -1
  51. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/colors/ui/sass/trumbowyg.colors.scss +3 -3
  52. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/colors/ui/trumbowyg.colors.css +45 -40
  53. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/colors/ui/trumbowyg.colors.min.css +1 -1
  54. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/emoji/trumbowyg.emoji.js +916 -848
  55. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/emoji/trumbowyg.emoji.min.js +9 -1
  56. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/emoji/ui/sass/trumbowyg.emoji.scss +3 -3
  57. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/emoji/ui/trumbowyg.emoji.css +23 -18
  58. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/emoji/ui/trumbowyg.emoji.min.css +1 -1
  59. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/fontfamily/trumbowyg.fontfamily.js +22 -7
  60. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/fontfamily/trumbowyg.fontfamily.min.js +1 -1
  61. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/fontsize/trumbowyg.fontsize.js +100 -8
  62. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/fontsize/trumbowyg.fontsize.min.js +1 -1
  63. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/giphy/trumbowyg.giphy.js +251 -172
  64. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/giphy/trumbowyg.giphy.min.js +1 -1
  65. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/giphy/ui/sass/trumbowyg.giphy.scss +17 -16
  66. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/giphy/ui/trumbowyg.giphy.css +60 -47
  67. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/giphy/ui/trumbowyg.giphy.min.css +2 -2
  68. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/highlight/trumbowyg.highlight.js +24 -4
  69. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/highlight/trumbowyg.highlight.min.js +1 -1
  70. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/highlight/ui/sass/trumbowyg.highlight.scss +12 -12
  71. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/highlight/ui/trumbowyg.highlight.css +13 -10
  72. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/highlight/ui/trumbowyg.highlight.min.css +2 -2
  73. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/history/trumbowyg.history.js +6 -61
  74. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/history/trumbowyg.history.min.js +8 -1
  75. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/indent/trumbowyg.indent.js +31 -2
  76. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/indent/trumbowyg.indent.min.js +9 -1
  77. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/insertaudio/trumbowyg.insertaudio.js +18 -0
  78. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/insertaudio/trumbowyg.insertaudio.min.js +8 -1
  79. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/lineheight/trumbowyg.lineheight.js +50 -5
  80. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/lineheight/trumbowyg.lineheight.min.js +1 -1
  81. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mathml/trumbowyg.mathml.js +97 -50
  82. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mathml/trumbowyg.mathml.min.js +8 -1
  83. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mathml/ui/sass/trumbowyg.mathml.scss +31 -26
  84. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mathml/ui/trumbowyg.mathml.css +29 -21
  85. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mathml/ui/trumbowyg.mathml.min.css +2 -2
  86. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mention/trumbowyg.mention.js +12 -0
  87. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mention/trumbowyg.mention.min.js +10 -1
  88. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mention/ui/sass/trumbowyg.mention.scss +3 -3
  89. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mention/ui/trumbowyg.mention.css +16 -17
  90. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/mention/ui/trumbowyg.mention.min.css +2 -2
  91. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/noembed/trumbowyg.noembed.js +51 -20
  92. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/noembed/trumbowyg.noembed.min.js +8 -1
  93. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/pasteembed/trumbowyg.pasteembed.js +36 -53
  94. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/pasteembed/trumbowyg.pasteembed.min.js +10 -1
  95. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/pasteimage/trumbowyg.pasteimage.min.js +9 -0
  96. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/preformatted/trumbowyg.preformatted.js +12 -0
  97. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/preformatted/trumbowyg.preformatted.min.js +8 -1
  98. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/resizimg/trumbowyg.resizimg.min.js +3 -1
  99. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/ruby/trumbowyg.ruby.js +20 -0
  100. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/ruby/trumbowyg.ruby.min.js +10 -1
  101. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/specialchars/trumbowyg.specialchars.js +18 -0
  102. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/specialchars/trumbowyg.specialchars.min.js +8 -1
  103. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/specialchars/ui/sass/trumbowyg.specialchars.scss +3 -3
  104. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/specialchars/ui/trumbowyg.specialchars.css +25 -19
  105. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/specialchars/ui/trumbowyg.specialchars.min.css +1 -1
  106. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/speechrecognition/trumbowyg.speechrecognition.js +198 -0
  107. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/speechrecognition/trumbowyg.speechrecognition.min.js +11 -0
  108. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/table/trumbowyg.table.js +1436 -158
  109. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/table/trumbowyg.table.min.js +11 -1
  110. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/table/ui/sass/trumbowyg.table.scss +157 -32
  111. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/table/ui/trumbowyg.table.css +143 -22
  112. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/table/ui/trumbowyg.table.min.css +2 -2
  113. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/template/trumbowyg.template.js +9 -0
  114. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/template/trumbowyg.template.min.js +1 -1
  115. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/tenor/trumbowyg.tenor.js +319 -0
  116. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/tenor/trumbowyg.tenor.min.js +1 -0
  117. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/tenor/ui/sass/trumbowyg.tenor.scss +124 -0
  118. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/tenor/ui/trumbowyg.tenor.css +119 -0
  119. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/tenor/ui/trumbowyg.tenor.min.css +2 -0
  120. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/upload/trumbowyg.upload.js +119 -76
  121. data/app/assets/javascripts/activeadmin/trumbowyg/plugins/upload/trumbowyg.upload.min.js +13 -1
  122. data/app/assets/javascripts/activeadmin/trumbowyg/trumbowyg.js +126 -80
  123. data/app/assets/javascripts/activeadmin/trumbowyg/trumbowyg.min.js +2 -12
  124. data/app/assets/stylesheets/activeadmin/_trumbowyg_input.scss +3 -1
  125. data/app/assets/stylesheets/activeadmin/trumbowyg/trumbowyg.css +776 -0
  126. data/app/assets/stylesheets/activeadmin/trumbowyg/trumbowyg.min.css +3 -0
  127. data/app/assets/stylesheets/activeadmin/trumbowyg/trumbowyg.min.css.map +1 -0
  128. data/lib/activeadmin/trumbowyg/version.rb +1 -1
  129. data/lib/tasks/trumbowyg.rake +2 -2
  130. metadata +23 -26
  131. data/app/assets/javascripts/activeadmin/trumbowyg/langs/no_nb.min.js +0 -10
  132. data/app/assets/stylesheets/activeadmin/trumbowyg/trumbowyg.scss +0 -836
@@ -43,7 +43,49 @@
43
43
  return object;
44
44
  }
45
45
 
46
- addXhrProgressEvent();
46
+ function runXhrRequest(url, data, options) {
47
+ var xhrRequest = new XMLHttpRequest();
48
+ xhrRequest.open(
49
+ 'POST',
50
+ url,
51
+ true
52
+ );
53
+
54
+ // Set Headers
55
+ Object.keys(options.headers).forEach((headerKey) => {
56
+ xhrRequest.setRequestHeader(headerKey, options.headers[headerKey]);
57
+ });
58
+
59
+ // Set XHR fields
60
+ Object.keys(options.xhrFields).forEach((xhrFieldKey) => {
61
+ xhrRequest[xhrFieldKey] = options.headers[xhrFieldKey];
62
+ });
63
+
64
+ // Progress
65
+ xhrRequest.upload.addEventListener('progress', function (e) {
66
+ options.progress(e);
67
+ }, false);
68
+
69
+ // Success
70
+ xhrRequest.onreadystatechange = function() {
71
+ if (xhrRequest.readyState !== 4) {
72
+ return;
73
+ }
74
+
75
+ if ((xhrRequest.status < 200 || xhrRequest.status >= 300) && xhrRequest.status !== 304) {
76
+ options.error();
77
+ xhrRequest = null;
78
+ return;
79
+ }
80
+
81
+ var jsonResponse = JSON.parse(xhrRequest.responseText);
82
+ options.success(jsonResponse);
83
+
84
+ xhrRequest = null;
85
+ };
86
+
87
+ xhrRequest.send(data);
88
+ }
47
89
 
48
90
  $.extend(true, $.trumbowyg, {
49
91
  langs: {
@@ -53,6 +95,21 @@
53
95
  file: 'File',
54
96
  uploadError: 'Error'
55
97
  },
98
+ az: {
99
+ upload: 'Yüklə',
100
+ file: 'Fayl',
101
+ uploadError: 'Xəta'
102
+ },
103
+ by: {
104
+ upload: 'Загрузка',
105
+ file: 'Файл',
106
+ uploadError: 'Памылка'
107
+ },
108
+ ca: {
109
+ upload: 'Pujar fitxer',
110
+ file: 'Fitxer',
111
+ uploadError: 'Error'
112
+ },
56
113
  cs: {
57
114
  upload: 'Nahrát obrázek',
58
115
  file: 'Soubor',
@@ -68,6 +125,11 @@
68
125
  file: 'Datei',
69
126
  uploadError: 'Fehler'
70
127
  },
128
+ es: {
129
+ upload: 'Subir archivo',
130
+ file: 'Archivo',
131
+ uploadError: 'Error'
132
+ },
71
133
  et: {
72
134
  upload: 'Lae üles',
73
135
  file: 'Fail',
@@ -103,6 +165,11 @@
103
165
  file: 'Файл',
104
166
  uploadError: 'Ошибка'
105
167
  },
168
+ sl: {
169
+ upload: 'Naloži datoteko',
170
+ file: 'Datoteka',
171
+ uploadError: 'Napaka'
172
+ },
106
173
  sk: {
107
174
  upload: 'Nahrať',
108
175
  file: 'Súbor',
@@ -169,15 +236,17 @@
169
236
 
170
237
  // Callback
171
238
  function (values) {
239
+ const uploadPluginOptions = trumbowyg.o.plugins.upload;
240
+
172
241
  if (isUploading) {
173
242
  return;
174
243
  }
175
244
  isUploading = true;
176
245
 
177
246
  var data = new FormData();
178
- data.append(trumbowyg.o.plugins.upload.fileFieldName, file);
247
+ data.append(uploadPluginOptions.fileFieldName, file);
179
248
 
180
- trumbowyg.o.plugins.upload.data.map(function (cur) {
249
+ uploadPluginOptions.data.map(function (cur) {
181
250
  data.append(cur.name, cur.value);
182
251
  });
183
252
 
@@ -200,72 +269,67 @@
200
269
  );
201
270
  }
202
271
 
203
- $.ajax({
204
- url: trumbowyg.o.plugins.upload.serverPath,
205
- headers: trumbowyg.o.plugins.upload.headers,
206
- xhrFields: trumbowyg.o.plugins.upload.xhrFields,
207
- type: 'POST',
208
- data: data,
209
- cache: false,
210
- dataType: 'json',
211
- processData: false,
212
- contentType: false,
213
-
214
- progressUpload: function (e) {
215
- $('.' + prefix + 'progress-bar').css('width', Math.round(e.loaded * 100 / e.total) + '%');
216
- },
217
-
218
- success: function (data) {
219
- if (trumbowyg.o.plugins.upload.success) {
220
- trumbowyg.o.plugins.upload.success(data, trumbowyg, $modal, values);
221
- } else {
222
- if (!!getDeep(data, trumbowyg.o.plugins.upload.statusPropertyName.split('.'))) {
223
- var url = getDeep(data, trumbowyg.o.plugins.upload.urlPropertyName.split('.'));
224
- trumbowyg.execCmd('insertImage', url, false, true);
225
- var $img = $('img[src="' + url + '"]:not([alt])', trumbowyg.$box);
226
- $img.attr('alt', values.alt);
227
- if (trumbowyg.o.plugins.upload.imageWidthModalEdit && parseInt(values.width) > 0) {
228
- $img.attr({
229
- width: values.width
230
- });
231
- }
232
- setTimeout(function () {
233
- trumbowyg.closeModal();
234
- }, 250);
235
- trumbowyg.$c.trigger('tbwuploadsuccess', [trumbowyg, data, url]);
236
- } else {
272
+ runXhrRequest(
273
+ uploadPluginOptions.serverPath,
274
+ data,
275
+ {
276
+ headers: uploadPluginOptions.headers,
277
+ xhrFields: uploadPluginOptions.xhrFields,
278
+
279
+ progress: function (e) {
280
+ $('.' + prefix + 'progress-bar').css('width', Math.round(e.loaded * 100 / e.total) + '%');
281
+ },
282
+
283
+ success: function (data) {
284
+ isUploading = false;
285
+
286
+ if (uploadPluginOptions.success) {
287
+ uploadPluginOptions.success(data, trumbowyg, $modal, values);
288
+ return;
289
+ }
290
+
291
+ if (!getDeep(data, uploadPluginOptions.statusPropertyName.split('.'))) {
237
292
  trumbowyg.addErrorOnModalField(
238
293
  $('input[type=file]', $modal),
239
294
  trumbowyg.lang[data.message]
240
295
  );
241
296
  trumbowyg.$c.trigger('tbwuploaderror', [trumbowyg, data]);
297
+ return;
242
298
  }
243
- }
244
299
 
245
- isUploading = false;
246
- },
300
+ var url = getDeep(data, uploadPluginOptions.urlPropertyName.split('.'));
301
+ trumbowyg.execCmd('insertImage', url, false, true);
302
+ var $img = $('img[src="' + url + '"]:not([alt])', trumbowyg.$box);
303
+ $img.attr('alt', values.alt);
304
+ if (uploadPluginOptions.imageWidthModalEdit && parseInt(values.width) > 0) {
305
+ $img.attr({
306
+ width: values.width
307
+ });
308
+ }
309
+ trumbowyg.syncCode();
310
+ setTimeout(function () {
311
+ trumbowyg.closeModal();
312
+ }, 250);
313
+ trumbowyg.$c.trigger('tbwuploadsuccess', [trumbowyg, data, url]);
314
+ },
247
315
 
248
- error: trumbowyg.o.plugins.upload.error || function () {
249
- trumbowyg.addErrorOnModalField(
250
- $('input[type=file]', $modal),
251
- trumbowyg.lang.uploadError
252
- );
253
- trumbowyg.$c.trigger('tbwuploaderror', [trumbowyg]);
316
+ error: uploadPluginOptions.error || function () {
317
+ trumbowyg.addErrorOnModalField(
318
+ $('input[type=file]', $modal),
319
+ trumbowyg.lang.uploadError
320
+ );
321
+ trumbowyg.$c.trigger('tbwuploaderror', [trumbowyg]);
254
322
 
255
- isUploading = false;
323
+ isUploading = false;
324
+ }
256
325
  }
257
- });
326
+ );
258
327
  }
259
328
  );
260
329
 
261
330
  $('input[type=file]').on('change', function (e) {
262
- try {
263
- // If multiple files allowed, we just get the first.
264
- file = e.target.files[0];
265
- } catch (err) {
266
- // In IE8, multiple files not allowed
267
- file = e.target.value;
268
- }
331
+ // We just get the first.
332
+ file = e.target.files[0];
269
333
  });
270
334
  }
271
335
  };
@@ -275,25 +339,4 @@
275
339
  }
276
340
  }
277
341
  });
278
-
279
- function addXhrProgressEvent() {
280
- if (!$.trumbowyg.addedXhrProgressEvent) { // Avoid adding progress event multiple times
281
- var originalXhr = $.ajaxSettings.xhr;
282
- $.ajaxSetup({
283
- xhr: function () {
284
- var that = this,
285
- req = originalXhr();
286
-
287
- if (req && typeof req.upload === 'object' && that.progressUpload !== undefined) {
288
- req.upload.addEventListener('progress', function (e) {
289
- that.progressUpload(e);
290
- }, false);
291
- }
292
-
293
- return req;
294
- }
295
- });
296
- $.trumbowyg.addedXhrProgressEvent = true;
297
- }
298
- }
299
342
  })(jQuery);
@@ -1 +1,13 @@
1
- !function(r){"use strict";var a={serverPath:"",fileFieldName:"fileToUpload",data:[],headers:{},xhrFields:{},urlPropertyName:"file",statusPropertyName:"success",success:void 0,error:void 0,imageWidthModalEdit:!1};function e(r,a){var o=a.shift(),l=a;if(null!==r){if(0===l.length)return r[o];if("object"==typeof r)return e(r[o],l)}return r}!function(){if(!r.trumbowyg.addedXhrProgressEvent){var a=r.ajaxSettings.xhr;r.ajaxSetup({xhr:function(){var r=this,e=a();return e&&"object"==typeof e.upload&&void 0!==r.progressUpload&&e.upload.addEventListener("progress",(function(a){r.progressUpload(a)}),!1),e}}),r.trumbowyg.addedXhrProgressEvent=!0}}(),r.extend(!0,r.trumbowyg,{langs:{en:{upload:"Upload",file:"File",uploadError:"Error"},cs:{upload:"Nahrát obrázek",file:"Soubor",uploadError:"Chyba"},da:{upload:"Upload",file:"Fil",uploadError:"Fejl"},de:{upload:"Hochladen",file:"Datei",uploadError:"Fehler"},et:{upload:"Lae üles",file:"Fail",uploadError:"Viga"},fr:{upload:"Envoi",file:"Fichier",uploadError:"Erreur"},hu:{upload:"Feltöltés",file:"Fájl",uploadError:"Hiba"},ja:{upload:"アップロード",file:"ファイル",uploadError:"エラー"},ko:{upload:"그림 올리기",file:"파일",uploadError:"에러"},pt_br:{upload:"Enviar do local",file:"Arquivo",uploadError:"Erro"},ru:{upload:"Загрузка",file:"Файл",uploadError:"Ошибка"},sk:{upload:"Nahrať",file:"Súbor",uploadError:"Chyba"},tr:{upload:"Yükle",file:"Dosya",uploadError:"Hata"},zh_cn:{upload:"上传",file:"文件",uploadError:"错误"},zh_tw:{upload:"上傳",file:"文件",uploadError:"錯誤"}},plugins:{upload:{init:function(o){o.o.plugins.upload=r.extend(!0,{},a,o.o.plugins.upload||{});var l={fn:function(){o.saveRange();var a,l=o.o.prefix,t={file:{type:"file",required:!0,attributes:{accept:"image/*"}},alt:{label:"description",value:o.getRangeText()}};o.o.plugins.upload.imageWidthModalEdit&&(t.width={value:""});var d=!1,i=o.openModalInsert(o.lang.upload,t,(function(t){if(!d){d=!0;var u=new FormData;u.append(o.o.plugins.upload.fileFieldName,a),o.o.plugins.upload.data.map((function(r){u.append(r.name,r.value)})),r.map(t,(function(r,a){"file"!==a&&u.append(a,r)})),0===r("."+l+"progress",i).length&&r("."+l+"modal-title",i).after(r("<div/>",{class:l+"progress"}).append(r("<div/>",{class:l+"progress-bar"}))),r.ajax({url:o.o.plugins.upload.serverPath,headers:o.o.plugins.upload.headers,xhrFields:o.o.plugins.upload.xhrFields,type:"POST",data:u,cache:!1,dataType:"json",processData:!1,contentType:!1,progressUpload:function(a){r("."+l+"progress-bar").css("width",Math.round(100*a.loaded/a.total)+"%")},success:function(a){if(o.o.plugins.upload.success)o.o.plugins.upload.success(a,o,i,t);else if(e(a,o.o.plugins.upload.statusPropertyName.split("."))){var l=e(a,o.o.plugins.upload.urlPropertyName.split("."));o.execCmd("insertImage",l,!1,!0);var u=r('img[src="'+l+'"]:not([alt])',o.$box);u.attr("alt",t.alt),o.o.plugins.upload.imageWidthModalEdit&&parseInt(t.width)>0&&u.attr({width:t.width}),setTimeout((function(){o.closeModal()}),250),o.$c.trigger("tbwuploadsuccess",[o,a,l])}else o.addErrorOnModalField(r("input[type=file]",i),o.lang[a.message]),o.$c.trigger("tbwuploaderror",[o,a]);d=!1},error:o.o.plugins.upload.error||function(){o.addErrorOnModalField(r("input[type=file]",i),o.lang.uploadError),o.$c.trigger("tbwuploaderror",[o]),d=!1}})}}));r("input[type=file]").on("change",(function(r){try{a=r.target.files[0]}catch(e){a=r.target.value}}))}};o.addBtnDef("upload",l)}}}})}(jQuery);
1
+ /* ===========================================================
2
+ * trumbowyg.upload.js v1.2
3
+ * Upload plugin for Trumbowyg
4
+ * http://alex-d.github.com/Trumbowyg
5
+ * ===========================================================
6
+ * Author : Alexandre Demode (Alex-D)
7
+ * Twitter : @AlexandreDemode
8
+ * Website : alex-d.fr
9
+ * Mod by : Aleksandr-ru
10
+ * Twitter : @Aleksandr_ru
11
+ * Website : aleksandr.ru
12
+ */
13
+ !function(r){"use strict";var e={serverPath:"",fileFieldName:"fileToUpload",data:[],headers:{},xhrFields:{},urlPropertyName:"file",statusPropertyName:"success",success:void 0,error:void 0,imageWidthModalEdit:!1};function a(r,e){var o=e.shift(),l=e;if(null!==r){if(0===l.length)return r[o];if("object"==typeof r)return a(r[o],l)}return r}r.extend(!0,r.trumbowyg,{langs:{en:{upload:"Upload",file:"File",uploadError:"Error"},az:{upload:"Yüklə",file:"Fayl",uploadError:"Xəta"},by:{upload:"Загрузка",file:"Файл",uploadError:"Памылка"},ca:{upload:"Pujar fitxer",file:"Fitxer",uploadError:"Error"},cs:{upload:"Nahrát obrázek",file:"Soubor",uploadError:"Chyba"},da:{upload:"Upload",file:"Fil",uploadError:"Fejl"},de:{upload:"Hochladen",file:"Datei",uploadError:"Fehler"},es:{upload:"Subir archivo",file:"Archivo",uploadError:"Error"},et:{upload:"Lae üles",file:"Fail",uploadError:"Viga"},fr:{upload:"Envoi",file:"Fichier",uploadError:"Erreur"},hu:{upload:"Feltöltés",file:"Fájl",uploadError:"Hiba"},ja:{upload:"アップロード",file:"ファイル",uploadError:"エラー"},ko:{upload:"그림 올리기",file:"파일",uploadError:"에러"},pt_br:{upload:"Enviar do local",file:"Arquivo",uploadError:"Erro"},ru:{upload:"Загрузка",file:"Файл",uploadError:"Ошибка"},sl:{upload:"Naloži datoteko",file:"Datoteka",uploadError:"Napaka"},sk:{upload:"Nahrať",file:"Súbor",uploadError:"Chyba"},tr:{upload:"Yükle",file:"Dosya",uploadError:"Hata"},zh_cn:{upload:"上传",file:"文件",uploadError:"错误"},zh_tw:{upload:"上傳",file:"文件",uploadError:"錯誤"}},plugins:{upload:{init:function(o){o.o.plugins.upload=r.extend(!0,{},e,o.o.plugins.upload||{});var l={fn:function(){o.saveRange();var e,l=o.o.prefix,t={file:{type:"file",required:!0,attributes:{accept:"image/*"}},alt:{label:"description",value:o.getRangeText()}};o.o.plugins.upload.imageWidthModalEdit&&(t.width={value:""});var i=!1,d=o.openModalInsert(o.lang.upload,t,(function(t){const u=o.o.plugins.upload;if(!i){i=!0;var s=new FormData;s.append(u.fileFieldName,e),u.data.map((function(r){s.append(r.name,r.value)})),r.map(t,(function(r,e){"file"!==e&&s.append(e,r)})),0===r("."+l+"progress",d).length&&r("."+l+"modal-title",d).after(r("<div/>",{class:l+"progress"}).append(r("<div/>",{class:l+"progress-bar"}))),function(r,e,a){var o=new XMLHttpRequest;o.open("POST",r,!0),Object.keys(a.headers).forEach((r=>{o.setRequestHeader(r,a.headers[r])})),Object.keys(a.xhrFields).forEach((r=>{o[r]=a.headers[r]})),o.upload.addEventListener("progress",(function(r){a.progress(r)}),!1),o.onreadystatechange=function(){if(4===o.readyState){if((o.status<200||o.status>=300)&&304!==o.status)return a.error(),void(o=null);var r=JSON.parse(o.responseText);a.success(r),o=null}},o.send(e)}(u.serverPath,s,{headers:u.headers,xhrFields:u.xhrFields,progress:function(e){r("."+l+"progress-bar").css("width",Math.round(100*e.loaded/e.total)+"%")},success:function(e){if(i=!1,u.success)u.success(e,o,d,t);else{if(!a(e,u.statusPropertyName.split(".")))return o.addErrorOnModalField(r("input[type=file]",d),o.lang[e.message]),void o.$c.trigger("tbwuploaderror",[o,e]);var l=a(e,u.urlPropertyName.split("."));o.execCmd("insertImage",l,!1,!0);var s=r('img[src="'+l+'"]:not([alt])',o.$box);s.attr("alt",t.alt),u.imageWidthModalEdit&&parseInt(t.width)>0&&s.attr({width:t.width}),o.syncCode(),setTimeout((function(){o.closeModal()}),250),o.$c.trigger("tbwuploadsuccess",[o,e,l])}},error:u.error||function(){o.addErrorOnModalField(r("input[type=file]",d),o.lang.uploadError),o.$c.trigger("tbwuploaderror",[o]),i=!1}})}}));r("input[type=file]").on("change",(function(r){e=r.target.files[0]}))}};o.addBtnDef("upload",l)}}}})}(jQuery);