1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- CKEDITOR.plugins.add('tweetabletext', {
- icons: 'tweetabletext',
- beforeInit: function () {
- },
- init: function(editor) {
- editor.addCommand('tweetabletext', new CKEDITOR.dialogCommand('tweetabletextDialog'));
- editor.addCommand('untweetabletext', new CKEDITOR.unlinkCommand());
- editor.ui.addButton('TweetableText', {
- label: 'Insert TweetableText',
- command: 'tweetabletext',
- toolbar: 'insert'
- });
- if (editor.contextMenu) {
- editor.addMenuGroup('tweetabletextGroup');
- editor.addMenuItems({
- tweetabletextItem: {
- label: 'Edit TweetableText',
- icon: this.path + 'icons/tweetabletext.png',
- command: 'tweetabletext',
- group: 'tweetabletextGroup'
- },
- unTweetabletextItem: {
- label: 'Remove TweetableText',
- icon: this.path + 'icons/tweetabletext.png',
- command: 'untweetabletext',
- group: 'tweetabletextGroup'
- },
- });
- editor.contextMenu.addListener(function(element) {
- if (element.getAttribute('class') === 'tweetabletext') {
- return { tweetabletextItem: CKEDITOR.TRISTATE_OFF, unTweetabletextItem: CKEDITOR.TRISTATE_OFF,};
- }
- });
- }
- CKEDITOR.dialog.add('tweetabletextDialog', this.path + 'dialogs/tweetabletext.js');
- if (typeof editor.config.contentsCss === 'object') {
- editor.config.contentsCss.push(CKEDITOR.getUrl(this.path + 'css/tweetabletext.css'));
- }
- }
- });
- // This part was getting from http://ckeditor.com/addon/link.
- CKEDITOR.unlinkCommand = function() {};
- CKEDITOR.unlinkCommand.prototype = {
- exec: function(editor) {
- var style = new CKEDITOR.style({
- element: 'a',
- type: CKEDITOR.STYLE_INLINE,
- alwaysRemoveElement: 1
- });
- editor.removeStyle(style);
- },
- refresh: function(editor, path) {
- var element = path.lastElement && path.lastElement.getAscendant('a', true);
- if (element && element.getName() === 'a' && element.getAttribute('href') && element.getChildCount()) {
- this.setState(CKEDITOR.TRISTATE_OFF);
- }
- else {
- this.setState(CKEDITOR.TRISTATE_DISABLED);
- }
- },
- contextSensitive: 1,
- startDisabled: 1,
- requiredContent: 'a[href]'
- };
|