178 lines
3.9 KiB
JavaScript
178 lines
3.9 KiB
JavaScript
/*
|
|
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
|
|
For licensing, see LICENSE.html 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.form.title,
|
|
minWidth : 350,
|
|
minHeight : 200,
|
|
onShow : function()
|
|
{
|
|
delete this.form;
|
|
|
|
var element = this.getParentEditor().getSelection().getStartElement();
|
|
var form = element && element.getAscendant( 'form', true );
|
|
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' );
|
|
!CKEDITOR.env.ie && element.append( editor.document.createElement( 'br' ) );
|
|
}
|
|
|
|
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.form.title,
|
|
title : editor.lang.form.title,
|
|
elements : [
|
|
{
|
|
id : 'txtName',
|
|
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.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.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.form.method,
|
|
accessKey : 'M',
|
|
'default' : 'GET',
|
|
items :
|
|
[
|
|
[ 'GET', 'get' ],
|
|
[ 'POST', 'post' ]
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
};
|
|
});
|