日期:2014-05-17 浏览次数:20790 次
感谢Ext社区的外国朋友提供一个现成的插件,我在当中加入一个表情panel,希望给大家在用Ext的时候也方便一些.做个例子让大家继续扩展.
Ext.ux.form.plugin.HtmlEditor.js
/** * @class Ext.ux.form.plugin.HtmlEditor * @author Adrian Teodorescu (ateodorescu@gmail.com; http://www.mzsolutions.eu) * @docauthor Adrian Teodorescu (ateodorescu@gmail.com; http://www.mzsolutions.eu) * @version 1.1 * * Provides plugins for the HtmlEditor. Many thanks to [Shea Frederick][1] as I was inspired by his [work][2]. * * [1]: http://www.vinylfox.com * [2]: http://www.vinylfox.com/plugin-set-for-additional-extjs-htmleditor-buttons/ * * The plugin buttons have tooltips defined in the {@link #buttonTips} property, but they are not * enabled by default unless the global {@link Ext.tip.QuickTipManager} singleton is {@link Ext.tip.QuickTipManager#init initialized}. * * * #Example usage:# {@img Ext.ux.form.plugin.HtmlEditor.png Ext.ux.form.plugin.HtmlEditor plugins} var top = Ext.create('Ext.form.Panel', { frame:true, title: 'HtmlEditor plugins', bodyStyle: 'padding:5px 5px 0', width: '80%', fieldDefaults: { labelAlign: 'top', msgTarget: 'side' }, items: [{ xtype: 'htmleditor', fieldLabel: 'Text editor', height: 300, plugins: [ Ext.create('Ext.ux.form.plugin.HtmlEditor',{ enableAll: true }) ], anchor: '100%' }], buttons: [{ text: 'Save' },{ text: 'Cancel' }] }); top.render(document.body); */ Ext.define('Ext.ux.form.plugin.HtmlEditor', { mixins: { observable: 'Ext.util.Observable' }, alternateClassName: 'Ext.form.plugin.HtmlEditor', requires: [ 'Ext.tip.QuickTipManager', 'Ext.form.field.HtmlEditor' ], /** * @cfg {Boolean} enableAll Enable all available plugins */ enableAll: false, /** * @cfg {Boolean} enableUndoRedo Enable "undo" and "redo" plugins */ enableUndoRedo: false, /** * @cfg {Boolean} enableRemoveHtml Enable the plugin "remove html" which is removing all html entities from the entire text */ enableRemoveHtml: false, /** * @cfg {Boolean} enableRemoveFormatting Enable "remove format" plugin */ enableRemoveFormatting: false, /** * @cfg {Boolean} enableIndenting Enable "indent" and "outdent" plugins */ enableIndenting: false, /** * @cfg {Boolean} enableSmallLetters Enable "superscript" and "subscript" plugins */ enableSmallLetters: false, /** * @cfg {Boolean} enableHorizontalRule Enable "horizontal rule" plugin */ enableHorizontalRule: false, /** * @cfg {Boolean} enableSpecialChars Enable "special chars" plugin */ enableSpecialChars: false, /** * @cfg {Boolean} enableWordPaste Enable "word paste" plugin which is cleaning the pasted text that is coming from MS Word */ enableWordPaste: false, /** * @cfg {Boolean} enableFormatBlocks Enable "format blocks" plugin which allows to insert formatting tags. */ enableFormatBlocks: false, /** * @cfg {Boolean} defaultFormatBlock Set the default block format. */ defaultFormatBlock: 'p', /** * 表情 */ enableFaceImages: false, enableInsertTable: false, wordPasteEnabled: false, /** * @cfg {Array} specialChars * An array of additional characters to display for user selection. Uses numeric portion of the ASCII HTML Character Code only. For example, to use the Copyright sym