Mimimum syndical pour en faire un produit zope / cmf.
[ckeditor.git] / _source / plugins / forms / dialogs / textarea.js
1 /*
2 Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3 For licensing, see LICENSE.html or http://ckeditor.com/license
4 */
5 CKEDITOR.dialog.add( 'textarea', function( editor )
6 {
7 return {
8 title : editor.lang.textarea.title,
9 minWidth : 350,
10 minHeight : 150,
11 onShow : function()
12 {
13 delete this.textarea;
14
15 var element = this.getParentEditor().getSelection().getSelectedElement();
16 if ( element && element.getName() == "textarea" )
17 {
18 this.textarea = element;
19 this.setupContent( element );
20 }
21 },
22 onOk : function()
23 {
24 var editor,
25 element = this.textarea,
26 isInsertMode = !element;
27
28 if ( isInsertMode )
29 {
30 editor = this.getParentEditor();
31 element = editor.document.createElement( 'textarea' );
32 }
33 this.commitContent( element );
34
35 if ( isInsertMode )
36 editor.insertElement( element );
37 },
38 contents : [
39 {
40 id : 'info',
41 label : editor.lang.textarea.title,
42 title : editor.lang.textarea.title,
43 elements : [
44 {
45 id : '_cke_saved_name',
46 type : 'text',
47 label : editor.lang.common.name,
48 'default' : '',
49 accessKey : 'N',
50 setup : function( element )
51 {
52 this.setValue(
53 element.data( 'cke-saved-name' ) ||
54 element.getAttribute( 'name' ) ||
55 '' );
56 },
57 commit : function( element )
58 {
59 if ( this.getValue() )
60 element.data( 'cke-saved-name', this.getValue() );
61 else
62 {
63 element.data( 'cke-saved-name', false );
64 element.removeAttribute( 'name' );
65 }
66 }
67 },
68 {
69 id : 'cols',
70 type : 'text',
71 label : editor.lang.textarea.cols,
72 'default' : '',
73 accessKey : 'C',
74 style : 'width:50px',
75 validate : CKEDITOR.dialog.validate.integer( editor.lang.common.validateNumberFailed ),
76 setup : function( element )
77 {
78 var value = element.hasAttribute( 'cols' ) && element.getAttribute( 'cols' );
79 this.setValue( value || '' );
80 },
81 commit : function( element )
82 {
83 if ( this.getValue() )
84 element.setAttribute( 'cols', this.getValue() );
85 else
86 element.removeAttribute( 'cols' );
87 }
88 },
89 {
90 id : 'rows',
91 type : 'text',
92 label : editor.lang.textarea.rows,
93 'default' : '',
94 accessKey : 'R',
95 style : 'width:50px',
96 validate : CKEDITOR.dialog.validate.integer( editor.lang.common.validateNumberFailed ),
97 setup : function( element )
98 {
99 var value = element.hasAttribute( 'rows' ) && element.getAttribute( 'rows' );
100 this.setValue( value || '' );
101 },
102 commit : function( element )
103 {
104 if ( this.getValue() )
105 element.setAttribute( 'rows', this.getValue() );
106 else
107 element.removeAttribute( 'rows' );
108 }
109 }
110 ]
111 }
112 ]
113 };
114 });