From 8a8bca1ae56e4f5527121f0827143b3a59de1bdb Mon Sep 17 00:00:00 2001 From: Boris Gulay Date: Sat, 17 Mar 2018 17:47:32 +0300 Subject: [PATCH] Make identity selection work with classic skin. --- ident_switch.js | 41 +++++++++++++++++++++++++++++++++++------ ident_switch.min.js | 8 ++++++-- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/ident_switch.js b/ident_switch.js index ae0e46b..24b177d 100644 --- a/ident_switch.js +++ b/ident_switch.js @@ -3,21 +3,50 @@ */ $(function() { + $sw = $('#plugin-ident_switch-account'); + isOk = false; + + switch (rcmail.env['skin']) { + case 'larry': + isOk = plugin_switchIdent_addCbLarry($sw); + break; + case 'classic': + isOk = plugin_switchIdent_addCbClassic($sw); + break; + } + + if (isOk) { + $sw.show(); + $("INPUT[name='_ident_switch.form.enabled']").change(); + $("SELECT[name='_ident_switch.form.secure']").change(); + + plugin_switchIdent_processPreconfig(); + } +}); + +function plugin_switchIdent_addCbLarry($sw) { var $truName = $('.topright .username'); if ($truName.length > 0) { - $sw = $('#plugin-ident_switch-account'); if ($sw.length > 0) { $sw.prependTo('.topright'); $truName.hide(); - $('#plugin-ident_switch-account').show(); + + return true; } } - $("INPUT[name='_ident_switch.form.enabled']").change(); - $("SELECT[name='_ident_switch.form.secure']").change(); + return false; +} - plugin_switchIdent_processPreconfig(); -}); +function plugin_switchIdent_addCbClassic($sw) { + var $taskBar = $('#taskbar'); + if ($taskBar.length > 0) { + $taskBar.prepend($sw); + return true; + } + + return false; +} function plugin_switchIdent_processPreconfig() { var disFld = $("INPUT[name='_ident_switch.form.readonly']"); diff --git a/ident_switch.min.js b/ident_switch.min.js index 651c00f..0b9f356 100644 --- a/ident_switch.min.js +++ b/ident_switch.min.js @@ -1,5 +1,9 @@ -$(function(){var $truName=$('.topright .username');if($truName.length>0){$sw=$('#plugin-ident_switch-account');if($sw.length>0){$sw.prependTo('.topright');$truName.hide();$('#plugin-ident_switch-account').show();}} -$("INPUT[name='_ident_switch.form.enabled']").change();$("SELECT[name='_ident_switch.form.secure']").change();plugin_switchIdent_processPreconfig();});function plugin_switchIdent_processPreconfig(){var disFld=$("INPUT[name='_ident_switch.form.readonly']");disFld.parentsUntil("TABLE","TR").hide();var disVal=disFld.val();if(disVal>0){$("INPUT[name='_ident_switch.form.host']").prop("disabled",true);$("SELECT[name='_ident_switch.form.secure']").prop("disabled",true);$("INPUT[name='_ident_switch.form.port']").prop("disabled",true);} +$(function(){$sw=$('#plugin-ident_switch-account');isOk=false;switch(rcmail.env['skin']){case'larry':isOk=plugin_switchIdent_addCbLarry($sw);break;case'classic':isOk=plugin_switchIdent_addCbClassic($sw);break;} +if(isOk){$sw.show();$("INPUT[name='_ident_switch.form.enabled']").change();$("SELECT[name='_ident_switch.form.secure']").change();plugin_switchIdent_processPreconfig();}});function plugin_switchIdent_addCbLarry($sw){var $truName=$('.topright .username');if($truName.length>0){if($sw.length>0){$sw.prependTo('.topright');$truName.hide();return true;}} +return false;} +function plugin_switchIdent_addCbClassic($sw){var $taskBar=$('#taskbar');if($taskBar.length>0){$taskBar.prepend($sw);return true;} +return false;} +function plugin_switchIdent_processPreconfig(){var disFld=$("INPUT[name='_ident_switch.form.readonly']");disFld.parentsUntil("TABLE","TR").hide();var disVal=disFld.val();if(disVal>0){$("INPUT[name='_ident_switch.form.host']").prop("disabled",true);$("SELECT[name='_ident_switch.form.secure']").prop("disabled",true);$("INPUT[name='_ident_switch.form.port']").prop("disabled",true);} if(2==disVal){$("INPUT[name='_ident_switch.form.username']").prop("disabled",true);}} function plugin_switchIdent_enabled_onChange(e){var $enFld=$("INPUT[name='_ident_switch.form.enabled']");$("INPUT[name!='_ident_switch.form.enabled'], SELECT",$enFld.parents("FIELDSET")).prop("disabled",!$enFld.is(":checked"));plugin_switchIdent_processPreconfig();} function plugin_switchIdent_secure_onChange(e){var $secSel=$("SELECT[name='_ident_switch.form.secure']");var $portFld=$("INPUT[name='_ident_switch.form.port']");if('SSL'===$secSel.val().toUpperCase())