1 |
3 |
ahitrov@rambler.ru |
/** |
2 |
|
|
* editor_template_src.js |
3 |
|
|
* |
4 |
|
|
* Copyright 2009, Moxiecode Systems AB |
5 |
|
|
* Released under LGPL License. |
6 |
|
|
* |
7 |
|
|
* License: http://tinymce.moxiecode.com/license |
8 |
|
|
* Contributing: http://tinymce.moxiecode.com/contributing |
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 |
|
|
})(); |