summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2010-12-02 09:05:56 +0000
committeralecpl <alec@alec.pl>2010-12-02 09:05:56 +0000
commit27acfd67746e7ec4a7cdd82e98bb9ab28079927a (patch)
treed02d5ac582c9d34480d9d31c4ca28d0d131d0408
parent1cca4fbd4565245ea6bc47263db8ae02b78641e7 (diff)
- Fix preview window doesn't work when RC is in a frame (#1487314)
- Add helper function is_framed()
-rw-r--r--program/js/app.js20
1 files changed, 13 insertions, 7 deletions
diff --git a/program/js/app.js b/program/js/app.js
index 7ab31cb46..cc5da4e07 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -148,7 +148,7 @@ function rcube_webmail()
this.init_buttons();
// tell parent window that this frame is loaded
- if (this.env.framed && parent.rcmail && parent.rcmail.set_busy) {
+ if (this.is_framed()) {
parent.rcmail.set_busy(false, null, parent.rcmail.env.frame_lock);
parent.rcmail.env.frame_lock = null;
}
@@ -222,7 +222,7 @@ function rcube_webmail()
}
// make preview/message frame visible
- if (this.env.action == 'preview' && this.env.framed && parent.rcmail) {
+ if (this.env.action == 'preview' && this.is_framed()) {
this.enable_command('compose', 'add-contact', false);
parent.rcmail.show_contentframe(true);
}
@@ -435,7 +435,7 @@ function rcube_webmail()
// command not supported or allowed
if (!this.commands[command]) {
// pass command to parent window
- if (this.env.framed && parent.rcmail && parent.rcmail.command)
+ if (this.is_framed())
parent.rcmail.command(command, props);
return false;
@@ -1120,7 +1120,7 @@ function rcube_webmail()
this.reload = function(delay)
{
- if (this.env.framed && parent.rcmail)
+ if (this.is_framed())
parent.rcmail.reload(delay);
else if (delay)
window.setTimeout(function(){ rcmail.reload(); }, delay);
@@ -1149,6 +1149,12 @@ function rcube_webmail()
return url + '?' + name + '=' + value;
};
+ this.is_framed = function()
+ {
+ return (this.env.framed && parent.rcmail);
+ };
+
+
/*********************************************************/
/********* event handling methods *********/
/*********************************************************/
@@ -1823,7 +1829,7 @@ function rcube_webmail()
this.show_contentframe(true);
else {
if (!this.env.frame_lock) {
- (parent.rcmail ? parent.rcmail : this).env.frame_lock = this.set_busy(true, 'loading');
+ (this.is_framed() ? parent.rcmail : this).env.frame_lock = this.set_busy(true, 'loading');
}
target.location.href = this.env.comm_path+url;
@@ -4599,7 +4605,7 @@ function rcube_webmail()
this.display_message = function(msg, type)
{
// pass command to parent window
- if (this.env.framed && parent.rcmail)
+ if (this.is_framed())
return parent.rcmail.display_message(msg, type);
if (!this.gui_objects.message) {
@@ -4647,7 +4653,7 @@ function rcube_webmail()
this.hide_message = function(obj, fade)
{
// pass command to parent window
- if (this.env.framed && parent.rcmail)
+ if (this.is_framed())
return parent.rcmail.hide_message(obj, fade);
if (typeof(obj) == 'object') {