72 lines
1.7 KiB
JavaScript
72 lines
1.7 KiB
JavaScript
/*
|
|
* Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
|
|
* For licensing, see LICENSE.html or http://ckeditor.com/license
|
|
*/
|
|
|
|
(function()
|
|
{
|
|
function placeholderDialog( editor, isEdit )
|
|
{
|
|
|
|
var lang = editor.lang.placeholder,
|
|
generalLabel = editor.lang.common.generalTab;
|
|
return {
|
|
title : lang.title,
|
|
minWidth : 300,
|
|
minHeight : 80,
|
|
contents :
|
|
[
|
|
{
|
|
id : 'info',
|
|
label : generalLabel,
|
|
title : generalLabel,
|
|
elements :
|
|
[
|
|
{
|
|
id : 'text',
|
|
type : 'text',
|
|
style : 'width: 100%;',
|
|
label : lang.text,
|
|
'default' : '',
|
|
required : true,
|
|
validate : CKEDITOR.dialog.validate.notEmpty( lang.textMissing ),
|
|
setup : function( element )
|
|
{
|
|
if ( isEdit )
|
|
this.setValue( element.getText().slice( 2, -2 ) );
|
|
},
|
|
commit : function( element )
|
|
{
|
|
var text = '[[' + this.getValue() + ']]';
|
|
// The placeholder must be recreated.
|
|
CKEDITOR.plugins.placeholder.createPlaceholder( editor, element, text );
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
onShow : function()
|
|
{
|
|
if ( isEdit )
|
|
this._element = CKEDITOR.plugins.placeholder.getSelectedPlaceHoder( editor );
|
|
|
|
this.setupContent( this._element );
|
|
},
|
|
onOk : function()
|
|
{
|
|
this.commitContent( this._element );
|
|
delete this._element;
|
|
}
|
|
};
|
|
}
|
|
|
|
CKEDITOR.dialog.add( 'createplaceholder', function( editor )
|
|
{
|
|
return placeholderDialog( editor );
|
|
});
|
|
CKEDITOR.dialog.add( 'editplaceholder', function( editor )
|
|
{
|
|
return placeholderDialog( editor, 1 );
|
|
});
|
|
} )();
|