Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F9785084
editor_plugin_src.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
editor_plugin_src.js
View Options
/**
* editor_plugin_src.js
*
* Copyright 2009, Moxiecode Systems AB
* Released under LGPL License.
*
* License: http://tinymce.moxiecode.com/license
* Contributing: http://tinymce.moxiecode.com/contributing
*/
(
function
()
{
var
DOM
=
tinymce
.
DOM
;
tinymce
.
create
(
'tinymce.plugins.FullScreenPlugin'
,
{
init
:
function
(
ed
,
url
)
{
var
t
=
this
,
s
=
{},
vp
,
posCss
;
t
.
editor
=
ed
;
// Register commands
ed
.
addCommand
(
'mceFullScreen'
,
function
()
{
var
win
,
de
=
DOM
.
doc
.
documentElement
;
if
(
ed
.
getParam
(
'fullscreen_is_enabled'
))
{
if
(
ed
.
getParam
(
'fullscreen_new_window'
))
closeFullscreen
();
// Call to close in new window
else
{
DOM
.
win
.
setTimeout
(
function
()
{
tinymce
.
dom
.
Event
.
remove
(
DOM
.
win
,
'resize'
,
t
.
resizeFunc
);
tinyMCE
.
get
(
ed
.
getParam
(
'fullscreen_editor_id'
)).
setContent
(
ed
.
getContent
());
tinyMCE
.
remove
(
ed
);
DOM
.
remove
(
'mce_fullscreen_container'
);
de
.
style
.
overflow
=
ed
.
getParam
(
'fullscreen_html_overflow'
);
DOM
.
setStyle
(
DOM
.
doc
.
body
,
'overflow'
,
ed
.
getParam
(
'fullscreen_overflow'
));
DOM
.
win
.
scrollTo
(
ed
.
getParam
(
'fullscreen_scrollx'
),
ed
.
getParam
(
'fullscreen_scrolly'
));
tinyMCE
.
settings
=
tinyMCE
.
oldSettings
;
// Restore old settings
},
10
);
}
return
;
}
if
(
ed
.
getParam
(
'fullscreen_new_window'
))
{
win
=
DOM
.
win
.
open
(
url
+
"/fullscreen.htm"
,
"mceFullScreenPopup"
,
"fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="
+
screen
.
availWidth
+
",height="
+
screen
.
availHeight
);
try
{
win
.
resizeTo
(
screen
.
availWidth
,
screen
.
availHeight
);
}
catch
(
e
)
{
// Ignore
}
}
else
{
tinyMCE
.
oldSettings
=
tinyMCE
.
settings
;
// Store old settings
s
.
fullscreen_overflow
=
DOM
.
getStyle
(
DOM
.
doc
.
body
,
'overflow'
,
1
)
||
'auto'
;
s
.
fullscreen_html_overflow
=
DOM
.
getStyle
(
de
,
'overflow'
,
1
);
vp
=
DOM
.
getViewPort
();
s
.
fullscreen_scrollx
=
vp
.
x
;
s
.
fullscreen_scrolly
=
vp
.
y
;
// Fixes an Opera bug where the scrollbars doesn't reappear
if
(
tinymce
.
isOpera
&&
s
.
fullscreen_overflow
==
'visible'
)
s
.
fullscreen_overflow
=
'auto'
;
// Fixes an IE bug where horizontal scrollbars would appear
if
(
tinymce
.
isIE
&&
s
.
fullscreen_overflow
==
'scroll'
)
s
.
fullscreen_overflow
=
'auto'
;
// Fixes an IE bug where the scrollbars doesn't reappear
if
(
tinymce
.
isIE
&&
(
s
.
fullscreen_html_overflow
==
'visible'
||
s
.
fullscreen_html_overflow
==
'scroll'
))
s
.
fullscreen_html_overflow
=
'auto'
;
if
(
s
.
fullscreen_overflow
==
'0px'
)
s
.
fullscreen_overflow
=
''
;
DOM
.
setStyle
(
DOM
.
doc
.
body
,
'overflow'
,
'hidden'
);
de
.
style
.
overflow
=
'hidden'
;
//Fix for IE6/7
vp
=
DOM
.
getViewPort
();
DOM
.
win
.
scrollTo
(
0
,
0
);
if
(
tinymce
.
isIE
)
vp
.
h
-=
1
;
// Use fixed position if it exists
if
(
tinymce
.
isIE6
||
document
.
compatMode
==
'BackCompat'
)
posCss
=
'absolute;top:'
+
vp
.
y
;
else
posCss
=
'fixed;top:0'
;
n
=
DOM
.
add
(
DOM
.
doc
.
body
,
'div'
,
{
id
:
'mce_fullscreen_container'
,
style
:
'position:'
+
posCss
+
';left:0;width:'
+
vp
.
w
+
'px;height:'
+
vp
.
h
+
'px;z-index:200000;'
});
DOM
.
add
(
n
,
'div'
,
{
id
:
'mce_fullscreen'
});
tinymce
.
each
(
ed
.
settings
,
function
(
v
,
n
)
{
s
[
n
]
=
v
;
});
s
.
id
=
'mce_fullscreen'
;
s
.
width
=
n
.
clientWidth
;
s
.
height
=
n
.
clientHeight
-
15
;
s
.
fullscreen_is_enabled
=
true
;
s
.
fullscreen_editor_id
=
ed
.
id
;
s
.
theme_advanced_resizing
=
false
;
s
.
save_onsavecallback
=
function
()
{
ed
.
setContent
(
tinyMCE
.
get
(
s
.
id
).
getContent
());
ed
.
execCommand
(
'mceSave'
);
};
tinymce
.
each
(
ed
.
getParam
(
'fullscreen_settings'
),
function
(
v
,
k
)
{
s
[
k
]
=
v
;
});
if
(
s
.
theme_advanced_toolbar_location
===
'external'
)
s
.
theme_advanced_toolbar_location
=
'top'
;
t
.
fullscreenEditor
=
new
tinymce
.
Editor
(
'mce_fullscreen'
,
s
);
t
.
fullscreenEditor
.
onInit
.
add
(
function
()
{
t
.
fullscreenEditor
.
setContent
(
ed
.
getContent
());
t
.
fullscreenEditor
.
focus
();
});
t
.
fullscreenEditor
.
render
();
t
.
fullscreenElement
=
new
tinymce
.
dom
.
Element
(
'mce_fullscreen_container'
);
t
.
fullscreenElement
.
update
();
//document.body.overflow = 'hidden';
t
.
resizeFunc
=
tinymce
.
dom
.
Event
.
add
(
DOM
.
win
,
'resize'
,
function
()
{
var
vp
=
tinymce
.
DOM
.
getViewPort
(),
fed
=
t
.
fullscreenEditor
,
outerSize
,
innerSize
;
// Get outer/inner size to get a delta size that can be used to calc the new iframe size
outerSize
=
fed
.
dom
.
getSize
(
fed
.
getContainer
().
getElementsByTagName
(
'table'
)[
0
]);
innerSize
=
fed
.
dom
.
getSize
(
fed
.
getContainer
().
getElementsByTagName
(
'iframe'
)[
0
]);
fed
.
theme
.
resizeTo
(
vp
.
w
-
outerSize
.
w
+
innerSize
.
w
,
vp
.
h
-
outerSize
.
h
+
innerSize
.
h
);
});
}
});
// Register buttons
ed
.
addButton
(
'fullscreen'
,
{
title
:
'fullscreen.desc'
,
cmd
:
'mceFullScreen'
});
ed
.
onNodeChange
.
add
(
function
(
ed
,
cm
)
{
cm
.
setActive
(
'fullscreen'
,
ed
.
getParam
(
'fullscreen_is_enabled'
));
});
},
getInfo
:
function
()
{
return
{
longname
:
'Fullscreen'
,
author
:
'Moxiecode Systems AB'
,
authorurl
:
'http://tinymce.moxiecode.com'
,
infourl
:
'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen'
,
version
:
tinymce
.
majorVersion
+
"."
+
tinymce
.
minorVersion
};
}
});
// Register plugin
tinymce
.
PluginManager
.
add
(
'fullscreen'
,
tinymce
.
plugins
.
FullScreenPlugin
);
})();
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Aug 17, 11:38 AM (14 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1261401
Default Alt Text
editor_plugin_src.js (5 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment