From 57832768b6e55727a1728e455b7f5efb5eef0426 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Mon, 9 Feb 2009 15:51:16 -0700 Subject: [PATCH] Update fetchmailprefs javascript --- imp/fetchmailprefs.php | 5 ++ imp/js/fetchmailprefs.js | 2 +- imp/js/src/fetchmailprefs.js | 85 +++++++++++++++++++++++------ imp/templates/fetchmail/fetchmailprefs.html | 14 ++--- 4 files changed, 82 insertions(+), 24 deletions(-) diff --git a/imp/fetchmailprefs.php b/imp/fetchmailprefs.php index 82e33d7ea..f3535f5c3 100644 --- a/imp/fetchmailprefs.php +++ b/imp/fetchmailprefs.php @@ -187,6 +187,11 @@ if (empty($actionID)) { Prefs_UI::generateHeader(null, $chunk); Horde::addScriptFile('prototype.js', 'horde', true); Horde::addScriptFile('fetchmailprefs.js', 'imp', true); +IMP::addInlineScript(array( + 'ImpFetchmailprefs.fetchurl = \'' . $fetch_url . '\'', + 'ImpFetchmailprefs.prefsurl = \'' . $prefs_url . '\'' +)); + echo $t->fetch(IMP_TEMPLATES . '/fetchmail/fetchmailprefs.html'); if (!$chunk) { require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/imp/js/fetchmailprefs.js b/imp/js/fetchmailprefs.js index e04354517..c8cc4b38c 100644 --- a/imp/js/fetchmailprefs.js +++ b/imp/js/fetchmailprefs.js @@ -1 +1 @@ -var fmprefs_loading=false;function accountSubmit(a){if(!fmprefs_loading&&((a!=null)||!$F("account").empty())){fmprefs_loading=true;$("fm_switch").submit()}}function driverSubmit(){if(!fmprefs_loading&&$F("fm_driver")){fmprefs_loading=true;$("fm_driver_form").submit()}}; \ No newline at end of file +var ImpFetchmailprefs={fmprefs_loading:false,_accountSubmit:function(a){if(!this.fmprefs_loading&&((a!=null)||!$F("account").empty())){this.fmprefs_loading=true;$("fm_switch").submit()}},_driverSubmit:function(){if(!this.fmprefs_loading&&$F("fm_driver")){this.fmprefs_loading=true;$("fm_driver_form").submit()}},onDomLoad:function(){document.observe("change",this._changeHandler.bindAsEventListener(this));document.observe("click",this._clickHandler.bindAsEventListener(this))},_changeHandler:function(a){switch(a.element().readAttribute("id")){case"account":this._accountSubmit();break;case"fm_driver":this._driverSubmit();break}},_clickHandler:function(a){switch(a.element().readAttribute("id")){case"btn_delete":$("actionID").setValue("fetchmail_prefs_delete");break;case"btn_create":$("actionID").setValue("fetchmail_create");this._accountSubmit(true);break;case"btn_return":document.location.href=this.prefsurl;break;case"btn_save":$("actionID").setValue("fetchmail_prefs_save");break;case"btn_select":document.location.href=this.fetchurl;break}}};document.observe("dom:loaded",ImpFetchmailprefs.onDomLoad.bind(ImpFetchmailprefs)); \ No newline at end of file diff --git a/imp/js/src/fetchmailprefs.js b/imp/js/src/fetchmailprefs.js index c83344b48..7bb661525 100644 --- a/imp/js/src/fetchmailprefs.js +++ b/imp/js/src/fetchmailprefs.js @@ -5,21 +5,74 @@ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html. */ -var fmprefs_loading = false; - -function accountSubmit(isnew) -{ - if (!fmprefs_loading && - ((isnew != null) || !$F('account').empty())) { - fmprefs_loading = true; - $('fm_switch').submit(); - } -} +var ImpFetchmailprefs = { + + // The following variables are defined in fetchmailprefs.php: + // fetchurl, prefsurl + fmprefs_loading: false, + + _accountSubmit: function(isnew) + { + if (!this.fmprefs_loading && + ((isnew != null) || !$F('account').empty())) { + this.fmprefs_loading = true; + $('fm_switch').submit(); + } + }, + + _driverSubmit: function() + { + if (!this.fmprefs_loading && $F('fm_driver')) { + this.fmprefs_loading = true; + $('fm_driver_form').submit(); + } + }, + + onDomLoad: function() + { + document.observe('change', this._changeHandler.bindAsEventListener(this)); + document.observe('click', this._clickHandler.bindAsEventListener(this)); + }, + + _changeHandler: function(e) + { + switch (e.element().readAttribute('id')) { + case 'account': + this._accountSubmit(); + break; + + case 'fm_driver': + this._driverSubmit(); + break; + } + }, -function driverSubmit() -{ - if (!fmprefs_loading && $F('fm_driver')) { - fmprefs_loading = true; - $('fm_driver_form').submit(); + _clickHandler: function(e) + { + switch (e.element().readAttribute('id')) { + case 'btn_delete': + $('actionID').setValue('fetchmail_prefs_delete'); + break; + + case 'btn_create': + $('actionID').setValue('fetchmail_create'); + this._accountSubmit(true); + break; + + case 'btn_return': + document.location.href = this.prefsurl; + break; + + case 'btn_save': + $('actionID').setValue('fetchmail_prefs_save'); + break; + + case 'btn_select': + document.location.href = this.fetchurl; + break; + } } -} + +}; + +document.observe('dom:loaded', ImpFetchmailprefs.onDomLoad.bind(ImpFetchmailprefs)); diff --git a/imp/templates/fetchmail/fetchmailprefs.html b/imp/templates/fetchmail/fetchmailprefs.html index 40631a5e5..27ad6c855 100644 --- a/imp/templates/fetchmail/fetchmailprefs.html +++ b/imp/templates/fetchmail/fetchmailprefs.html @@ -17,7 +17,7 @@  
- @@ -25,12 +25,12 @@ or
- +  
- @@ -118,11 +118,11 @@ - - - + + + - + -- 2.11.0