JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
823e648447ca4ee3eaf1d6b4e48fa176b561dc10
[ckeditor.git] / _source / plugins / forms / dialogs / hiddenfield.js
1 /*\r
2 Copyright (c) 2003-2009, 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( 'hiddenfield', function( editor )\r
6 {\r
7         return {\r
8                 title : editor.lang.hidden.title,\r
9                 minWidth : 350,\r
10                 minHeight : 110,\r
11                 onShow : function()\r
12                 {\r
13                         delete this.hiddenField;\r
14 \r
15                         var element = this.getParentEditor().getSelection().getSelectedElement();\r
16                         if ( element && element.getName() == "input" && element.getAttribute( 'type' ) == "checkbox" )\r
17                         {\r
18                                 this.hiddenField = element;\r
19                                 this.setupContent( element );\r
20                         }\r
21                 },\r
22                 onOk : function()\r
23                 {\r
24                         var editor,\r
25                                 element = this.hiddenField,\r
26                                 isInsertMode = !element;\r
27 \r
28                         if ( isInsertMode )\r
29                         {\r
30                                 editor = this.getParentEditor();\r
31                                 element = editor.document.createElement( 'input' );\r
32                                 element.setAttribute( 'type', 'hidden' );\r
33                         }\r
34 \r
35                         if ( isInsertMode )\r
36                                 editor.insertElement( element );\r
37                         this.commitContent( element );\r
38                 },\r
39                 contents : [\r
40                         {\r
41                                 id : 'info',\r
42                                 label : editor.lang.hidden.title,\r
43                                 title : editor.lang.hidden.title,\r
44                                 elements : [\r
45                                         {\r
46                                                 id : '_cke_saved_name',\r
47                                                 type : 'text',\r
48                                                 label : editor.lang.hidden.name,\r
49                                                 'default' : '',\r
50                                                 accessKey : 'N',\r
51                                                 setup : function( element )\r
52                                                 {\r
53                                                         this.setValue(\r
54                                                                         element.getAttribute( '_cke_saved_name' ) ||\r
55                                                                         element.getAttribute( 'name' ) ||\r
56                                                                         '' );\r
57                                                 },\r
58                                                 commit : function( element )\r
59                                                 {\r
60                                                         if ( this.getValue() )\r
61                                                                 element.setAttribute( '_cke_saved_name', this.getValue() );\r
62                                                         else\r
63                                                         {\r
64                                                                 element.removeAttribute( '_cke_saved_name' );\r
65                                                                 element.removeAttribute( 'name' );\r
66                                                         }\r
67                                                 }\r
68                                         },\r
69                                         {\r
70                                                 id : 'value',\r
71                                                 type : 'text',\r
72                                                 label : editor.lang.hidden.value,\r
73                                                 'default' : '',\r
74                                                 accessKey : 'V',\r
75                                                 setup : function( element )\r
76                                                 {\r
77                                                         this.setValue( element.getAttribute( 'value' ) || '' );\r
78                                                 },\r
79                                                 commit : function( element )\r
80                                                 {\r
81                                                         if ( this.getValue() )\r
82                                                                 element.setAttribute( 'value', this.getValue() );\r
83                                                         else\r
84                                                                 element.removeAttribute( 'value' );\r
85                                                 }\r
86                                         }\r
87                                 ]\r
88                         }\r
89                 ]\r
90         };\r
91 });\r