101 lines
2.7 KiB
JavaScript
101 lines
2.7 KiB
JavaScript
CKEDITOR.plugins.add( 'cmsstaticcontainer',
|
|
{
|
|
init: function( editor )
|
|
{
|
|
CKEDITOR.dialog.add( 'cmsStaticContainerDialog', function ( editor )
|
|
{
|
|
return {
|
|
title : 'Dodaj zawartość statyczną do artykułu',
|
|
minWidth : 400,
|
|
minHeight : 200,
|
|
resizable: CKEDITOR.DIALOG_RESIZE_NONE,
|
|
contents :
|
|
[
|
|
{
|
|
id : 'tab1',
|
|
label : 'Kontener statyczny',
|
|
elements :
|
|
[
|
|
{
|
|
type : 'text',
|
|
id : 'staticcontainer',
|
|
label : 'Kontener statyczny:',
|
|
validate : CKEDITOR.dialog.validate.notEmpty( "Kontener statyczny nie może być pusty." ),
|
|
commit: function( element )
|
|
{
|
|
var staticcontainer = this.getValue();
|
|
if ( staticcontainer )
|
|
element.setText( staticcontainer );
|
|
}
|
|
},
|
|
{
|
|
type : 'button',
|
|
hidden : true,
|
|
id : 'id0',
|
|
label : editor.lang.common.browseServer,
|
|
filebrowser :
|
|
{
|
|
action : 'Browse',
|
|
url: '/admin/scontainers/ckeditor_list/',
|
|
onSelect : function( text )
|
|
{
|
|
var dialog = this.getDialog();
|
|
dialog.getContentElement( 'tab1', 'staticcontainer' ).setValue( text );
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
onShow: function()
|
|
{
|
|
var selection = editor.getSelection();
|
|
var selector = selection.getStartElement();
|
|
var element;
|
|
|
|
if ( selector ) {
|
|
element = selector.getAscendant( 'p', true );
|
|
}
|
|
|
|
if ( !element || element.getName() != 'p' )
|
|
{
|
|
element = editor.document.createElement( 'p' );
|
|
if( selection ) {
|
|
element.setText(selection.getSelectedText());
|
|
}
|
|
this.insertMode = true;
|
|
}
|
|
else {
|
|
this.insertMode = false;
|
|
}
|
|
|
|
this.element = element;
|
|
|
|
|
|
this.setupContent(this.element);
|
|
},
|
|
onOk : function()
|
|
{
|
|
var dialog = this;
|
|
var anchorElement = this.element;
|
|
|
|
this.commitContent(this.element);
|
|
|
|
if(this.insertMode) {
|
|
editor.insertElement(this.element);
|
|
}
|
|
}
|
|
};
|
|
} );
|
|
|
|
editor.addCommand( 'cmsStaticContainerDialog',new CKEDITOR.dialogCommand( 'cmsStaticContainerDialog' ) );
|
|
|
|
editor.ui.addButton( 'cmsstaticcontainer',
|
|
{
|
|
label: 'Dodaj zawartość statyczną do artykułu',
|
|
command: 'cmsStaticContainerDialog',
|
|
icon: this.path + 'images/icon.png'
|
|
} );
|
|
}
|
|
} ); |