/** * @file * * Opens a dialog with jQuery Dialog plugin from Drupal. * Now it is not used, but it has been left as inspiration on future works */ (function ($) { Drupal.behaviors.nodeItinerary = {}; Drupal.behaviors.nodeItinerary.attach = function (context) { $('body:not(.node-itinerary-processed)').once().append('
'); $('a.node-itinerary-link', context).addClass('node-itinerary-link-processed').each(function(){ $(this).bind('click', Drupal.nodeItinerary.ajaxLink); }); $('form.node-itinerary-add-node-form', context).addClass('node-itinerary-form-processed').each(function(){ $(this).bind('submit', Drupal.nodeItinerary.ajaxSubmit); }); }; Drupal.nodeItinerary = {}; Drupal.nodeItinerary.ajaxLink = function (data) { jQuery.ajax({ type: 'GET', url: this.href, dataType: 'json', success: Drupal.nodeItinerary.openForm, data: 'js=true', }); return false; } Drupal.nodeItinerary.ajaxSubmit = function (data) { $(this).before('
'); $.ajax({ type: 'POST', url: this.action, dataType: 'json', success: Drupal.nodeItinerary.showResult, data: $(this).serialize(), }); return false; } Drupal.nodeItinerary.openForm = function (data) { var target = $('#node-itinerary-form-wrapper'); var dialog = target.dialog({ autoOpen: true, modal: true, hide: 'slide', dragabble: false, resizable: false, width: 600, title: 'Node itinerary' }); Drupal.attachBehaviors($(dialog)); } Drupal.nodeItinerary.showResult = function (data) { var target = $('div.node-itinerary-form'); target.html(data); Drupal.attachBehaviors($(target)); } })(jQuery);