0
|
1 |
/**
|
|
2 |
* $Id: editor_template_src.js 920 2008-09-09 14:05:33Z spocke $
|
|
3 |
*
|
|
4 |
* This file is meant to showcase how to create a simple theme. The advanced
|
|
5 |
* theme is more suitable for production use.
|
|
6 |
*
|
|
7 |
* @author Moxiecode
|
|
8 |
* @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
|
|
9 |
*/
|
|
10 |
|
|
11 |
(function() {
|
|
12 |
var DOM = tinymce.DOM;
|
|
13 |
|
|
14 |
// Tell it to load theme specific language pack(s)
|
|
15 |
tinymce.ThemeManager.requireLangPack('simple');
|
|
16 |
|
|
17 |
tinymce.create('tinymce.themes.SimpleTheme', {
|
|
18 |
init : function(ed, url) {
|
|
19 |
var t = this, states = ['Bold', 'Italic', 'Underline', 'Strikethrough', 'InsertUnorderedList', 'InsertOrderedList'], s = ed.settings;
|
|
20 |
|
|
21 |
t.editor = ed;
|
|
22 |
|
|
23 |
ed.onInit.add(function() {
|
|
24 |
ed.onNodeChange.add(function(ed, cm) {
|
|
25 |
tinymce.each(states, function(c) {
|
|
26 |
cm.get(c.toLowerCase()).setActive(ed.queryCommandState(c));
|
|
27 |
});
|
|
28 |
});
|
|
29 |
|
|
30 |
ed.dom.loadCSS(url + "/skins/" + s.skin + "/content.css");
|
|
31 |
});
|
|
32 |
|
|
33 |
DOM.loadCSS((s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : '') || url + "/skins/" + s.skin + "/ui.css");
|
|
34 |
},
|
|
35 |
|
|
36 |
renderUI : function(o) {
|
|
37 |
var t = this, n = o.targetNode, ic, tb, ed = t.editor, cf = ed.controlManager, sc;
|
|
38 |
|
|
39 |
n = DOM.insertAfter(DOM.create('span', {id : ed.id + '_container', 'class' : 'mceEditor ' + ed.settings.skin + 'SimpleSkin'}), n);
|
|
40 |
n = sc = DOM.add(n, 'table', {cellPadding : 0, cellSpacing : 0, 'class' : 'mceLayout'});
|
|
41 |
n = tb = DOM.add(n, 'tbody');
|
|
42 |
|
|
43 |
// Create iframe container
|
|
44 |
n = DOM.add(tb, 'tr');
|
|
45 |
n = ic = DOM.add(DOM.add(n, 'td'), 'div', {'class' : 'mceIframeContainer'});
|
|
46 |
|
|
47 |
// Create toolbar container
|
|
48 |
n = DOM.add(DOM.add(tb, 'tr', {'class' : 'last'}), 'td', {'class' : 'mceToolbar mceLast', align : 'center'});
|
|
49 |
|
|
50 |
// Create toolbar
|
|
51 |
tb = t.toolbar = cf.createToolbar("tools1");
|
|
52 |
tb.add(cf.createButton('bold', {title : 'simple.bold_desc', cmd : 'Bold'}));
|
|
53 |
tb.add(cf.createButton('italic', {title : 'simple.italic_desc', cmd : 'Italic'}));
|
|
54 |
tb.add(cf.createButton('underline', {title : 'simple.underline_desc', cmd : 'Underline'}));
|
|
55 |
tb.add(cf.createButton('strikethrough', {title : 'simple.striketrough_desc', cmd : 'Strikethrough'}));
|
|
56 |
tb.add(cf.createSeparator());
|
|
57 |
tb.add(cf.createButton('undo', {title : 'simple.undo_desc', cmd : 'Undo'}));
|
|
58 |
tb.add(cf.createButton('redo', {title : 'simple.redo_desc', cmd : 'Redo'}));
|
|
59 |
tb.add(cf.createSeparator());
|
|
60 |
tb.add(cf.createButton('cleanup', {title : 'simple.cleanup_desc', cmd : 'mceCleanup'}));
|
|
61 |
tb.add(cf.createSeparator());
|
|
62 |
tb.add(cf.createButton('insertunorderedlist', {title : 'simple.bullist_desc', cmd : 'InsertUnorderedList'}));
|
|
63 |
tb.add(cf.createButton('insertorderedlist', {title : 'simple.numlist_desc', cmd : 'InsertOrderedList'}));
|
|
64 |
tb.renderTo(n);
|
|
65 |
|
|
66 |
return {
|
|
67 |
iframeContainer : ic,
|
|
68 |
editorContainer : ed.id + '_container',
|
|
69 |
sizeContainer : sc,
|
|
70 |
deltaHeight : -20
|
|
71 |
};
|
|
72 |
},
|
|
73 |
|
|
74 |
getInfo : function() {
|
|
75 |
return {
|
|
76 |
longname : 'Simple theme',
|
|
77 |
author : 'Moxiecode Systems AB',
|
|
78 |
authorurl : 'http://tinymce.moxiecode.com',
|
|
79 |
version : tinymce.majorVersion + "." + tinymce.minorVersion
|
|
80 |
}
|
|
81 |
}
|
|
82 |
});
|
|
83 |
|
|
84 |
tinymce.ThemeManager.add('simple', tinymce.themes.SimpleTheme);
|
|
85 |
})(); |