Skip to content
Snippets Groups Projects
align.js 1.22 KiB
Newer Older
Brandon Bergren's avatar
Brandon Bergren committed
 * @file
 * Alignment widget.
 * Applies CSS classes to a macro.
 */

/*global jQuery, Drupal */
(function ($) {
Brandon Bergren's avatar
Brandon Bergren committed
Drupal.gmap.addHandler('align', function (elem) {
  var obj = this;
  // Respond to incoming alignment changes.
Brandon Bergren's avatar
Brandon Bergren committed
  var binding = obj.bind("alignchange", function () {
    elem.value = obj.vars.align;
  });
  // Send out outgoing alignment changes.
Brandon Bergren's avatar
Brandon Bergren committed
  $(elem).change(function () {
    obj.vars.align = elem.value;
Brandon Bergren's avatar
Brandon Bergren committed
    obj.change("alignchange", binding);
Brandon Bergren's avatar
Brandon Bergren committed
Drupal.gmap.addHandler('gmap', function (elem) {
  var obj = this;
  // Respond to incoming alignment changes.
Brandon Bergren's avatar
Brandon Bergren committed
  obj.bind("alignchange", function () {
    var cont = obj.map.getDiv();
    $(cont)
      .removeClass('gmap-left')
      .removeClass('gmap-center')
      .removeClass('gmap-right');
Brandon Bergren's avatar
Brandon Bergren committed
    if (obj.vars.align === 'Left') {
      $(cont).addClass('gmap-left');
    }
    if (obj.vars.align === 'Center') {
      $(cont).addClass('gmap-center');
    }
    if (obj.vars.align === 'Right') {
      $(cont).addClass('gmap-right');
    }
  });
  // Send out outgoing alignment changes.
  // N/A

Brandon Bergren's avatar
Brandon Bergren committed
  obj.bind('buildmacro', function (add) {
    if (obj.vars.align && obj.vars.align !== 'None') {
      add.push('align=' + obj.vars.align);