2 Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
\r
3 For licensing, see LICENSE.html or http://ckeditor.com/license
\r
5 CKEDITOR.dialog.add( 'button', function( editor )
\r
7 function commitAttributes( element )
\r
9 var val = this.getValue();
\r
12 element.attributes[ this.id ] = val;
\r
13 if ( this.id == 'name' )
\r
14 element.attributes[ 'data-cke-saved-name' ] = val;
\r
18 delete element.attributes[ this.id ];
\r
19 if ( this.id == 'name' )
\r
20 delete element.attributes[ 'data-cke-saved-name' ];
\r
25 title : editor.lang.button.title,
\r
31 var element = this.getParentEditor().getSelection().getSelectedElement();
\r
32 if ( element && element.is( 'input' ) )
\r
34 var type = element.getAttribute( 'type' );
\r
35 if ( type in { button:1, reset:1, submit:1 } )
\r
37 this.button = element;
\r
38 this.setupContent( element );
\r
44 var editor = this.getParentEditor(),
\r
45 element = this.button,
\r
46 isInsertMode = !element;
\r
48 var fake = element ? CKEDITOR.htmlParser.fragment.fromHtml( element.getOuterHtml() ).children[ 0 ]
\r
49 : new CKEDITOR.htmlParser.element( 'input' );
\r
50 this.commitContent( fake );
\r
52 var writer = new CKEDITOR.htmlParser.basicWriter();
\r
53 fake.writeHtml( writer );
\r
54 var newElement = CKEDITOR.dom.element.createFromHtml( writer.getHtml(), editor.document );
\r
57 editor.insertElement( newElement );
\r
60 newElement.replace( element );
\r
61 editor.getSelection().selectElement( newElement );
\r
67 label : editor.lang.button.title,
\r
68 title : editor.lang.button.title,
\r
73 label : editor.lang.common.name,
\r
75 setup : function( element )
\r
78 element.data( 'cke-saved-name' ) ||
\r
79 element.getAttribute( 'name' ) ||
\r
82 commit : commitAttributes
\r
87 label : editor.lang.button.text,
\r
90 setup : function( element )
\r
92 this.setValue( element.getAttribute( 'value' ) || '' );
\r
94 commit : commitAttributes
\r
99 label : editor.lang.button.type,
\r
100 'default' : 'button',
\r
104 [ editor.lang.button.typeBtn, 'button' ],
\r
105 [ editor.lang.button.typeSbm, 'submit' ],
\r
106 [ editor.lang.button.typeRst, 'reset' ]
\r
108 setup : function( element )
\r
110 this.setValue( element.getAttribute( 'type' ) || '' );
\r
112 commit : commitAttributes
\r