Nation Notes module contributed by Z&H Healthcare.
[openemr.git] / library / custom_template / ckeditor / _source / plugins / forms / dialogs / radio.js
blobce7f6e2f7f57f98f1da1b8ddc13e2484a3d92a4d
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( 'radio', function( editor )
7         return {
8                 title : editor.lang.checkboxAndRadio.radioTitle,
9                 minWidth : 350,
10                 minHeight : 140,
11                 onShow : function()
12                 {
13                         delete this.radioButton;
15                         var element = this.getParentEditor().getSelection().getSelectedElement();
16                         if ( element && element.getName() == 'input' && element.getAttribute( 'type' ) == 'radio' )
17                         {
18                                 this.radioButton = element;
19                                 this.setupContent( element );
20                         }
21                 },
22                 onOk : function()
23                 {
24                         var editor,
25                                 element = this.radioButton,
26                                 isInsertMode = !element;
28                         if ( isInsertMode )
29                         {
30                                 editor = this.getParentEditor();
31                                 element = editor.document.createElement( 'input' );
32                                 element.setAttribute( 'type', 'radio' );
33                         }
35                         if ( isInsertMode )
36                                 editor.insertElement( element );
37                         this.commitContent( { element : element } );
38                 },
39                 contents : [
40                         {
41                                 id : 'info',
42                                 label : editor.lang.checkboxAndRadio.radioTitle,
43                                 title : editor.lang.checkboxAndRadio.radioTitle,
44                                 elements : [
45                                         {
46                                                 id : 'name',
47                                                 type : 'text',
48                                                 label : editor.lang.common.name,
49                                                 'default' : '',
50                                                 accessKey : 'N',
51                                                 setup : function( element )
52                                                 {
53                                                         this.setValue(
54                                                                         element.data( 'cke-saved-name' ) ||
55                                                                         element.getAttribute( 'name' ) ||
56                                                                         '' );
57                                                 },
58                                                 commit : function( data )
59                                                 {
60                                                         var element = data.element;
62                                                         if ( this.getValue() )
63                                                                 element.data( 'cke-saved-name', this.getValue() );
64                                                         else
65                                                         {
66                                                                 element.data( 'cke-saved-name', false );
67                                                                 element.removeAttribute( 'name' );
68                                                         }
69                                                 }
70                                         },
71                                         {
72                                                 id : 'value',
73                                                 type : 'text',
74                                                 label : editor.lang.checkboxAndRadio.value,
75                                                 'default' : '',
76                                                 accessKey : 'V',
77                                                 setup : function( element )
78                                                 {
79                                                         this.setValue( element.getAttribute( 'value' ) || '' );
80                                                 },
81                                                 commit : function( data )
82                                                 {
83                                                         var element = data.element;
85                                                         if ( this.getValue() )
86                                                                 element.setAttribute( 'value', this.getValue() );
87                                                         else
88                                                                 element.removeAttribute( 'value' );
89                                                 }
90                                         },
91                                         {
92                                                 id : 'checked',
93                                                 type : 'checkbox',
94                                                 label : editor.lang.checkboxAndRadio.selected,
95                                                 'default' : '',
96                                                 accessKey : 'S',
97                                                 value : "checked",
98                                                 setup : function( element )
99                                                 {
100                                                         this.setValue( element.getAttribute( 'checked' ) );
101                                                 },
102                                                 commit : function( data )
103                                                 {
104                                                         var element = data.element;
106                                                         if ( !( CKEDITOR.env.ie || CKEDITOR.env.opera ) )
107                                                         {
108                                                                 if ( this.getValue() )
109                                                                         element.setAttribute( 'checked', 'checked' );
110                                                                 else
111                                                                         element.removeAttribute( 'checked' );
112                                                         }
113                                                         else
114                                                         {
115                                                                 var isElementChecked = element.getAttribute( 'checked' );
116                                                                 var isChecked = !!this.getValue();
118                                                                 if ( isElementChecked != isChecked )
119                                                                 {
120                                                                         var replace = CKEDITOR.dom.element.createFromHtml( '<input type="radio"'
121                                                                                         + ( isChecked ? ' checked="checked"' : '' )
122                                                                                         + '></input>', editor.document );
123                                                                         element.copyAttributes( replace, { type : 1, checked : 1 } );
124                                                                         replace.replace( element );
125                                                                         editor.getSelection().selectElement( replace );
126                                                                         data.element = replace;
127                                                                 }
128                                                         }
129                                                 }
130                                         }
131                                 ]
132                         }
133                 ]
134         };