danielebarchiesi@0
|
1 (function($) {
|
danielebarchiesi@0
|
2
|
danielebarchiesi@0
|
3 var ii = window.imceInline = {};
|
danielebarchiesi@0
|
4
|
danielebarchiesi@0
|
5 // Drupal behavior
|
danielebarchiesi@0
|
6 Drupal.behaviors.imceInline = {attach: function(context, settings) {
|
danielebarchiesi@0
|
7 $('div.imce-inline-wrapper', context).not('.processed').addClass('processed').show().find('a').click(function() {
|
danielebarchiesi@0
|
8 var i = this.name.indexOf('-IMCE-');
|
danielebarchiesi@0
|
9 ii.activeTextarea = $('#'+ this.name.substr(0, i)).get(0);
|
danielebarchiesi@0
|
10 ii.activeType = this.name.substr(i+6);
|
danielebarchiesi@0
|
11
|
danielebarchiesi@0
|
12 if (typeof ii.pop == 'undefined' || ii.pop.closed) {
|
danielebarchiesi@0
|
13 ii.pop = window.open(this.href + (this.href.indexOf('?') < 0 ? '?' : '&') +'app=nomatter|imceload@imceInline.load', '', 'width='+ 760 +',height='+ 560 +',resizable=1');
|
danielebarchiesi@0
|
14 }
|
danielebarchiesi@0
|
15
|
danielebarchiesi@0
|
16 ii.pop.focus();
|
danielebarchiesi@0
|
17 return false;
|
danielebarchiesi@0
|
18 });
|
danielebarchiesi@0
|
19 }};
|
danielebarchiesi@0
|
20
|
danielebarchiesi@0
|
21 //function to be executed when imce loads.
|
danielebarchiesi@0
|
22 ii.load = function(win) {
|
danielebarchiesi@0
|
23 win.imce.setSendTo(Drupal.t('Insert file'), ii.insert);
|
danielebarchiesi@0
|
24 $(window).unload(function() {
|
danielebarchiesi@0
|
25 if (ii.pop && !ii.pop.closed) ii.pop.close();
|
danielebarchiesi@0
|
26 });
|
danielebarchiesi@0
|
27 };
|
danielebarchiesi@0
|
28
|
danielebarchiesi@0
|
29 //insert html at cursor position
|
danielebarchiesi@0
|
30 ii.insertAtCursor = function (field, txt, type) {
|
danielebarchiesi@0
|
31 field.focus();
|
danielebarchiesi@0
|
32 if ('undefined' != typeof(field.selectionStart)) {
|
danielebarchiesi@0
|
33 if (type == 'link' && (field.selectionEnd-field.selectionStart)) {
|
danielebarchiesi@0
|
34 txt = txt.split('">')[0] +'">'+ field.value.substring(field.selectionStart, field.selectionEnd) +'</a>';
|
danielebarchiesi@0
|
35 }
|
danielebarchiesi@0
|
36 field.value = field.value.substring(0, field.selectionStart) + txt + field.value.substring(field.selectionEnd, field.value.length);
|
danielebarchiesi@0
|
37 }
|
danielebarchiesi@0
|
38 else if (document.selection) {
|
danielebarchiesi@0
|
39 if (type == 'link' && document.selection.createRange().text.length) {
|
danielebarchiesi@0
|
40 txt = txt.split('">')[0] +'">'+ document.selection.createRange().text +'</a>';
|
danielebarchiesi@0
|
41 }
|
danielebarchiesi@0
|
42 document.selection.createRange().text = txt;
|
danielebarchiesi@0
|
43 }
|
danielebarchiesi@0
|
44 else {
|
danielebarchiesi@0
|
45 field.value += txt;
|
danielebarchiesi@0
|
46 }
|
danielebarchiesi@0
|
47 };
|
danielebarchiesi@0
|
48
|
danielebarchiesi@0
|
49 //sendTo function
|
danielebarchiesi@0
|
50 ii.insert = function (file, win) {
|
danielebarchiesi@0
|
51 var type = ii.activeType == 'link' ? 'link' : (file.width ? 'image' : 'link');
|
danielebarchiesi@0
|
52 var html = type == 'image' ? ('<img src="'+ file.url +'" width="'+ file.width +'" height="'+ file.height +'" alt="'+ file.name +'" />') : ('<a href="'+ file.url +'">'+ file.name +' ('+ file.size +')</a>');
|
danielebarchiesi@0
|
53 ii.activeType = null;
|
danielebarchiesi@0
|
54 win.blur();
|
danielebarchiesi@0
|
55 ii.insertAtCursor(ii.activeTextarea, html, type);
|
danielebarchiesi@0
|
56 };
|
danielebarchiesi@0
|
57
|
danielebarchiesi@0
|
58 })(jQuery); |