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

Revision 3019, 4.9 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*/
5
6CKEDITOR.dialog.add( 'checkspell', function( editor )
7{
8        var number = CKEDITOR.tools.getNextNumber(),
9                iframeId = 'cke_frame_' + number,
10                textareaId = 'cke_data_' + number,
11                errorBoxId = 'cke_error_' + number,
12                interval,
13                protocol = document.location.protocol || 'http:',
14                errorMsg = editor.lang.spellCheck.notAvailable;
15
16        var pasteArea = '<textarea'+
17                        ' style="display: none"' +
18                        ' id="' + textareaId + '"' +
19                        ' rows="10"' +
20                        ' cols="40">' +
21                ' </textarea><div' +
22                        ' id="' + errorBoxId + '"' +
23                        ' style="display:none;color:red;font-size:16px;font-weight:bold;padding-top:160px;text-align:center;z-index:11;">' +
24                '</div><iframe' +
25                        ' src=""' +
26                        ' style="width:485px;background-color:#f1f1e3;height:380px"' +
27                        ' frameborder="0"' +
28                        ' name="' + iframeId + '"' +
29                        ' id="' + iframeId + '"' +
30                        ' allowtransparency="1">' +
31                '</iframe>';
32
33        var wscCoreUrl = editor.config.wsc_customLoaderScript || ( protocol +
34                        '//loader.spellchecker.net/sproxy_fck/sproxy.php'
35                        + '?plugin=fck2'
36                        + '&customerid=' + editor.config.wsc_customerId
37                        + '&cmd=script&doc=wsc&schema=22'
38                );
39
40        if ( editor.config.wsc_customLoaderScript )
41                errorMsg += '<p style="color:#000;font-size:11px;font-weight: normal;text-align:center;padding-top:10px">' +
42                        editor.lang.spellCheck.errorLoading.replace( /%s/g, editor.config.wsc_customLoaderScript ) + '</p>';
43
44        function burnSpelling( dialog, errorMsg )
45        {
46                var i = 0;
47                return function ()
48                {
49                        if ( typeof( window.doSpell ) == 'function' )
50                        {
51                                //Call from window.setInteval expected at once.
52                                if ( typeof( interval ) != 'undefined' )
53                                        window.clearInterval( interval );
54
55                                initAndSpell( dialog );
56                        }
57                        else if ( i++ == 180 )                                                          // Timeout: 180 * 250ms = 45s.
58                                window._cancelOnError( errorMsg );
59                };
60        }
61
62        window._cancelOnError = function( m )
63        {
64                if ( typeof( window.WSC_Error ) == 'undefined' )
65                {
66                        CKEDITOR.document.getById( iframeId ).setStyle( 'display', 'none' );
67                        var errorBox = CKEDITOR.document.getById( errorBoxId );
68                        errorBox.setStyle( 'display', 'block' );
69                        errorBox.setHtml( m || editor.lang.spellCheck.notAvailable );
70                }
71        };
72
73        function initAndSpell( dialog )
74        {
75                var LangComparer = new window._SP_FCK_LangCompare(),                                                    // Language abbr standarts comparer.
76                        pluginPath = CKEDITOR.getUrl( editor.plugins.wsc.path + 'dialogs/' ),                   // Service paths corecting/preparing.
77                        framesetPath = pluginPath + 'tmpFrameset.html';
78
79                // global var is used in FCK specific core
80                // change on equal var used in fckplugin.js
81                window.gFCKPluginName = 'wsc';
82
83                LangComparer.setDefaulLangCode( editor.config.defaultLanguage );
84
85                window.doSpell({
86                        ctrl : textareaId,
87                        lang : LangComparer.getSPLangCode( editor.langCode ),
88                        winType : iframeId,             // If not defined app will run on winpopup.
89
90                        // Callback binding section.
91                        onCancel : function()
92                        {
93                                dialog.hide();
94                        },
95                        onFinish : function( dT )
96                        {
97                                editor.focus();
98                                dialog.getParentEditor().setData( dT.value );
99                                dialog.hide();
100                        },
101
102                        // Some manipulations with client static pages.
103                        staticFrame : framesetPath,
104                        framesetPath : framesetPath,
105                        iframePath : pluginPath + 'ciframe.html',
106
107                        // Styles defining.
108                        schemaURI : pluginPath + 'wsc.css'
109                });
110
111                // Hide user message console (if application was loaded more then after timeout).
112                CKEDITOR.document.getById( errorBoxId ).setStyle( 'display', 'none' );
113                CKEDITOR.document.getById( iframeId ).setStyle( 'display', 'block' );
114        }
115
116        return {
117                title : editor.lang.spellCheck.title,
118                minWidth : 485,
119                minHeight : 380,
120                buttons : [ CKEDITOR.dialog.cancelButton ],
121                onShow : function()
122                {
123                        var contentArea = this.getContentElement( 'general', 'content' ).getElement();
124                        contentArea.setHtml( pasteArea );
125
126                        if ( typeof( window.doSpell ) != 'function' )
127                        {
128                                // Load script.
129                                CKEDITOR.document.getHead().append(
130                                        CKEDITOR.document.createElement( 'script',
131                                                {
132                                                        attributes :
133                                                                {
134                                                                        type : 'text/javascript',
135                                                                        src : wscCoreUrl
136                                                                }
137                                                })
138                                );
139                        }
140
141                        var sData = editor.getData();                                                                                   // Get the data to be checked.
142                        CKEDITOR.document.getById( textareaId ).setValue( sData );
143
144                        interval = window.setInterval( burnSpelling( this, errorMsg ), 250 );
145                },
146                onHide : function()
147                {
148                        window.ooo = undefined;
149                        window.int_framsetLoaded = undefined;
150                        window.framesetLoaded = undefined;
151                        window.is_window_opened = false;
152                },
153                contents : [
154                        {
155                                id : 'general',
156                                label : editor.lang.spellCheck.title,
157                                padding : 0,
158                                elements : [
159                                        {
160                                                type : 'html',
161                                                id : 'content',
162                                                style : 'width:485;height:380px',
163                                                html : '<div></div>'
164                                        }
165                                ]
166                        }
167                ]
168        };
169});
Note: See TracBrowser for help on using the repository browser.