myva v1.0

showCampaignTargets.js

Summary

No overview generated for 'showCampaignTargets.js'


Method Summary
static void adjustEmailCount(checkbox)
           Lisää tai vähentää lähetettävien sähköpostien määrää "emailCount" -id:n input-elementissä.
static void selectEmailBoxes()
           Asettaa "target_client_list"-id:n elementin sisältämien checkbox-elementtejä rastitetuksi "emailCount"-id:n input-elementissä määritellyn määrän.

/**
 * Sivun latauduttua suoritettava funktio.
 * Tekee ajax-kutsun campaignsUsers/getCampaignTargets-kontrolleriin ja
 * sijoittaa tulosteen "target_client_list" -id:n elementtiin.
 */
function onloadAction() {
  var url = Myva.base_url + '/campaignsUsers/getCampaignTargets';
  for (var i = 0; i < Myva.pass.length; ++i) {
    url += '/' + Myva.pass[i];
  }
  new Ajax.Request(url, {
    method: 'get',
    onSuccess: function(transport) {
      document.response = transport;
      $('target_client_list').update(transport.responseText);
      selectEmailBoxes();
    },
    onFailure: function() {
      $('target_client_list').update('<p class="error">Virhe: asiakastietoja ei voitu ladata.</p>');
    }
  });
}


/**
 * Lisää tai vähentää lähetettävien sähköpostien määrää "emailCount" -id:n input-elementissä.
 * Käytetään checkbox:n onclick-attribuutissa.
 */
function adjustEmailCount(checkbox) {
  var target_element = $('emailCount');
  if (checkbox.checked) {
    ++target_element.value;
  } else {
    --target_element.value;
  }
}


/**
 * Asettaa "target_client_list"-id:n elementin sisältämien checkbox-elementtejä rastitetuksi
 * "emailCount"-id:n input-elementissä määritellyn määrän.
 *
 * Toistaiseksi ei toteuta rastien poistamista, jos "emailCount"-elementissä on entistä pienempi arvo.
 */
function selectEmailBoxes() {
// TODO: Ei toimi oikein kuin lisätessä!!!
  var count_element = $('emailCount');
  var count = count_element.value;
  var checkboxes = $('target_client_list').getElementsBySelector('input[type="checkbox"]');
  for (var i = (checkboxes.length - 1); i >= 0 ; --i) {
    if (! checkboxes[i].visible) {
      continue;
    } else if (checkboxes[i].checked) {
      --count;
    } else if (count > (i)) {
      checkboxes[i].checked = true;
      --count;
    }
  }
  if (count > 0) {
    count_element.value -= count;
  }
}

myva v1.0

Documentation generated by JSDoc on Fri Aug 24 10:02:55 2007