source: branches/2.2/filemanager/tp/ckeditor/_source/plugins/forms/dialogs/checkbox.js @ 3019

Revision 3019, 3.6 KB checked in by amuller, 14 years ago (diff)

Ticket #1135 - Corrigindo CSS e adicionando filemanager

Line 
1/*
2Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
3For licensing, see LICENSE.html or http://ckeditor.com/license
4*/
5CKEDITOR.dialog.add( 'checkbox', function( editor )
6{
7        return {
8                title : editor.lang.checkboxAndRadio.checkboxTitle,
9                minWidth : 350,
10                minHeight : 140,
11                onShow : function()
12                {
13                        delete this.checkbox;
14
15                        var element = this.getParentEditor().getSelection().getSelectedElement();
16
17                        if ( element && element.getAttribute( 'type' ) == "checkbox" )
18                        {
19                                this.checkbox = element;
20                                this.setupContent( element );
21                        }
22                },
23                onOk : function()
24                {
25                        var editor,
26                                element = this.checkbox,
27                                isInsertMode = !element;
28
29                        if ( isInsertMode )
30                        {
31                                editor = this.getParentEditor();
32                                element = editor.document.createElement( 'input' );
33                                element.setAttribute( 'type', 'checkbox' );
34                        }
35
36                        if ( isInsertMode )
37                                editor.insertElement( element );
38                        this.commitContent( { element : element } );
39                },
40                contents : [
41                        {
42                                id : 'info',
43                                label : editor.lang.checkboxAndRadio.checkboxTitle,
44                                title : editor.lang.checkboxAndRadio.checkboxTitle,
45                                startupFocus : 'txtName',
46                                elements : [
47                                        {
48                                                id : 'txtName',
49                                                type : 'text',
50                                                label : editor.lang.common.name,
51                                                'default' : '',
52                                                accessKey : 'N',
53                                                setup : function( element )
54                                                {
55                                                        this.setValue(
56                                                                        element.getAttribute( '_cke_saved_name' ) ||
57                                                                        element.getAttribute( 'name' ) ||
58                                                                        '' );
59                                                },
60                                                commit : function( data )
61                                                {
62                                                        var element = data.element;
63
64                                                        // IE failed to update 'name' property on input elements, protect it now.
65                                                        if ( this.getValue() )
66                                                                element.setAttribute( '_cke_saved_name', this.getValue() );
67                                                        else
68                                                        {
69                                                                element.removeAttribute( '_cke_saved_name' );
70                                                                element.removeAttribute( 'name' );
71                                                        }
72                                                }
73                                        },
74                                        {
75                                                id : 'txtValue',
76                                                type : 'text',
77                                                label : editor.lang.checkboxAndRadio.value,
78                                                'default' : '',
79                                                accessKey : 'V',
80                                                setup : function( element )
81                                                {
82                                                        this.setValue( element.getAttribute( 'value' ) || '' );
83                                                },
84                                                commit : function( data )
85                                                {
86                                                        var element = data.element;
87
88                                                        if ( this.getValue() )
89                                                                element.setAttribute( 'value', this.getValue() );
90                                                        else
91                                                                element.removeAttribute( 'value' );
92                                                }
93                                        },
94                                        {
95                                                id : 'cmbSelected',
96                                                type : 'checkbox',
97                                                label : editor.lang.checkboxAndRadio.selected,
98                                                'default' : '',
99                                                accessKey : 'S',
100                                                value : "checked",
101                                                setup : function( element )
102                                                {
103                                                        this.setValue( element.getAttribute( 'checked' ) );
104                                                },
105                                                commit : function( data )
106                                                {
107                                                        var element = data.element;
108
109                                                        if ( CKEDITOR.env.ie )
110                                                        {
111                                                                var isElementChecked = !!element.getAttribute( 'checked' );
112                                                                var isChecked = !!this.getValue();
113
114                                                                if ( isElementChecked != isChecked )
115                                                                {
116                                                                        var replace = CKEDITOR.dom.element.createFromHtml( '<input type="checkbox"'
117                                                                                   + ( isChecked ? ' checked="checked"' : '' )
118                                                                                   + '></input>', editor.document );
119                                                                        element.copyAttributes( replace, { type : 1, checked : 1 } );
120                                                                        replace.replace( element );
121                                                                        editor.getSelection().selectElement( replace );
122                                                                        data.element = replace;
123                                                                }
124                                                        }
125                                                        else
126                                                        {
127                                                                if ( this.getValue() )
128                                                                        element.setAttribute( 'checked', this.getValue() );
129                                                                else
130                                                                        element.removeAttribute( 'checked' );
131                                                        }
132                                                }
133                                        }
134                                ]
135                        }
136                ]
137        };
138});
Note: See TracBrowser for help on using the repository browser.