Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F6063270
editor_plugin_src.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 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
,
Event
=
tinymce
.
dom
.
Event
,
each
=
tinymce
.
each
,
explode
=
tinymce
.
explode
;
tinymce
.
create
(
'tinymce.plugins.TabFocusPlugin'
,
{
init
:
function
(
ed
,
url
)
{
function
tabCancel
(
ed
,
e
)
{
if
(
e
.
keyCode
===
9
)
return
Event
.
cancel
(
e
);
}
function
tabHandler
(
ed
,
e
)
{
var
x
,
i
,
f
,
el
,
v
;
function
find
(
d
)
{
el
=
DOM
.
select
(
':input:enabled,*[tabindex]'
);
function
canSelectRecursive
(
e
)
{
return
e
.
nodeName
===
"BODY"
||
(
e
.
type
!=
'hidden'
&&
!
(
e
.
style
.
display
==
"none"
)
&&
!
(
e
.
style
.
visibility
==
"hidden"
)
&&
canSelectRecursive
(
e
.
parentNode
));
}
function
canSelectInOldIe
(
el
)
{
return
el
.
attributes
[
"tabIndex"
].
specified
||
el
.
nodeName
==
"INPUT"
||
el
.
nodeName
==
"TEXTAREA"
;
}
function
isOldIe
()
{
return
tinymce
.
isIE6
||
tinymce
.
isIE7
;
}
function
canSelect
(
el
)
{
return
((
!
isOldIe
()
||
canSelectInOldIe
(
el
)))
&&
el
.
getAttribute
(
"tabindex"
)
!=
'-1'
&&
canSelectRecursive
(
el
);
}
each
(
el
,
function
(
e
,
i
)
{
if
(
e
.
id
==
ed
.
id
)
{
x
=
i
;
return
false
;
}
});
if
(
d
>
0
)
{
for
(
i
=
x
+
1
;
i
<
el
.
length
;
i
++
)
{
if
(
canSelect
(
el
[
i
]))
return
el
[
i
];
}
}
else
{
for
(
i
=
x
-
1
;
i
>=
0
;
i
--
)
{
if
(
canSelect
(
el
[
i
]))
return
el
[
i
];
}
}
return
null
;
}
if
(
e
.
keyCode
===
9
)
{
v
=
explode
(
ed
.
getParam
(
'tab_focus'
,
ed
.
getParam
(
'tabfocus_elements'
,
':prev,:next'
)));
if
(
v
.
length
==
1
)
{
v
[
1
]
=
v
[
0
];
v
[
0
]
=
':prev'
;
}
// Find element to focus
if
(
e
.
shiftKey
)
{
if
(
v
[
0
]
==
':prev'
)
el
=
find
(
-
1
);
else
el
=
DOM
.
get
(
v
[
0
]);
}
else
{
if
(
v
[
1
]
==
':next'
)
el
=
find
(
1
);
else
el
=
DOM
.
get
(
v
[
1
]);
}
if
(
el
)
{
if
(
el
.
id
&&
(
ed
=
tinymce
.
get
(
el
.
id
||
el
.
name
)))
ed
.
focus
();
else
window
.
setTimeout
(
function
()
{
if
(
!
tinymce
.
isWebKit
)
window
.
focus
();
el
.
focus
();
},
10
);
return
Event
.
cancel
(
e
);
}
}
}
ed
.
onKeyUp
.
add
(
tabCancel
);
if
(
tinymce
.
isGecko
)
{
ed
.
onKeyPress
.
add
(
tabHandler
);
ed
.
onKeyDown
.
add
(
tabCancel
);
}
else
ed
.
onKeyDown
.
add
(
tabHandler
);
},
getInfo
:
function
()
{
return
{
longname
:
'Tabfocus'
,
author
:
'Moxiecode Systems AB'
,
authorurl
:
'http://tinymce.moxiecode.com'
,
infourl
:
'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus'
,
version
:
tinymce
.
majorVersion
+
"."
+
tinymce
.
minorVersion
};
}
});
// Register plugin
tinymce
.
PluginManager
.
add
(
'tabfocus'
,
tinymce
.
plugins
.
TabFocusPlugin
);
})();
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, May 22, 4:04 AM (1 d, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
776433
Default Alt Text
editor_plugin_src.js (2 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment