/** * Help plugin client script * * @licstart The following is the entire license notice for the * JavaScript code in this file. * * Copyright (c) The Roundcube Dev Team * * The JavaScript code in this page is free software: you can redistribute it * and/or modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * @licend The above is the entire license notice * for the JavaScript code in this file. */ // hook into switch-task event to open the help window if (window.rcmail) { rcmail.addEventListener('beforeswitch-task', function(prop) { // catch clicks to help task button if (prop == 'help') { if (rcmail.task == 'help') // we're already there return false; var url = rcmail.url('help/index', { _rel: rcmail.task + (rcmail.env.action ? '/'+rcmail.env.action : '') }); if (rcmail.env.help_open_extwin) { rcmail.open_window(url, 1020, false); } else { rcmail.redirect(url, false); } return false; } }); rcmail.addEventListener('init', function(prop) { if (rcmail.env.contentframe && rcmail.task == 'help') { $('#' + rcmail.env.contentframe).on('load error', function(e) { // Unlock UI rcmail.set_busy(false, null, rcmail.env.frame_lock); rcmail.env.frame_lock = null; // Select menu item if (e.type == 'load') { $(rcmail.env.help_action_item).parents('ul').children().removeClass('selected'); $(rcmail.env.help_action_item).parent().addClass('selected'); } }); try { var win = rcmail.get_frame_window(rcmail.env.contentframe); if (win && win.location.href.indexOf(rcmail.env.blankpage) >= 0) { show_help_content(rcmail.env.action); } } catch (e) { /* ignore */} } }); } function show_help_content(action, event) { var win, target = window, url = rcmail.env.help_links[action]; if (win = rcmail.get_frame_window(rcmail.env.contentframe)) { target = win; url += (url.indexOf('?') > -1 ? '&' : '?') + '_framed=1'; } if (rcmail.env.extwin) { url += (url.indexOf('?') > -1 ? '&' : '?') + '_extwin=1'; } if (/^self/.test(url)) { url = url.substr(4) + '&_content=1&_task=help&_action=' + action; } rcmail.env.help_action_item = event ? event.target : $('[rel="' + action + '"]'); rcmail.show_contentframe(true); rcmail.location_href(url, target, true); return false; }