X-Git-Url: https://scm.cri.ensmp.fr/git/ckeditor.git/blobdiff_plain/871bad8291b6dbc29d489d95d185458caab25158..14d450d78a2d67ec1decd64c928151851961dd36:/_source/plugins/placeholder/plugin.js diff --git a/_source/plugins/placeholder/plugin.js b/_source/plugins/placeholder/plugin.js deleted file mode 100644 index 503f08a..0000000 --- a/_source/plugins/placeholder/plugin.js +++ /dev/null @@ -1,171 +0,0 @@ -/* -Copyright (c) 2003-2011, 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 : [ 'en', 'he' ], - 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; - } -};