| 29 |
|
|
| 30 |
//replace str1 with str2. |
//replace str1 with str2. |
| 31 |
E.replace = function(str1, str2, mc, re) { |
E.replace = function(str1, str2, mc, re) { |
| 32 |
var E = this, s = E.find(str1, mc, re).getSelection(); |
var E = this, s = E.getSelection(), rgx = new RegExp('^'+ (re ? str1 : BUE.regesc(str1)) +'$', mc ? '' : 'i'); |
| 33 |
var rgx = new RegExp('^'+ (re ? str1 : BUE.regesc(str1)) +'$', mc ? '' : 'i'); |
var found = s && s.search(rgx) == 0 || (s = E.find(str1, mc, re).getSelection()) && s.search(rgx) == 0; |
| 34 |
if (s && s.search(rgx) == 0 && confirm(Drupal.t('Replace this occurance of "!text"?', {'!text': s}))) { |
if (found && confirm(Drupal.t('Replace this occurance of "!text"?', {'!text': s}))) { |
| 35 |
str2 = re ? s.replace(new RegExp(str1, 'g' + (mc ? '' : 'i')), str2) : str2; |
str2 = re ? s.replace(new RegExp(str1, 'g' + (mc ? '' : 'i')), str2) : str2; |
| 36 |
E.replaceSelection(str2); |
E.replaceSelection(str2); |
| 37 |
} |
} |
| 59 |
}; |
}; |
| 60 |
|
|
| 61 |
//open Find & Replace form. |
//open Find & Replace form. |
| 62 |
E.frForm = function(op, mc, re) { |
E.frForm = function(rp, mc, re, title) { |
| 63 |
var el = FRF().elements, rp = op == 'replace'; |
var el = FRF().elements; |
| 64 |
BUE.frPop.open(rp ? Drupal.t('Find & Replace') : Drupal.t('Search')); |
BUE.frPop.open(title || (rp ? Drupal.t('Find & Replace') : Drupal.t('Search'))); |
| 65 |
$(el.mc.parentNode)[mc ? 'show' : 'hide'](); |
$(el.mc.parentNode)[mc ? 'show' : 'hide'](); |
| 66 |
$(el.re.parentNode)[re ? 'show' : 'hide'](); |
$(el.re.parentNode)[re ? 'show' : 'hide'](); |
| 67 |
$([el.rp.parentNode, el.rpb, el.rab])[rp ? 'show' : 'hide'](); |
$([el.rp.parentNode, el.rpb, el.rab])[rp ? 'show' : 'hide'](); |
|
$(el.fnb)[rp ? 'hide' : 'show'](); |
|
| 68 |
el.fn.focus(); |
el.fn.focus(); |
| 69 |
return this; |
return this; |
| 70 |
}; |
}; |
| 84 |
case 'rpb': E.replace(fn, rp, mc, re); break;//replace |
case 'rpb': E.replace(fn, rp, mc, re); break;//replace |
| 85 |
case 'rab': E.replaceAll(fn, rp, mc, re); break;//replace all |
case 'rab': E.replaceAll(fn, rp, mc, re); break;//replace all |
| 86 |
} |
} |
| 87 |
return E.focus(); |
return E; |
| 88 |
}; |
}; |
| 89 |
|
|
| 90 |
//shortcuts |
//shortcuts |