123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- (function ($) {
- Drupal.behaviors.tokenTree = {
- attach: function (context, settings) {
- $('table.token-tree', context).once('token-tree', function () {
- $(this).treeTable();
- });
- }
- };
- Drupal.behaviors.tokenDialog = {
- attach: function (context, settings) {
- $('a.token-dialog', context).once('token-dialog').click(function() {
- var url = $(this).attr('href');
- var dialog = $('<div style="display: none" class="loading">' + Drupal.t('Loading token browser...') + '</div>').appendTo('body');
- // Emulate the AJAX data sent normally so that we get the same theme.
- var data = {};
- data['ajax_page_state[theme]'] = Drupal.settings.ajaxPageState.theme;
- data['ajax_page_state[theme_token]'] = Drupal.settings.ajaxPageState.theme_token;
- dialog.dialog({
- title: $(this).attr('title') || Drupal.t('Available tokens'),
- width: 700,
- close: function(event, ui) {
- dialog.remove();
- }
- });
- // Load the token tree using AJAX.
- dialog.load(
- url,
- data,
- function (responseText, textStatus, XMLHttpRequest) {
- dialog.removeClass('loading');
- }
- );
- // Prevent browser from following the link.
- return false;
- });
- }
- }
- Drupal.behaviors.tokenInsert = {
- attach: function (context, settings) {
- // Keep track of which textfield was last selected/focused.
- $('textarea, input[type="text"]', context).focus(function() {
- Drupal.settings.tokenFocusedField = this;
- });
- $('.token-click-insert .token-key', context).once('token-click-insert', function() {
- var newThis = $('<a href="javascript:void(0);" title="' + Drupal.t('Insert this token into your form') + '">' + $(this).html() + '</a>').click(function(){
- if (typeof Drupal.settings.tokenFocusedField == 'undefined') {
- alert(Drupal.t('First click a text field to insert your tokens into.'));
- }
- else {
- var myField = Drupal.settings.tokenFocusedField;
- var myValue = $(this).text();
- //IE support
- if (document.selection) {
- myField.focus();
- sel = document.selection.createRange();
- sel.text = myValue;
- }
- //MOZILLA/NETSCAPE support
- else if (myField.selectionStart || myField.selectionStart == '0') {
- var startPos = myField.selectionStart;
- var endPos = myField.selectionEnd;
- myField.value = myField.value.substring(0, startPos)
- + myValue
- + myField.value.substring(endPos, myField.value.length);
- } else {
- myField.value += myValue;
- }
- $('html,body').animate({scrollTop: $(myField).offset().top}, 500);
- }
- return false;
- });
- $(this).html(newThis);
- });
- }
- };
- })(jQuery);
|