editor_template_src.js
84 lines
| 3.1 KiB
| application/javascript
|
JavascriptLexer
| r2 | /** | ||
| * $Id: editor_template_src.js 920 2008-09-09 14:05:33Z spocke $ | |||
| * | |||
| * This file is meant to showcase how to create a simple theme. The advanced | |||
| * theme is more suitable for production use. | |||
| * | |||
| * @author Moxiecode | |||
| * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved. | |||
| */ | |||
| (function() { | |||
| var DOM = tinymce.DOM; | |||
| // Tell it to load theme specific language pack(s) | |||
| tinymce.ThemeManager.requireLangPack('simple'); | |||
| tinymce.create('tinymce.themes.SimpleTheme', { | |||
| init : function(ed, url) { | |||
| var t = this, states = ['Bold', 'Italic', 'Underline', 'Strikethrough', 'InsertUnorderedList', 'InsertOrderedList'], s = ed.settings; | |||
| t.editor = ed; | |||
| ed.onInit.add(function() { | |||
| ed.onNodeChange.add(function(ed, cm) { | |||
| tinymce.each(states, function(c) { | |||
| cm.get(c.toLowerCase()).setActive(ed.queryCommandState(c)); | |||
| }); | |||
| }); | |||
| ed.dom.loadCSS(url + "/skins/" + s.skin + "/content.css"); | |||
| }); | |||
| DOM.loadCSS((s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : '') || url + "/skins/" + s.skin + "/ui.css"); | |||
| }, | |||
| renderUI : function(o) { | |||
| var t = this, n = o.targetNode, ic, tb, ed = t.editor, cf = ed.controlManager, sc; | |||
| n = DOM.insertAfter(DOM.create('span', {id : ed.id + '_container', 'class' : 'mceEditor ' + ed.settings.skin + 'SimpleSkin'}), n); | |||
| n = sc = DOM.add(n, 'table', {cellPadding : 0, cellSpacing : 0, 'class' : 'mceLayout'}); | |||
| n = tb = DOM.add(n, 'tbody'); | |||
| // Create iframe container | |||
| n = DOM.add(tb, 'tr'); | |||
| n = ic = DOM.add(DOM.add(n, 'td'), 'div', {'class' : 'mceIframeContainer'}); | |||
| // Create toolbar container | |||
| n = DOM.add(DOM.add(tb, 'tr', {'class' : 'last'}), 'td', {'class' : 'mceToolbar mceLast', align : 'center'}); | |||
| // Create toolbar | |||
| tb = t.toolbar = cf.createToolbar("tools1"); | |||
| tb.add(cf.createButton('bold', {title : 'simple.bold_desc', cmd : 'Bold'})); | |||
| tb.add(cf.createButton('italic', {title : 'simple.italic_desc', cmd : 'Italic'})); | |||
| tb.add(cf.createButton('underline', {title : 'simple.underline_desc', cmd : 'Underline'})); | |||
| tb.add(cf.createButton('strikethrough', {title : 'simple.striketrough_desc', cmd : 'Strikethrough'})); | |||
| tb.add(cf.createSeparator()); | |||
| tb.add(cf.createButton('undo', {title : 'simple.undo_desc', cmd : 'Undo'})); | |||
| tb.add(cf.createButton('redo', {title : 'simple.redo_desc', cmd : 'Redo'})); | |||
| tb.add(cf.createSeparator()); | |||
| tb.add(cf.createButton('cleanup', {title : 'simple.cleanup_desc', cmd : 'mceCleanup'})); | |||
| tb.add(cf.createSeparator()); | |||
| tb.add(cf.createButton('insertunorderedlist', {title : 'simple.bullist_desc', cmd : 'InsertUnorderedList'})); | |||
| tb.add(cf.createButton('insertorderedlist', {title : 'simple.numlist_desc', cmd : 'InsertOrderedList'})); | |||
| tb.renderTo(n); | |||
| return { | |||
| iframeContainer : ic, | |||
| editorContainer : ed.id + '_container', | |||
| sizeContainer : sc, | |||
| deltaHeight : -20 | |||
| }; | |||
| }, | |||
| getInfo : function() { | |||
| return { | |||
| longname : 'Simple theme', | |||
| author : 'Moxiecode Systems AB', | |||
| authorurl : 'http://tinymce.moxiecode.com', | |||
| version : tinymce.majorVersion + "." + tinymce.minorVersion | |||
| } | |||
| } | |||
| }); | |||
| tinymce.ThemeManager.add('simple', tinymce.themes.SimpleTheme); | |||
| })(); |
