Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F823281
fckadobeair.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sun, Mar 9, 5:53 PM
Size
4 KB
Mime Type
text/html
Expires
Tue, Mar 11, 5:53 PM (5 h, 37 m)
Engine
blob
Format
Raw Data
Handle
584117
Attached To
rINP In-Portal
fckadobeair.js
View Options
/*
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
*
* == BEGIN LICENSE ==
*
* Licensed under the terms of any of the following licenses at your
* choice:
*
* - GNU General Public License Version 2 or later (the "GPL")
* http://www.gnu.org/licenses/gpl.html
*
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
* http://www.gnu.org/licenses/lgpl.html
*
* - Mozilla Public License Version 1.1 or later (the "MPL")
* http://www.mozilla.org/MPL/MPL-1.1.html
*
* == END LICENSE ==
*
* Compatibility code for Adobe AIR.
*/
if
(
FCKBrowserInfo
.
IsAIR
)
{
var
FCKAdobeAIR
=
(
function
()
{
/*
* ### Private functions.
*/
var
getDocumentHead
=
function
(
doc
)
{
var
head
;
var
heads
=
doc
.
getElementsByTagName
(
'head'
)
;
if
(
heads
&&
heads
[
0
]
)
head
=
heads
[
0
]
;
else
{
head
=
doc
.
createElement
(
'head'
)
;
doc
.
documentElement
.
insertBefore
(
head
,
doc
.
documentElement
.
firstChild
)
;
}
return
head
;
}
;
/*
* ### Public interface.
*/
return
{
FCKeditorAPI_Evaluate
:
function
(
parentWindow
,
script
)
{
// TODO : This one doesn't work always. The parent window will
// point to an anonymous function in this window. If this
// window is destroyied the parent window will be pointing to
// an invalid reference.
// Evaluate the script in this window.
eval
(
script
)
;
// Point the FCKeditorAPI property of the parent window to the
// local reference.
parentWindow
.
FCKeditorAPI
=
window
.
FCKeditorAPI
;
},
EditingArea_Start
:
function
(
doc
,
html
)
{
// Get the HTML for the <head>.
var
headInnerHtml
=
html
.
match
(
/<head>([\s\S]*)<\/head>/i
)[
1
]
;
if
(
headInnerHtml
&&
headInnerHtml
.
length
>
0
)
{
// Inject the <head> HTML inside a <div>.
// Do that before getDocumentHead because WebKit moves
// <link css> elements to the <head> at this point.
var
div
=
doc
.
createElement
(
'div'
)
;
div
.
innerHTML
=
headInnerHtml
;
// Move the <div> nodes to <head>.
FCKDomTools
.
MoveChildren
(
div
,
getDocumentHead
(
doc
)
)
;
}
doc
.
body
.
innerHTML
=
html
.
match
(
/<body>([\s\S]*)<\/body>/i
)[
1
]
;
//prevent clicking on hyperlinks and navigating away
doc
.
addEventListener
(
'click'
,
function
(
ev
)
{
ev
.
preventDefault
()
;
ev
.
stopPropagation
()
;
},
true
)
;
},
Panel_Contructor
:
function
(
doc
,
baseLocation
)
{
var
head
=
getDocumentHead
(
doc
)
;
// Set the <base> href.
head
.
appendChild
(
doc
.
createElement
(
'base'
)
).
href
=
baseLocation
;
doc
.
body
.
style
.
margin
=
'0px'
;
doc
.
body
.
style
.
padding
=
'0px'
;
},
ToolbarSet_GetOutElement
:
function
(
win
,
outMatch
)
{
var
toolbarTarget
=
win
.
parent
;
var
targetWindowParts
=
outMatch
[
1
].
split
(
'.'
)
;
while
(
targetWindowParts
.
length
>
0
)
{
var
part
=
targetWindowParts
.
shift
()
;
if
(
part
.
length
>
0
)
toolbarTarget
=
toolbarTarget
[
part
]
;
}
toolbarTarget
=
toolbarTarget
.
document
.
getElementById
(
outMatch
[
2
]
)
;
},
ToolbarSet_InitOutFrame
:
function
(
doc
)
{
var
head
=
getDocumentHead
(
doc
)
;
head
.
appendChild
(
doc
.
createElement
(
'base'
)
).
href
=
window
.
document
.
location
;
var
targetWindow
=
doc
.
defaultView
;
targetWindow
.
adjust
=
function
()
{
targetWindow
.
frameElement
.
height
=
doc
.
body
.
scrollHeight
;
}
;
targetWindow
.
onresize
=
targetWindow
.
adjust
;
targetWindow
.
setTimeout
(
targetWindow
.
adjust
,
0
)
;
doc
.
body
.
style
.
overflow
=
'hidden'
;
doc
.
body
.
innerHTML
=
document
.
getElementById
(
'xToolbarSpace'
).
innerHTML
;
}
}
;
})();
/*
* ### Overrides
*/
(
function
()
{
// Save references for override reuse.
var
_Original_FCKPanel_Window_OnFocus
=
FCKPanel_Window_OnFocus
;
var
_Original_FCKPanel_Window_OnBlur
=
FCKPanel_Window_OnBlur
;
var
_Original_FCK_StartEditor
=
FCK
.
StartEditor
;
FCKPanel_Window_OnFocus
=
function
(
e
,
panel
)
{
// Call the original implementation.
_Original_FCKPanel_Window_OnFocus
.
call
(
this
,
e
,
panel
)
;
if
(
panel
.
_focusTimer
)
clearTimeout
(
panel
.
_focusTimer
)
;
}
FCKPanel_Window_OnBlur
=
function
(
e
,
panel
)
{
// Delay the execution of the original function.
panel
.
_focusTimer
=
FCKTools
.
SetTimeout
(
_Original_FCKPanel_Window_OnBlur
,
100
,
this
,
[
e
,
panel
]
)
;
}
FCK
.
StartEditor
=
function
()
{
// Force pointing to the CSS files instead of using the inline CSS cached styles.
window
.
FCK_InternalCSS
=
FCKConfig
.
BasePath
+
'css/fck_internal.css'
;
window
.
FCK_ShowTableBordersCSS
=
FCKConfig
.
BasePath
+
'css/fck_showtableborders_gecko.css'
;
_Original_FCK_StartEditor
.
apply
(
this
,
arguments
)
;
}
})();
}
Event Timeline
Log In to Comment