Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F9784206
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
)
{
f
=
DOM
.
getParent
(
ed
.
id
,
'form'
);
el
=
f
.
elements
;
if
(
f
)
{
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
(
el
[
i
].
type
!=
'hidden'
)
return
el
[
i
];
}
}
else
{
for
(
i
=
x
-
1
;
i
>=
0
;
i
--
)
{
if
(
el
[
i
].
type
!=
'hidden'
)
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
(
ed
=
tinymce
.
get
(
el
.
id
||
el
.
name
))
ed
.
focus
();
else
window
.
setTimeout
(
function
()
{
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
);
ed
.
onInit
.
add
(
function
()
{
each
(
DOM
.
select
(
'a:first,a:last'
,
ed
.
getContainer
()),
function
(
n
)
{
Event
.
add
(
n
,
'focus'
,
function
()
{
ed
.
focus
();});
});
});
},
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
Mon, Aug 17, 11:11 AM (16 m, 54 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1260759
Default Alt Text
editor_plugin_src.js (2 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment