2 * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
5 * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
9 tinymce
.create('tinymce.plugins.PageBreakPlugin', {
10 init : function(ed
, url
) {
11 var pb
= '<img src="' + url
+ '/img/trans.gif" class="mcePageBreak mceItemNoResize" />', cls
= 'mcePageBreak', sep
= ed
.getParam('pagebreak_separator', '<!-- pagebreak -->'), pbRE
;
13 pbRE
= new RegExp(sep
.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function(a
) {return '\\' + a
;}), 'g');
16 ed
.addCommand('mcePageBreak', function() {
17 ed
.execCommand('mceInsertContent', 0, pb
);
21 ed
.addButton('pagebreak', {title
: 'pagebreak.desc', cmd
: cls
});
23 ed
.onInit
.add(function() {
24 if (ed
.settings
.content_css
!== false)
25 ed
.dom
.loadCSS(url
+ "/css/content.css");
27 if (ed
.theme
.onResolveName
) {
28 ed
.theme
.onResolveName
.add(function(th
, o
) {
29 if (o
.node
.nodeName
== 'IMG' && ed
.dom
.hasClass(o
.node
, cls
))
35 ed
.onClick
.add(function(ed
, e
) {
38 if (e
.nodeName
=== 'IMG' && ed
.dom
.hasClass(e
, cls
))
39 ed
.selection
.select(e
);
42 ed
.onNodeChange
.add(function(ed
, cm
, n
) {
43 cm
.setActive('pagebreak', n
.nodeName
=== 'IMG' && ed
.dom
.hasClass(n
, cls
));
46 ed
.onBeforeSetContent
.add(function(ed
, o
) {
47 o
.content
= o
.content
.replace(pbRE
, pb
);
50 ed
.onPostProcess
.add(function(ed
, o
) {
52 o
.content
= o
.content
.replace(/<img[^>]+>/g, function(im
) {
53 if (im
.indexOf('class="mcePageBreak') !== -1)
61 getInfo : function() {
63 longname
: 'PageBreak',
64 author
: 'Moxiecode Systems AB',
65 authorurl
: 'http://tinymce.moxiecode.com',
66 infourl
: 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak',
67 version
: tinymce
.majorVersion
+ "." + tinymce
.minorVersion
73 tinymce
.PluginManager
.add('pagebreak', tinymce
.plugins
.PageBreakPlugin
);