Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F120838811
tiny_mce_popup.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
6 KB
Referenced Files
None
Subscribers
None
tiny_mce_popup.js
View Options
// Some global instances
var
tinymce
=
null
,
tinyMCEPopup
,
tinyMCE
;
tinyMCEPopup
=
{
init
:
function
()
{
var
t
=
this
,
w
,
ti
,
li
,
q
,
i
,
it
;
li
=
(
''
+
document
.
location
.
search
).
replace
(
/^\?/
,
''
).
split
(
'&'
);
q
=
{};
for
(
i
=
0
;
i
<
li
.
length
;
i
++
)
{
it
=
li
[
i
].
split
(
'='
);
q
[
unescape
(
it
[
0
])]
=
unescape
(
it
[
1
]);
}
if
(
q
.
mce_rdomain
)
document
.
domain
=
q
.
mce_rdomain
;
// Find window & API
w
=
t
.
getWin
();
tinymce
=
w
.
tinymce
;
tinyMCE
=
w
.
tinyMCE
;
t
.
editor
=
tinymce
.
EditorManager
.
activeEditor
;
t
.
params
=
t
.
editor
.
windowManager
.
params
;
// Setup local DOM
t
.
dom
=
t
.
editor
.
windowManager
.
createInstance
(
'tinymce.dom.DOMUtils'
,
document
);
t
.
dom
.
loadCSS
(
t
.
editor
.
settings
.
popup_css
);
// Setup on init listeners
t
.
listeners
=
[];
t
.
onInit
=
{
add
:
function
(
f
,
s
)
{
t
.
listeners
.
push
({
func
:
f
,
scope
:
s
});
}
};
t
.
isWindow
=
!
t
.
getWindowArg
(
'mce_inline'
);
t
.
id
=
t
.
getWindowArg
(
'mce_window_id'
);
t
.
editor
.
windowManager
.
onOpen
.
dispatch
(
t
.
editor
.
windowManager
,
window
);
},
getWin
:
function
()
{
return
window
.
dialogArguments
||
opener
||
parent
||
top
;
},
getWindowArg
:
function
(
n
,
dv
)
{
var
v
=
this
.
params
[
n
];
return
tinymce
.
is
(
v
)
?
v
:
dv
;
},
getParam
:
function
(
n
,
dv
)
{
return
this
.
editor
.
getParam
(
n
,
dv
);
},
getLang
:
function
(
n
,
dv
)
{
return
this
.
editor
.
getLang
(
n
,
dv
);
},
execCommand
:
function
(
cmd
,
ui
,
val
,
a
)
{
a
=
a
||
{};
a
.
skip_focus
=
1
;
this
.
restoreSelection
();
return
this
.
editor
.
execCommand
(
cmd
,
ui
,
val
,
a
);
},
resizeToInnerSize
:
function
()
{
var
t
=
this
,
n
,
b
=
document
.
body
,
vp
=
t
.
dom
.
getViewPort
(
window
),
dw
,
dh
;
dw
=
t
.
getWindowArg
(
'mce_width'
)
-
vp
.
w
;
dh
=
t
.
getWindowArg
(
'mce_height'
)
-
vp
.
h
;
if
(
t
.
isWindow
)
window
.
resizeBy
(
dw
,
dh
);
else
t
.
editor
.
windowManager
.
resizeBy
(
dw
,
dh
,
t
.
id
);
},
executeOnLoad
:
function
(
s
)
{
this
.
onInit
.
add
(
function
()
{
eval
(
s
);
});
},
storeSelection
:
function
()
{
this
.
editor
.
windowManager
.
bookmark
=
tinyMCEPopup
.
editor
.
selection
.
getBookmark
(
'simple'
);
},
restoreSelection
:
function
()
{
var
t
=
tinyMCEPopup
;
if
(
!
t
.
isWindow
&&
tinymce
.
isIE
)
t
.
editor
.
selection
.
moveToBookmark
(
t
.
editor
.
windowManager
.
bookmark
);
},
requireLangPack
:
function
()
{
var
u
=
this
.
getWindowArg
(
'plugin_url'
)
||
this
.
getWindowArg
(
'theme_url'
);
if
(
u
&&
this
.
editor
.
settings
.
language
)
{
u
+=
'/langs/'
+
this
.
editor
.
settings
.
language
+
'_dlg.js'
;
if
(
!
tinymce
.
ScriptLoader
.
isDone
(
u
))
{
document
.
write
(
'<script type="text/javascript" src="'
+
tinymce
.
_addVer
(
u
)
+
'"></script>'
);
tinymce
.
ScriptLoader
.
markDone
(
u
);
}
}
},
pickColor
:
function
(
e
,
element_id
)
{
this
.
execCommand
(
'mceColorPicker'
,
true
,
{
color
:
document
.
getElementById
(
element_id
).
value
,
func
:
function
(
c
)
{
document
.
getElementById
(
element_id
).
value
=
c
;
try
{
document
.
getElementById
(
element_id
).
onchange
();
}
catch
(
ex
)
{
// Try fire event, ignore errors
}
}
});
},
openBrowser
:
function
(
element_id
,
type
,
option
)
{
tinyMCEPopup
.
restoreSelection
();
this
.
editor
.
execCallback
(
'file_browser_callback'
,
element_id
,
document
.
getElementById
(
element_id
).
value
,
type
,
window
);
},
close
:
function
()
{
var
t
=
this
;
// To avoid domain relaxing issue in Opera
function
close
()
{
t
.
editor
.
windowManager
.
close
(
window
);
tinymce
=
tinyMCE
=
t
.
editor
=
t
.
params
=
t
.
dom
=
t
.
dom
.
doc
=
null
;
// Cleanup
};
if
(
tinymce
.
isOpera
)
t
.
getWin
().
setTimeout
(
close
,
0
);
else
close
();
},
// Internal functions
_restoreSelection
:
function
()
{
var
e
=
window
.
event
.
srcElement
;
if
(
e
.
nodeName
==
'INPUT'
&&
(
e
.
type
==
'submit'
||
e
.
type
==
'button'
))
tinyMCEPopup
.
restoreSelection
();
},
/* _restoreSelection : function() {
var e = window.event.srcElement;
// If user focus a non text input or textarea
if ((e.nodeName != 'INPUT' && e.nodeName != 'TEXTAREA') || e.type != 'text')
tinyMCEPopup.restoreSelection();
},*/
_onDOMLoaded
:
function
()
{
var
t
=
this
,
ti
=
document
.
title
,
bm
,
h
;
// Translate page
h
=
document
.
body
.
innerHTML
;
// Replace a=x with a="x" in IE
if
(
tinymce
.
isIE
)
h
=
h
.
replace
(
/ (value|title|alt)=([^"][^\s>]+)/gi
,
' $1="$2"'
)
document
.
dir
=
t
.
editor
.
getParam
(
'directionality'
,
''
);
document
.
body
.
innerHTML
=
t
.
editor
.
translate
(
h
);
document
.
title
=
ti
=
t
.
editor
.
translate
(
ti
);
document
.
body
.
style
.
display
=
''
;
// Restore selection in IE when focus is placed on a non textarea or input element of the type text
if
(
tinymce
.
isIE
)
document
.
attachEvent
(
'onmouseup'
,
tinyMCEPopup
.
_restoreSelection
);
t
.
restoreSelection
();
t
.
resizeToInnerSize
();
// Set inline title
if
(
!
t
.
isWindow
)
t
.
editor
.
windowManager
.
setTitle
(
window
,
ti
);
else
window
.
focus
();
if
(
!
tinymce
.
isIE
&&
!
t
.
isWindow
)
{
tinymce
.
dom
.
Event
.
_add
(
document
,
'focus'
,
function
()
{
t
.
editor
.
windowManager
.
focus
(
t
.
id
)
});
}
// Patch for accessibility
tinymce
.
each
(
t
.
dom
.
select
(
'select'
),
function
(
e
)
{
e
.
onkeydown
=
tinyMCEPopup
.
_accessHandler
;
});
// Call onInit
// Init must be called before focus so the selection won't get lost by the focus call
tinymce
.
each
(
t
.
listeners
,
function
(
o
)
{
o
.
func
.
call
(
o
.
scope
,
t
.
editor
);
});
// Move focus to window
if
(
t
.
getWindowArg
(
'mce_auto_focus'
,
true
))
{
window
.
focus
();
// Focus element with mceFocus class
tinymce
.
each
(
document
.
forms
,
function
(
f
)
{
tinymce
.
each
(
f
.
elements
,
function
(
e
)
{
if
(
t
.
dom
.
hasClass
(
e
,
'mceFocus'
)
&&
!
e
.
disabled
)
{
e
.
focus
();
return
false
;
// Break loop
}
});
});
}
document
.
onkeyup
=
tinyMCEPopup
.
_closeWinKeyHandler
;
},
_accessHandler
:
function
(
e
)
{
e
=
e
||
window
.
event
;
if
(
e
.
keyCode
==
13
||
e
.
keyCode
==
32
)
{
e
=
e
.
target
||
e
.
srcElement
;
if
(
e
.
onchange
)
e
.
onchange
();
return
tinymce
.
dom
.
Event
.
cancel
(
e
);
}
},
_closeWinKeyHandler
:
function
(
e
)
{
e
=
e
||
window
.
event
;
if
(
e
.
keyCode
==
27
)
tinyMCEPopup
.
close
();
},
_wait
:
function
()
{
var
t
=
this
,
ti
;
if
(
tinymce
.
isIE
&&
document
.
location
.
protocol
!=
'https:'
)
{
// Fake DOMContentLoaded on IE
document
.
write
(
'<script id=__ie_onload defer src=\'javascript:""\';><\/script>'
);
document
.
getElementById
(
"__ie_onload"
).
onreadystatechange
=
function
()
{
if
(
this
.
readyState
==
"complete"
)
{
t
.
_onDOMLoaded
();
document
.
getElementById
(
"__ie_onload"
).
onreadystatechange
=
null
;
// Prevent leak
}
};
}
else
{
if
(
tinymce
.
isIE
||
tinymce
.
isWebKit
)
{
ti
=
setInterval
(
function
()
{
if
(
/loaded|complete/
.
test
(
document
.
readyState
))
{
clearInterval
(
ti
);
t
.
_onDOMLoaded
();
}
},
10
);
}
else
{
window
.
addEventListener
(
'DOMContentLoaded'
,
function
()
{
t
.
_onDOMLoaded
();
},
false
);
}
}
}
};
tinyMCEPopup
.
init
();
tinyMCEPopup
.
_wait
();
// Wait for DOM Content Loaded
File Metadata
Details
Attached
Mime Type
text/html
Expires
Fri, Apr 24, 2:04 PM (1 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18838933
Default Alt Text
tiny_mce_popup.js (6 KB)
Attached To
Mode
R113 roundcubemail
Attached
Detach File
Event Timeline