Files
2026-03-09 00:13:00 +01:00

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'
} );
}
} );