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