Skip to content
This repository was archived by the owner on Jul 14, 2022. It is now read-only.

Commit 61317d6

Browse files
Merge pull request #96 from bendyworks/cleanup
Cleanup formatting
2 parents f0f85f7 + 8d7941a commit 61317d6

File tree

1 file changed

+111
-95
lines changed
  • app/assets/javascripts/tinymce/plugins/uploadimage

1 file changed

+111
-95
lines changed

app/assets/javascripts/tinymce/plugins/uploadimage/plugin.js

Lines changed: 111 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -4,104 +4,109 @@
44
tinymce.create('tinymce.plugins.UploadImage', {
55
UploadImage: function(ed, url) {
66
var form,
7-
iframe,
8-
win,
9-
throbber,
10-
selected_class = '',
11-
editor = ed;
7+
iframe,
8+
win,
9+
throbber,
10+
selectedClass = '',
11+
editor = ed;
1212

1313
function showDialog() {
1414
var classList = getClassList();
1515
var body = [
16-
{type: 'iframe', url: 'javascript:void(0)'},
17-
{type: 'textbox', name: 'file', label: ed.translate('Choose an image'), subtype: 'file'},
18-
{type: 'textbox', name: 'alt', label: ed.translate('Image description')}
16+
{ type: 'iframe', url: 'javascript:void(0)' },
17+
{ type: 'textbox', name: 'file', label: ed.translate('Choose an image'), subtype: 'file' },
18+
{ type: 'textbox', name: 'alt', label: ed.translate('Image description') }
1919
];
2020

2121
if (classList.length > 0) {
22-
selected_class = classList[0].value;
22+
selectedClass = classList[0].value;
2323
body = body.concat([
2424
{
2525
type: 'listbox',
2626
name: 'class',
2727
label: ed.translate('Class'),
2828
values: classList,
2929
onSelect: function(e) {
30-
selected_class = this.value();
30+
selectedClass = this.value();
3131
}
3232
}
3333
]);
3434
}
3535

3636
body = body.concat([
37-
{type: 'container', classes: 'error', html: "<p style='color: #b94a48;'>&nbsp;</p>"},
37+
{ type: 'container', classes: 'error', html: "<p style='color: #b94a48;'>&nbsp;</p>" },
3838

3939
// Trick TinyMCE to add a empty div that "preloads" the throbber image
40-
{type: 'container', classes: 'throbber'}
40+
{ type: 'container', classes: 'throbber' }
4141
]);
4242

43-
win = editor.windowManager.open({
44-
title: ed.translate('Insert an image from your computer'),
45-
width: 520 + parseInt(editor.getLang('uploadimage.delta_width', 0), 10),
46-
height: 180 + parseInt(editor.getLang('uploadimage.delta_height', 0), 10),
47-
body: body,
48-
buttons: [
49-
{
50-
text: ed.translate('Insert'),
51-
onclick: insertImage,
52-
subtype: 'primary'
53-
},
54-
{
55-
text: ed.translate('Cancel'),
56-
onclick: ed.windowManager.close
57-
}
58-
],
59-
}, {
60-
plugin_url: url
61-
});
43+
win = editor.windowManager.open(
44+
{
45+
title: ed.translate('Insert an image from your computer'),
46+
width: 520 + parseInt(editor.getLang('uploadimage.delta_width', 0), 10),
47+
height: 180 + parseInt(editor.getLang('uploadimage.delta_height', 0), 10),
48+
body: body,
49+
buttons: [
50+
{
51+
text: ed.translate('Insert'),
52+
onclick: insertImage,
53+
subtype: 'primary'
54+
},
55+
{
56+
text: ed.translate('Cancel'),
57+
onclick: ed.windowManager.close
58+
}
59+
]
60+
},
61+
{
62+
plugin_url: url
63+
}
64+
);
6265

6366
/* WHY DO YOU HATE <form>, TINYMCE!? */
64-
iframe = win.find("iframe")[0];
67+
iframe = win.find('iframe')[0];
6568
form = createElement('form', {
66-
action: ed.getParam("uploadimage_form_url", "/tinymce_assets"),
69+
action: ed.getParam('uploadimage_form_url', '/tinymce_assets'),
6770
target: iframe._id,
68-
method: "POST",
71+
method: 'POST',
6972
enctype: 'multipart/form-data',
70-
accept_charset: "UTF-8",
73+
accept_charset: 'UTF-8'
7174
});
7275

7376
// Might have several instances on the same page,
7477
// so we TinyMCE create unique IDs and use those.
7578
iframe.getEl().name = iframe._id;
7679

7780
// Create some needed hidden inputs
78-
form.appendChild(createElement('input', {type: "hidden", name: "utf8", value: "✓"}));
79-
form.appendChild(createElement('input', {type: 'hidden', name: 'authenticity_token', value: getMetaContents('csrf-token')}));
80-
form.appendChild(createElement('input', {type: 'hidden', name: hintName(), value: hintValue()}));
81+
form.appendChild(createElement('input', { type: 'hidden', name: 'utf8', value: '✓' }));
82+
form.appendChild(
83+
createElement('input', { type: 'hidden', name: 'authenticity_token', value: getMetaContents('csrf-token') })
84+
);
85+
form.appendChild(createElement('input', { type: 'hidden', name: hintName(), value: hintValue() }));
8186

8287
var el = win.getEl();
83-
var body = document.getElementById(el.id + "-body");
88+
var body = document.getElementById(el.id + '-body');
8489

8590
// Copy everything TinyMCE made into our form
8691
var containers = body.getElementsByClassName('mce-container');
87-
for(var i = 0; i < containers.length; i++) {
92+
for (var i = 0; i < containers.length; i++) {
8893
form.appendChild(containers[i]);
8994
}
9095

9196
// Fix inputs, since TinyMCE hates HTML and forms
9297
var inputs = form.getElementsByTagName('input');
93-
for(var i = 0; i < inputs.length; i++) {
98+
for (var i = 0; i < inputs.length; i++) {
9499
var ctrl = inputs[i];
95100

96-
if(ctrl.tagName.toLowerCase() == 'input' && ctrl.type != "hidden") {
97-
if(ctrl.type == "file") {
101+
if (ctrl.tagName.toLowerCase() === 'input' && ctrl.type !== 'hidden') {
102+
if (ctrl.type === 'file') {
98103
ctrl.name = inputName('file');
99104

100105
// Hack styles
101106
tinymce.DOM.setStyles(ctrl, {
102-
'border': 0,
103-
'boxShadow': 'none',
104-
'webkitBoxShadow': 'none',
107+
border: 0,
108+
boxShadow: 'none',
109+
webkitBoxShadow: 'none'
105110
});
106111
} else {
107112
ctrl.name = inputName('alt');
@@ -129,7 +134,7 @@
129134
}
130135

131136
function insertImage() {
132-
if(getInputValue(inputName('file')) == "") {
137+
if (getInputValue(inputName('file')) === '') {
133138
return handleError('You must choose a file');
134139
}
135140

@@ -143,7 +148,7 @@
143148
* of errors and re-submitting afterwards.
144149
*/
145150
var target = iframe.getEl();
146-
if(target.attachEvent) {
151+
if (target.attachEvent) {
147152
target.detachEvent('onload', uploadDone);
148153
target.attachEvent('onload', uploadDone);
149154
} else {
@@ -155,20 +160,20 @@
155160
}
156161

157162
function uploadDone() {
158-
if(throbber) {
163+
if (throbber) {
159164
throbber.hide();
160165
}
161166
try {
162167
var target = iframe.getEl();
163-
if(target.document || target.contentDocument) {
168+
if (target.document || target.contentDocument) {
164169
var doc = target.contentDocument || target.contentWindow.document;
165-
if(String(doc.contentType).indexOf("html") > -1) {
166-
handleResponse(doc.getElementsByTagName("body")[0].innerHTML);
170+
if (String(doc.contentType).indexOf('html') > -1) {
171+
handleResponse(doc.getElementsByTagName('body')[0].innerHTML);
167172
} else {
168-
handleResponse(doc.getElementsByTagName("pre")[0].innerHTML);
173+
handleResponse(doc.getElementsByTagName('pre')[0].innerHTML);
169174
}
170175
}
171-
} catch(e) {
176+
} catch (e) {
172177
handleError("Didn't get a response from the server");
173178
}
174179
}
@@ -177,34 +182,36 @@
177182
try {
178183
var json = tinymce.util.JSON.parse(ret);
179184

180-
if(json["error"]) {
181-
handleError(json["error"]["message"]);
185+
if (json['error']) {
186+
handleError(json['error']['message']);
182187
} else {
183188
ed.execCommand('mceInsertContent', false, buildHTML(json));
184189
ed.windowManager.close();
185190
}
186-
} catch(e) {
191+
} catch (e) {
187192
handleError('Got a bad response from the server');
188193
}
189194
}
190195

191196
function clearErrors() {
192-
var message = win.find(".error")[0].getEl();
197+
var message = win.find('.error')[0].getEl();
193198

194-
if(message)
195-
message.getElementsByTagName("p")[0].innerHTML = "&nbsp;";
199+
if (message) {
200+
message.getElementsByTagName('p')[0].innerHTML = '&nbsp;';
201+
}
196202
}
197203

198204
function handleError(error) {
199-
var message = win.find(".error")[0].getEl();
205+
var message = win.find('.error')[0].getEl();
200206

201-
if(message)
202-
message.getElementsByTagName("p")[0].innerHTML = ed.translate(error);
207+
if (message) {
208+
message.getElementsByTagName('p')[0].innerHTML = ed.translate(error);
209+
}
203210
}
204211

205212
function createElement(element, attributes) {
206213
var el = document.createElement(element);
207-
for(var property in attributes) {
214+
for (var property in attributes) {
208215
if (!(attributes[property] instanceof Function)) {
209216
el[property] = attributes[property];
210217
}
@@ -215,36 +222,41 @@
215222

216223
function buildHTML(json) {
217224
var image = json[ed.getParam('uploadimage_model', 'image')];
218-
var default_class = ed.getParam("uploadimage_default_img_class", "");
219-
var figure = ed.getParam("uploadimage_figure", false);
220-
var alt_text = getInputValue(inputName('alt'));
225+
var defaultClass = ed.getParam('uploadimage_default_img_class', '');
226+
var figure = ed.getParam('uploadimage_figure', false);
227+
var altText = getInputValue(inputName('alt'));
221228

222-
var imgstr = "<img src='" + image["url"] + "'";
229+
var imgstr = "<img src='" + image['url'] + "'";
223230

224-
if(default_class != "")
225-
imgstr += " class='" + default_class + ' ' + selected_class + "'";
231+
if (defaultClass !== '') {
232+
imgstr += " class='" + defaultClass + ' ' + selectedClass + "'";
233+
}
226234

227-
if(image["height"])
228-
imgstr += " height='" + image["height"] + "'";
229-
if(image["width"])
230-
imgstr += " width='" + image["width"] + "'";
235+
if (image['height']) {
236+
imgstr += " height='" + image['height'] + "'";
237+
}
238+
if (image['width']) {
239+
imgstr += " width='" + image['width'] + "'";
240+
}
231241

232-
imgstr += " alt='" + alt_text + "'/>";
242+
imgstr += " alt='" + altText + "'/>";
233243

234-
if(figure) {
235-
var figureClass = ed.getParam("uploadimage_figure_class", "figure");
236-
var figcaptionClass = ed.getParam("uploadimage_figcaption_class", "figcaption");
244+
if (figure) {
245+
var figureClass = ed.getParam('uploadimage_figure_class', 'figure');
246+
var figcaptionClass = ed.getParam('uploadimage_figcaption_class', 'figcaption');
237247

238-
var figstr = "<figure";
248+
var figstr = '<figure';
239249

240-
if (figureClass !== "")
250+
if (figureClass !== '') {
241251
figstr += " class='" + figureClass + "'";
242-
figstr += ">" + imgstr;
243-
figstr += "<figcaption";
244-
if (figcaptionClass != "")
252+
}
253+
figstr += '>' + imgstr;
254+
figstr += '<figcaption';
255+
if (figcaptionClass !== '') {
245256
figstr += " class='" + figcaptionClass + "'";
246-
figstr += ">" + alt_text + "</figcaption>";
247-
figstr += "</figure>";
257+
}
258+
figstr += '>' + altText + '</figcaption>';
259+
figstr += '</figure>';
248260

249261
return figstr;
250262
} else {
@@ -253,27 +265,31 @@
253265
}
254266

255267
function getInputValue(name) {
256-
var inputs = form.getElementsByTagName("input");
268+
var inputs = form.getElementsByTagName('input');
257269

258-
for(var i in inputs)
259-
if(inputs[i].name == name)
270+
for (var i in inputs) {
271+
if (inputs[i].name === name) {
260272
return inputs[i].value;
273+
}
274+
}
261275

262-
return "";
276+
return '';
263277
}
264278

265279
function getMetaContents(mn) {
266280
var m = document.getElementsByTagName('meta');
267281

268-
for(var i in m)
269-
if(m[i].name == mn)
282+
for (var i in m) {
283+
if (m[i].name === mn) {
270284
return m[i].content;
285+
}
286+
}
271287

272288
return null;
273289
}
274290

275291
function getClassList() {
276-
var config = ed.getParam('image_class_list', []);
292+
var config = ed.getParam('image_class_list', []);
277293
var values = [];
278294
for (var i = 0; i < config.length; i++) {
279295
values[i] = {
@@ -282,20 +298,20 @@
282298
};
283299
}
284300
return values;
285-
};
301+
}
286302

287303
if (editor.getParam('uploadimage', true)) {
288304
// Add a button that opens a window
289305
editor.addButton('uploadimage', {
290306
tooltip: ed.translate('Insert an image from your computer'),
291-
icon : 'image',
307+
icon: 'image',
292308
onclick: showDialog
293309
});
294310

295311
// Adds a menu item to the tools menu
296312
editor.addMenuItem('uploadimage', {
297313
text: ed.translate('Insert an image from your computer'),
298-
icon : 'image',
314+
icon: 'image',
299315
context: 'insert',
300316
onclick: showDialog
301317
});

0 commit comments

Comments
 (0)