|
myva v1.0 | |||||||
PREV NEXT | FRAMES NO FRAMES |
No overview generated for 'myva.js'
Method Summary | |
static void
|
arvioi(transport)
Käsittelee salasanan vaihdon palautteen, onnistuiko salasanan vaihtaminen. |
static void
|
changePasswordAjax()
Suorittaa salasanan vaihdon (ajax) lomakkeen changePasswordForm tietojen mukaan. |
static void
|
closeAjaxPopup()
Sulkee ajax-ponnahdusikkunan. |
static Object
|
dailyReportAjax(<int> campaign_id)
Avaa ajax-ponnahdusikkunaan Miten menee? |
static Object
|
isBlankString(<String> str)
Palauttaa totuusarvon, onko parametrina annettu merkkijono tyhjä. |
static Object
|
openPopup(<Element> a_element, <String> features, <String> windowName)
Avaa a-elementin href-attribuutin sisältämän URL:n ponnahdusikkunassa. |
static Object
|
popupSubmit(<Form> form, <String> features, <String> windowName)
Lähettää html-lomakkeen ja avaa palvelimen lähettämän vastauksen ponnahdusikkunaan. |
static Object
|
showAjaxMessage(<int> campaign_id)
Näyttää ajax-ponnahdusikkunassa kampanjaan liittyvän viestin. |
static void
|
showAjaxPasswd()
Avaa salasananvaihtoikkunan (ajax). |
static Object
|
showAjaxSearchContacts()
Avaa ajax-ponnahdusikkunan, johon ladataan hakulomakkeella lähetetyn haun tulokset. |
static Object
|
validateSearchCampaignsForm(<Element> search_form)
Validoi hakulomakkeen tiedot ennen lähetystä. |
/** * Ponnahdusikkunan oletusasetukset katenoitavaksi koko- ym asetusten kanssa. * @deprecated Tulisi käyttää: Myva.defaultPoputFeatures */ var defaultPopupFeatures = 'menubar=no,toolbar=no,location=no,resizable=yes,scrollbars=yes,dependent=yes'; /** * Myva-otus, joka sisältää yleisiä tietokenttiä järjestelmän tilasta. * @constructor */ Myva = { /** * Ponnahdusikkunan oletusasetukset katenoitavaksi koko- ym asetusten kanssa. */ defaultPopupFeatures: 'menubar=no,toolbar=no,location=no,resizable=yes,scrollbars=yes,dependent=yes', /** * Boolean: Onko selain Internet Explorer */ is_IE: (navigator.userAgent.indexOf(' MSIE ') >= 0) } /** * Boolean: Onko selain Internet Explorer 7 */ Myva.is_IE7 = (Myva.is_IE && navigator.userAgent.indexOf(' MSIE 7') >= 0); /** * Asettaa Myva-olioon tiedot nykyisen URL:n osista. Vastaavat CakePHP:n vastaavia $params-taulukon alkoioita. * * @param {String} base_url URL:n perusosa * @param {String} controller Kontrollerin nimi * @param {String} action Metodin nimi * @param {Array} pass Metodille annetut parametrit taulukossa */ Myva.setUrlData = function(base_url, controller, action, pass) { Myva.base_url = base_url; Myva.controller = controller; Myva.action = action; Myva.pass = pass; Myva.encoding = 'iso-8859-1'; } /** * Lähettää html-lomakkeen ja avaa palvelimen lähettämän vastauksen ponnahdusikkunaan. * Käytetään form-elementin onsubmit-attribuutissa, esim. * onsubmit="return popupSubmit(this, Myva.defaultPopupFeatures);" * * @param {Form} form Lähetettävä lomake. * @param {String} features Ponnahdusikkunan ominaisuudet (window.open -parametri). * @param {String} windowName Ponnahdusikkunalle annettava nimi. Ei pakollinen parametri. * @return true */ function popupSubmit(form, features, windowName) { if (!windowName) { windowName = 'myva_popup' + (new Date().getTime()); } form.target = windowName; window.open ('', windowName, features); return true; } /** * Avaa a-elementin href-attribuutin sisältämän URL:n ponnahdusikkunassa. * Käytetään a-elementin onclick-attribuutissa, esim. * onclick="return openPopup(this, Myva.defaultPopupFeatures);" * * @param {Element} a_element Kohdeosoitteen sisältävä a-elementti. * @param {String} features Ponnahdusikkunan ominaisuudet (window.open -parametri). * @param {String} windowName Ponnahdusikkunalle annettava nimi. Ei pakollinen parametri. * @return false */ function openPopup(a_element, features, windowName) { if (!windowName) { windowName = 'myva_popup' + (new Date().getTime()); } window.open (a_element.href, windowName, features); return false; } /** * Validoi hakulomakkeen tiedot ennen lähetystä. * Toistaiseksi tarkistaa ainoastaan, ettei lomake ole tyhjä. * Käytetään form-elementin onsubmit-attribuutissa, esim. * onsubmit="return validateSearchCampaignsForm(this);" * * @param {Element} search_form Validoitava hakulomake. * @return false, jos validointi epäonnistui, muutoin showAjaxSearchContacts()-kutsun paluuarvo. */ function validateSearchCampaignsForm(search_form) { var input_fields = $(search_form).getElementsBySelector('input[type="text"]'); for (var i = 0; i < input_fields.length; ++i) { if (! isBlankString(input_fields[i].value)) { break; } } if (i == input_fields.length) { alert('Ole hyvä ja määritä hakuehdot.'); return false; } else { //avaa ajaxruutu return showAjaxSearchContacts(); //return popupSubmit(search_form, 'left=100,top=100,width=1024,height=600,' + Myva.defaultPopupFeatures); } } /** * Palauttaa totuusarvon, onko parametrina annettu merkkijono tyhjä. * Tyhjäksi katsotaan myös arvot undefined ja null sekä pelkkiä välilyöntejä sisältävät merkkijonot. * * @param {String} str Tarkistettava merkkijono. * @return boolean, oliko merkkijono tyhjä. */ function isBlankString(str) { return (str === undefined || str === null || str.match(/^[ ]*$/)); } /** * Avaa salasananvaihtoikkunan (ajax). * Elementin ajaxpopup (id) class-attribuuttiin lisätään arvo "password". */ function showAjaxPasswd(){ //TODO viittausongelma var myAjax = new Ajax.Updater( 'ajaxpopup', Myva.base_url + "/users/changePassword", { method: 'get', onSuccess: function(){ $("ajaxpopup").addClassName("password"); } }); } /** * Suorittaa salasanan vaihdon (ajax) lomakkeen changePasswordForm tietojen mukaan. */ function changePasswordAjax(){ //TODO viittausongelma new Ajax.Request(Myva.base_url + '/users/changePassword', { parameters: $('changePasswordForm').serialize(true), onSuccess: arvioi }); } /** * Käsittelee salasanan vaihdon palautteen, onnistuiko salasanan vaihtaminen. * * @param {} transport Ajax-kutsun palaute. */ function arvioi(transport){ var response = transport.responseText || "no response text"; try{ var transport = transport; var answer = transport.responseXML.documentElement.getElementsByTagName('response'); var value = transport.responseXML.documentElement.getElementsByTagName('response')[0].textContent; if (value == 1){ alert("Salasanan vaihto onnistui"); closeAjaxPopup(); } else if (value == 0) { alert("Vanha salasana väärin tai salasanat eivät täsmää"); } else { alert("Tuntematon virhe"); } } catch (error){ alert("Xml-dokumentin parserointi ei onnistunut"); } } /** * Sulkee ajax-ponnahdusikkunan. Poistaa elementin (id="ajaxpopup") lapset ja asettaa * elementin class-attribuutin arvoksi (ainoastaan) "ajaxpopup". */ function closeAjaxPopup(){ var popup_element = $('ajaxpopup'); var children = popup_element.childNodes; while (children.length > 0){ Element.remove(children[0]); } popup_element.className = 'ajaxpopup'; //Element.remove('passwordbox'); } /** * Avaa ajax-ponnahdusikkunan, johon ladataan hakulomakkeella lähetetyn haun tulokset. * Elementin ajaxpopup (id) class-attribuuttiin lisätään arvo "search_contacts". * * @return false */ function showAjaxSearchContacts() { var myAjax = new Ajax.Updater( 'ajaxpopup', Myva.base_url + "/campaigns/searchContacts", { method: 'post', parameters: $('search_campaigns_form').serialize(true), onSuccess: function(){ $("ajaxpopup").addClassName("search_contacts"); } }); return false; } /** * Näyttää ajax-ponnahdusikkunassa kampanjaan liittyvän viestin. * Elementin ajaxpopup (id) class-attribuuttiin lisätään arvo "show_message". * * @param {int} campaign_id Kampanjan tunniste. * * @return false */ function showAjaxMessage(campaign_id) { var myAjax = new Ajax.Updater( 'ajaxpopup', Myva.base_url + '/campaigns/showMessage' + '/' + campaign_id, { onSuccess: function(){ $("ajaxpopup").addClassName("show_message"); } }); return false; } /** * Avaa ajax-ponnahdusikkunaan Miten menee? -ikkunan. * Elementin ajaxpopup (id) class-attribuuttiin lisätään arvo "daily_report". * * @param {int} campaign_id Kampanjan tunniste. * * @return false */ function dailyReportAjax(campaign_id) { var myAjax = new Ajax.Updater( 'ajaxpopup', Myva.base_url + '/campaignsUsers/dailyReport' + '/' + campaign_id, { onSuccess: function(){ $("ajaxpopup").addClassName("daily_report"); //!! } }); return false; }
|
myva v1.0 | |||||||
PREV NEXT | FRAMES NO FRAMES |