/**
* @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.dialog.add( 'form', function( editor ) {
var autoAttributes = { action: 1, id: 1, method: 1, enctype: 1, target: 1 };
return {
title: editor.lang.forms.form.title,
minWidth: 350,
minHeight: 200,
onShow: function() {
delete this.form;
var path = this.getParentEditor().elementPath(),
form = path.contains( 'form', 1 );
if ( form ) {
this.form = form;
this.setupContent( form );
}
},
onOk: function() {
var editor,
element = this.form,
isInsertMode = !element;
if ( isInsertMode ) {
editor = this.getParentEditor();
element = editor.document.createElement( 'form' );
element.appendBogus();
}
if ( isInsertMode )
editor.insertElement( element );
this.commitContent( element );
},
onLoad: function() {
function autoSetup( element ) {
this.setValue( element.getAttribute( this.id ) || '' );
}
function autoCommit( element ) {
if ( this.getValue() )
element.setAttribute( this.id, this.getValue() );
else
element.removeAttribute( this.id );
}
this.foreach( function( contentObj ) {
if ( autoAttributes[ contentObj.id ] ) {
contentObj.setup = autoSetup;
contentObj.commit = autoCommit;
}
} );
},
contents: [ {
id: 'info',
label: editor.lang.forms.form.title,
title: editor.lang.forms.form.title,
elements: [ {
id: 'txtName',
bidi: true,
type: 'text',
label: editor.lang.common.name,
'default': '',
accessKey: 'N',
setup: function( element ) {
this.setValue( element.data( 'cke-saved-name' ) || element.getAttribute( 'name' ) || '' );
},
commit: function( element ) {
if ( this.getValue() )
element.data( 'cke-saved-name', this.getValue() );
else {
element.data( 'cke-saved-name', false );
element.removeAttribute( 'name' );
}
}
},
{
id: 'action',
type: 'text',
label: editor.lang.forms.form.action,
'default': '',
accessKey: 'T'
},
{
type: 'hbox',
widths: [ '45%', '55%' ],
children: [ {
id: 'id',
type: 'text',
label: editor.lang.common.id,
'default': '',
accessKey: 'I'
},
{
id: 'enctype',
type: 'select',
label: editor.lang.forms.form.encoding,
style: 'width:100%',
accessKey: 'E',
'default': '',
items: [
[ '' ],
[ 'text/plain' ],
[ 'multipart/form-data' ],
[ 'application/x-www-form-urlencoded' ]
]
} ]
},
{
type: 'hbox',
widths: [ '45%', '55%' ],
children: [ {
id: 'target',
type: 'select',
label: editor.lang.common.target,
style: 'width:100%',
accessKey: 'M',
'default': '',
items: [
[ editor.lang.common.notSet, '' ],
[ editor.lang.common.targetNew, '_blank' ],
[ editor.lang.common.targetTop, '_top' ],
[ editor.lang.common.targetSelf, '_self' ],
[ editor.lang.common.targetParent, '_parent' ]
]
},
{
id: 'method',
type: 'select',
label: editor.lang.forms.form.method,
accessKey: 'M',
'default': 'GET',
items: [
[ 'GET', 'get' ],
[ 'POST', 'post' ]
]
} ]
} ]
} ]
};
} );