Archived
1
0

Fixing Editor.empty() and getting rid of now unnecessary iframe onreload (which had the unwanted side effect of scrolling the page to the top for every iframe).

This commit is contained in:
Dan Helfman 2009-01-07 15:14:58 -08:00
parent f0da74b8ed
commit 2d728b584d

View File

@ -136,8 +136,7 @@ Editor.prototype.create_iframe = function ( position_after ) {
"id": iframe_id, "id": iframe_id,
"name": iframe_id, "name": iframe_id,
"class": "note_frame", "class": "note_frame",
"onresize": function () { setTimeout( function () { self.resize() }, 50 ); }, "onresize": function () { setTimeout( function () { self.resize() }, 50 ); }
"onload": function () { setTimeout( function () { self.resize(); if ( !this.init_highlight ) scroll( 0, 0 ); }, 250 ); }
} }
); );
this.iframe.editor = this; this.iframe.editor = this;
@ -675,10 +674,7 @@ Editor.title_placeholder_pattern = /\u200b/g;
Editor.title_placeholder_html = "​​"; Editor.title_placeholder_html = "​​";
Editor.prototype.empty = function () { Editor.prototype.empty = function () {
if ( !this.document || !this.document.body ) return this.contents( true ).length == 0;
return true; // consider it empty as of now
return ( scrapeText( this.document.body ).replace( Editor.title_placeholder_pattern, "" ).length == 0 );
} }
Editor.prototype.insert_link = function ( url ) { Editor.prototype.insert_link = function ( url ) {
@ -823,7 +819,7 @@ Editor.prototype.focus = function () {
this.iframe.contentWindow.focus(); this.iframe.contentWindow.focus();
} }
Editor.prototype.contents = function () { Editor.prototype.contents = function ( no_initial_text ) {
if ( this.div ) { if ( this.div ) {
var static_contents = getFirstElementByTagAndClassName( "span", "static_note_contents", this.div ); var static_contents = getFirstElementByTagAndClassName( "span", "static_note_contents", this.div );
if ( static_contents ) if ( static_contents )
@ -833,6 +829,9 @@ Editor.prototype.contents = function () {
if ( this.document && this.document.body ) if ( this.document && this.document.body )
return this.document.body.innerHTML; return this.document.body.innerHTML;
if ( no_initial_text )
return "";
return this.initial_text || ""; return this.initial_text || "";
} }