roundcubemail/plugins/help/help.js
Michael Voříšek ecd2796622
Fix JS whitespace CS (#9327)
* fix "no-extra-semi"

* fix "object-curly-spacing"

* fix "block-spacing"

* fix "padded-blocks"

* fix "space-before-blocks"

* fix "space-before-function-paren"

* fix "operator-linebreak"

* fix "space-unary-ops"

* fix "space-infix-ops"

* fix most "brace-style"

* fix "curly"

* fix most "brace-style" II

* fix "no-multi-spaces"

* search regex: (?<=\n)( +)(?! ).*\n(?!\1)( +)(&&|\|\||\()

* search regex: (?<=\n)( +)(?! |\*/).*(?<!;)\n(?!\1)( +)(?! |\}|\]|\)|\.)

* fix mostly "brace-style" /w allowSingleLine: false

* fix cs

* search regex: (//|/\*).*\n\s+\{
2024-01-30 07:50:02 +01:00

85 lines
2.8 KiB
JavaScript

/**
* 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;
}