summaryrefslogtreecommitdiff
path: root/_source/plugins/placeholder/plugin.js
diff options
context:
space:
mode:
Diffstat (limited to '_source/plugins/placeholder/plugin.js')
-rw-r--r--_source/plugins/placeholder/plugin.js171
1 files changed, 0 insertions, 171 deletions
diff --git a/_source/plugins/placeholder/plugin.js b/_source/plugins/placeholder/plugin.js
deleted file mode 100644
index 1830741..0000000
--- a/_source/plugins/placeholder/plugin.js
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/**
- * @fileOverview The "placeholder" plugin.
- *
- */
-
-(function()
-{
- var placeholderReplaceRegex = /\[\[[^\]]+\]\]/g;
- CKEDITOR.plugins.add( 'placeholder',
- {
- requires : [ 'dialog' ],
- lang : [ 'bg', 'cs', 'cy', 'da', 'de', 'el', 'en', 'eo', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'it', 'nb', 'nl', 'no', 'pl', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ],
- init : function( editor )
- {
- var lang = editor.lang.placeholder;
-
- editor.addCommand( 'createplaceholder', new CKEDITOR.dialogCommand( 'createplaceholder' ) );
- editor.addCommand( 'editplaceholder', new CKEDITOR.dialogCommand( 'editplaceholder' ) );
-
- editor.ui.addButton( 'CreatePlaceholder',
- {
- label : lang.toolbar,
- command :'createplaceholder',
- icon : this.path + 'placeholder.gif'
- });
-
- if ( editor.addMenuItems )
- {
- editor.addMenuGroup( 'placeholder', 20 );
- editor.addMenuItems(
- {
- editplaceholder :
- {
- label : lang.edit,
- command : 'editplaceholder',
- group : 'placeholder',
- order : 1,
- icon : this.path + 'placeholder.gif'
- }
- } );
-
- if ( editor.contextMenu )
- {
- editor.contextMenu.addListener( function( element, selection )
- {
- if ( !element || !element.data( 'cke-placeholder' ) )
- return null;
-
- return { editplaceholder : CKEDITOR.TRISTATE_OFF };
- } );
- }
- }
-
- editor.on( 'doubleclick', function( evt )
- {
- if ( CKEDITOR.plugins.placeholder.getSelectedPlaceHoder( editor ) )
- evt.data.dialog = 'editplaceholder';
- });
-
- editor.addCss(
- '.cke_placeholder' +
- '{' +
- 'background-color: #ffff00;' +
- ( CKEDITOR.env.gecko ? 'cursor: default;' : '' ) +
- '}'
- );
-
- editor.on( 'contentDom', function()
- {
- editor.document.getBody().on( 'resizestart', function( evt )
- {
- if ( editor.getSelection().getSelectedElement().data( 'cke-placeholder' ) )
- evt.data.preventDefault();
- });
- });
-
- CKEDITOR.dialog.add( 'createplaceholder', this.path + 'dialogs/placeholder.js' );
- CKEDITOR.dialog.add( 'editplaceholder', this.path + 'dialogs/placeholder.js' );
- },
- afterInit : function( editor )
- {
- var dataProcessor = editor.dataProcessor,
- dataFilter = dataProcessor && dataProcessor.dataFilter,
- htmlFilter = dataProcessor && dataProcessor.htmlFilter;
-
- if ( dataFilter )
- {
- dataFilter.addRules(
- {
- text : function( text )
- {
- return text.replace( placeholderReplaceRegex, function( match )
- {
- return CKEDITOR.plugins.placeholder.createPlaceholder( editor, null, match, 1 );
- });
- }
- });
- }
-
- if ( htmlFilter )
- {
- htmlFilter.addRules(
- {
- elements :
- {
- 'span' : function( element )
- {
- if ( element.attributes && element.attributes[ 'data-cke-placeholder' ] )
- delete element.name;
- }
- }
- });
- }
- }
- });
-})();
-
-CKEDITOR.plugins.placeholder =
-{
- createPlaceholder : function( editor, oldElement, text, isGet )
- {
- var element = new CKEDITOR.dom.element( 'span', editor.document );
- element.setAttributes(
- {
- contentEditable : 'false',
- 'data-cke-placeholder' : 1,
- 'class' : 'cke_placeholder'
- }
- );
-
- text && element.setText( text );
-
- if ( isGet )
- return element.getOuterHtml();
-
- if ( oldElement )
- {
- if ( CKEDITOR.env.ie )
- {
- element.insertAfter( oldElement );
- // Some time is required for IE before the element is removed.
- setTimeout( function()
- {
- oldElement.remove();
- element.focus();
- }, 10 );
- }
- else
- element.replace( oldElement );
- }
- else
- editor.insertElement( element );
-
- return null;
- },
-
- getSelectedPlaceHoder : function( editor )
- {
- var range = editor.getSelection().getRanges()[ 0 ];
- range.shrink( CKEDITOR.SHRINK_TEXT );
- var node = range.startContainer;
- while( node && !( node.type == CKEDITOR.NODE_ELEMENT && node.data( 'cke-placeholder' ) ) )
- node = node.getParent();
- return node;
- }
-};