source: sandbox/filemanager/tp/fckeditor/editor/_source/internals/fckcommands.js @ 1575

Revision 1575, 10.4 KB checked in by amuller, 14 years ago (diff)

Ticket #597 - Implentação, melhorias do modulo gerenciador de arquivos

  • Property svn:executable set to *
Line 
1/*
2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
3 * Copyright (C) 2003-2009 Frederico Caldeira Knabben
4 *
5 * == BEGIN LICENSE ==
6 *
7 * Licensed under the terms of any of the following licenses at your
8 * choice:
9 *
10 *  - GNU General Public License Version 2 or later (the "GPL")
11 *    http://www.gnu.org/licenses/gpl.html
12 *
13 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
14 *    http://www.gnu.org/licenses/lgpl.html
15 *
16 *  - Mozilla Public License Version 1.1 or later (the "MPL")
17 *    http://www.mozilla.org/MPL/MPL-1.1.html
18 *
19 * == END LICENSE ==
20 *
21 * Define all commands available in the editor.
22 */
23
24var FCKCommands = FCK.Commands = new Object() ;
25FCKCommands.LoadedCommands = new Object() ;
26
27FCKCommands.RegisterCommand = function( commandName, command )
28{
29        this.LoadedCommands[ commandName ] = command ;
30}
31
32FCKCommands.GetCommand = function( commandName )
33{
34        var oCommand = FCKCommands.LoadedCommands[ commandName ] ;
35
36        if ( oCommand )
37                return oCommand ;
38
39        switch ( commandName )
40        {
41                case 'Bold'                     :
42                case 'Italic'           :
43                case 'Underline'        :
44                case 'StrikeThrough':
45                case 'Subscript'        :
46                case 'Superscript'      : oCommand = new FCKCoreStyleCommand( commandName ) ; break ;
47
48                case 'RemoveFormat'     : oCommand = new FCKRemoveFormatCommand() ; break ;
49
50                case 'DocProps'         : oCommand = new FCKDialogCommand( 'DocProps'   , FCKLang.DocProps                              , 'dialog/fck_docprops.html'    , 400, 380, FCKCommands.GetFullPageState ) ; break ;
51                case 'Templates'        : oCommand = new FCKDialogCommand( 'Templates'  , FCKLang.DlgTemplatesTitle             , 'dialog/fck_template.html'    , 380, 450 ) ; break ;
52                case 'Link'                     : oCommand = new FCKDialogCommand( 'Link'               , FCKLang.DlgLnkWindowTitle             , 'dialog/fck_link.html'                , 400, 300 ) ; break ;
53                case 'Unlink'           : oCommand = new FCKUnlinkCommand() ; break ;
54                case 'VisitLink'        : oCommand = new FCKVisitLinkCommand() ; break ;
55                case 'Anchor'           : oCommand = new FCKDialogCommand( 'Anchor'             , FCKLang.DlgAnchorTitle                , 'dialog/fck_anchor.html'              , 370, 160 ) ; break ;
56                case 'AnchorDelete'     : oCommand = new FCKAnchorDeleteCommand() ; break ;
57                case 'BulletedList'     : oCommand = new FCKDialogCommand( 'BulletedList', FCKLang.BulletedListProp             , 'dialog/fck_listprop.html?UL' , 370, 160 ) ; break ;
58                case 'NumberedList'     : oCommand = new FCKDialogCommand( 'NumberedList', FCKLang.NumberedListProp             , 'dialog/fck_listprop.html?OL' , 370, 160 ) ; break ;
59                case 'About'            : oCommand = new FCKDialogCommand( 'About'              , FCKLang.About                                 , 'dialog/fck_about.html'               , 420, 330, function(){ return FCK_TRISTATE_OFF ; } ) ; break ;
60                case 'Find'                     : oCommand = new FCKDialogCommand( 'Find'               , FCKLang.DlgFindAndReplaceTitle, 'dialog/fck_replace.html'             , 340, 230, null, null, 'Find' ) ; break ;
61                case 'Replace'          : oCommand = new FCKDialogCommand( 'Replace'    , FCKLang.DlgFindAndReplaceTitle, 'dialog/fck_replace.html'             , 340, 230, null, null, 'Replace' ) ; break ;
62
63                case 'Image'            : oCommand = new FCKDialogCommand( 'Image'              , FCKLang.DlgImgTitle                   , 'dialog/fck_image.html'               , 450, 390 ) ; break ;
64                case 'Flash'            : oCommand = new FCKDialogCommand( 'Flash'              , FCKLang.DlgFlashTitle                 , 'dialog/fck_flash.html'               , 450, 390 ) ; break ;
65                case 'SpecialChar'      : oCommand = new FCKDialogCommand( 'SpecialChar', FCKLang.DlgSpecialCharTitle   , 'dialog/fck_specialchar.html' , 400, 290 ) ; break ;
66                case 'Smiley'           : oCommand = new FCKDialogCommand( 'Smiley'             , FCKLang.DlgSmileyTitle                , 'dialog/fck_smiley.html'              , FCKConfig.SmileyWindowWidth, FCKConfig.SmileyWindowHeight ) ; break ;
67                case 'Table'            : oCommand = new FCKDialogCommand( 'Table'              , FCKLang.DlgTableTitle                 , 'dialog/fck_table.html'               , 480, 250 ) ; break ;
68                case 'TableProp'        : oCommand = new FCKDialogCommand( 'Table'              , FCKLang.DlgTableTitle                 , 'dialog/fck_table.html?Parent', 480, 250 ) ; break ;
69                case 'TableCellProp': oCommand = new FCKDialogCommand( 'TableCell'      , FCKLang.DlgCellTitle                  , 'dialog/fck_tablecell.html'   , 550, 240 ) ; break ;
70
71                case 'Style'            : oCommand = new FCKStyleCommand() ; break ;
72
73                case 'FontName'         : oCommand = new FCKFontNameCommand() ; break ;
74                case 'FontSize'         : oCommand = new FCKFontSizeCommand() ; break ;
75                case 'FontFormat'       : oCommand = new FCKFormatBlockCommand() ; break ;
76
77                case 'Source'           : oCommand = new FCKSourceCommand() ; break ;
78                case 'Preview'          : oCommand = new FCKPreviewCommand() ; break ;
79                case 'Save'                     : oCommand = new FCKSaveCommand() ; break ;
80                case 'NewPage'          : oCommand = new FCKNewPageCommand() ; break ;
81                case 'PageBreak'        : oCommand = new FCKPageBreakCommand() ; break ;
82                case 'Rule'                     : oCommand = new FCKRuleCommand() ; break ;
83                case 'Nbsp'                     : oCommand = new FCKNbsp() ; break ;
84
85                case 'TextColor'        : oCommand = new FCKTextColorCommand('ForeColor') ; break ;
86                case 'BGColor'          : oCommand = new FCKTextColorCommand('BackColor') ; break ;
87
88                case 'Paste'            : oCommand = new FCKPasteCommand() ; break ;
89                case 'PasteText'        : oCommand = new FCKPastePlainTextCommand() ; break ;
90                case 'PasteWord'        : oCommand = new FCKPasteWordCommand() ; break ;
91
92                case 'JustifyLeft'      : oCommand = new FCKJustifyCommand( 'left' ) ; break ;
93                case 'JustifyCenter'    : oCommand = new FCKJustifyCommand( 'center' ) ; break ;
94                case 'JustifyRight'     : oCommand = new FCKJustifyCommand( 'right' ) ; break ;
95                case 'JustifyFull'      : oCommand = new FCKJustifyCommand( 'justify' ) ; break ;
96                case 'Indent'   : oCommand = new FCKIndentCommand( 'indent', FCKConfig.IndentLength ) ; break ;
97                case 'Outdent'  : oCommand = new FCKIndentCommand( 'outdent', FCKConfig.IndentLength * -1 ) ; break ;
98                case 'Blockquote'       : oCommand = new FCKBlockQuoteCommand() ; break ;
99                case 'CreateDiv'        : oCommand = new FCKDialogCommand( 'CreateDiv', FCKLang.CreateDiv, 'dialog/fck_div.html', 380, 210, null, null, true ) ; break ;
100                case 'EditDiv'          : oCommand = new FCKDialogCommand( 'EditDiv', FCKLang.EditDiv, 'dialog/fck_div.html', 380, 210, null, null, false ) ; break ;
101                case 'DeleteDiv'        : oCommand = new FCKDeleteDivCommand() ; break ;
102
103                case 'TableInsertRowAfter'              : oCommand = new FCKTableCommand('TableInsertRowAfter') ; break ;
104                case 'TableInsertRowBefore'             : oCommand = new FCKTableCommand('TableInsertRowBefore') ; break ;
105                case 'TableDeleteRows'                  : oCommand = new FCKTableCommand('TableDeleteRows') ; break ;
106                case 'TableInsertColumnAfter'   : oCommand = new FCKTableCommand('TableInsertColumnAfter') ; break ;
107                case 'TableInsertColumnBefore'  : oCommand = new FCKTableCommand('TableInsertColumnBefore') ; break ;
108                case 'TableDeleteColumns'               : oCommand = new FCKTableCommand('TableDeleteColumns') ; break ;
109                case 'TableInsertCellAfter'             : oCommand = new FCKTableCommand('TableInsertCellAfter') ; break ;
110                case 'TableInsertCellBefore'    : oCommand = new FCKTableCommand('TableInsertCellBefore') ; break ;
111                case 'TableDeleteCells'                 : oCommand = new FCKTableCommand('TableDeleteCells') ; break ;
112                case 'TableMergeCells'                  : oCommand = new FCKTableCommand('TableMergeCells') ; break ;
113                case 'TableMergeRight'                  : oCommand = new FCKTableCommand('TableMergeRight') ; break ;
114                case 'TableMergeDown'                   : oCommand = new FCKTableCommand('TableMergeDown') ; break ;
115                case 'TableHorizontalSplitCell' : oCommand = new FCKTableCommand('TableHorizontalSplitCell') ; break ;
116                case 'TableVerticalSplitCell'   : oCommand = new FCKTableCommand('TableVerticalSplitCell') ; break ;
117                case 'TableDelete'                              : oCommand = new FCKTableCommand('TableDelete') ; break ;
118
119                case 'Form'                     : oCommand = new FCKDialogCommand( 'Form'               , FCKLang.Form                  , 'dialog/fck_form.html'                , 380, 210 ) ; break ;
120                case 'Checkbox'         : oCommand = new FCKDialogCommand( 'Checkbox'   , FCKLang.Checkbox              , 'dialog/fck_checkbox.html'    , 380, 200 ) ; break ;
121                case 'Radio'            : oCommand = new FCKDialogCommand( 'Radio'              , FCKLang.RadioButton   , 'dialog/fck_radiobutton.html' , 380, 200 ) ; break ;
122                case 'TextField'        : oCommand = new FCKDialogCommand( 'TextField'  , FCKLang.TextField             , 'dialog/fck_textfield.html'   , 380, 210 ) ; break ;
123                case 'Textarea'         : oCommand = new FCKDialogCommand( 'Textarea'   , FCKLang.Textarea              , 'dialog/fck_textarea.html'    , 380, 210 ) ; break ;
124                case 'HiddenField'      : oCommand = new FCKDialogCommand( 'HiddenField', FCKLang.HiddenField   , 'dialog/fck_hiddenfield.html' , 380, 190 ) ; break ;
125                case 'Button'           : oCommand = new FCKDialogCommand( 'Button'             , FCKLang.Button                , 'dialog/fck_button.html'              , 380, 210 ) ; break ;
126                case 'Select'           : oCommand = new FCKDialogCommand( 'Select'             , FCKLang.SelectionField, 'dialog/fck_select.html'              , 400, 340 ) ; break ;
127                case 'ImageButton'      : oCommand = new FCKDialogCommand( 'ImageButton', FCKLang.ImageButton   , 'dialog/fck_image.html?ImageButton', 450, 390 ) ; break ;
128
129                case 'SpellCheck'       : oCommand = new FCKSpellCheckCommand() ; break ;
130                case 'FitWindow'        : oCommand = new FCKFitWindow() ; break ;
131
132                case 'Undo'     : oCommand = new FCKUndoCommand() ; break ;
133                case 'Redo'     : oCommand = new FCKRedoCommand() ; break ;
134                case 'Copy'     : oCommand = new FCKCutCopyCommand( false ) ; break ;
135                case 'Cut'      : oCommand = new FCKCutCopyCommand( true ) ; break ;
136
137                case 'SelectAll'                        : oCommand = new FCKSelectAllCommand() ; break ;
138                case 'InsertOrderedList'        : oCommand = new FCKListCommand( 'insertorderedlist', 'ol' ) ; break ;
139                case 'InsertUnorderedList'      : oCommand = new FCKListCommand( 'insertunorderedlist', 'ul' ) ; break ;
140                case 'ShowBlocks' : oCommand = new FCKShowBlockCommand( 'ShowBlocks', FCKConfig.StartupShowBlocks ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ) ; break ;
141
142                // Generic Undefined command (usually used when a command is under development).
143                case 'Undefined'        : oCommand = new FCKUndefinedCommand() ; break ;
144
145                case 'Scayt' : oCommand = FCKScayt.CreateCommand() ; break ;
146                case 'ScaytContext' : oCommand = FCKScayt.CreateContextCommand() ; break ;
147
148                // By default we assume that it is a named command.
149                default:
150                        if ( FCKRegexLib.NamedCommands.test( commandName ) )
151                                oCommand = new FCKNamedCommand( commandName ) ;
152                        else
153                        {
154                                alert( FCKLang.UnknownCommand.replace( /%1/g, commandName ) ) ;
155                                return null ;
156                        }
157        }
158
159        FCKCommands.LoadedCommands[ commandName ] = oCommand ;
160
161        return oCommand ;
162}
163
164// Gets the state of the "Document Properties" button. It must be enabled only
165// when "Full Page" editing is available.
166FCKCommands.GetFullPageState = function()
167{
168        return FCKConfig.FullPage ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
169}
170
171
172FCKCommands.GetBooleanState = function( isDisabled )
173{
174        return isDisabled ? FCK_TRISTATE_DISABLED : FCK_TRISTATE_OFF ;
175}
Note: See TracBrowser for help on using the repository browser.