CKEDITOR.dialog.add( 'chainDialog', function( editor ) { return { title: 'Вставка Опроса', minWidth: 400, minHeight: 200, contents: [ { id: 'tab-basic', label: 'Базовые', elements: [ { type: 'text', id: 'url', label: 'Вставьте номер трансляции, брать у робота', validate: CKEDITOR.dialog.validate.notEmpty( "Поле для номера трансляции, не должно быть пустым" ), setup: function( element ) { //his.setValue( 'hhhh' ); this.setValue( element.getAttribute( "url" ) ); console.log( element ); }, commit: function( element ) { element.setText( this.getValue() ); } }, { type: 'radio', id: 'type', label: 'Выбрать', items: [ [ 'Вариант - timeline', '1' ], [ 'Вариант - строгий', '2' ] ], 'default': '1', setup: function( element ) { console.log(element.getAttribute( "type" )); this.setValue( element.getAttribute( "type" ) ); }, commit: function( element ) { element.setAttribute( "type", this.getValue() ); } } ] }, ], onShow: function() { var selection = editor.getSelection(); var element = selection.getStartElement(); // if ( element ) // element = element.getAttribute( 'url' ); //console.log($(element).attr('id')); if ( !element || $(element).attr('id') != 'widgetchain' ) { element = editor.document.createElement( 'chain' ); this.insertMode = true; } else this.insertMode = false; this.element = element; // console.log(element); // console.log(selection); if ( !this.insertMode ) this.setupContent( this.element ); }, onOk: function() { var dialog = this; var chain = editor.document.createElement( 'div' ); chain.setAttribute('id', 'widgetchain'); chain.setAttribute( 'type', dialog.getValueOf('tab-basic', 'type') ); chain.setAttribute( 'url', dialog.getValueOf( 'tab-basic', 'url' ) ); chain.setHtml('  '); //this.commitContent( chain ); editor.insertElement( chain ); } }; });