Index: trunk/extensions/UsabilityInitiative/UsabilityInitiative.php |
— | — | @@ -43,9 +43,6 @@ |
44 | 44 | $wgExtensionMessagesFiles['UsabilityInitiative'] = |
45 | 45 | dirname( __FILE__ ) . "/UsabilityInitiative.i18n.php"; |
46 | 46 | |
47 | | -// Adds the loader.js: |
48 | | -$wgExtensionJavascriptLoader[] = "UsabilityInitiative/js/loader.js"; |
49 | | - |
50 | 47 | // Registers Hooks |
51 | 48 | $wgHooks['BeforePageDisplay'][] = 'UsabilityInitiativeHooks::addResources'; |
52 | 49 | $wgHooks['MakeGlobalVariablesScript'][] = 'UsabilityInitiativeHooks::addJSVars'; |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php |
— | — | @@ -53,135 +53,43 @@ |
54 | 54 | 'raw' => array( |
55 | 55 | |
56 | 56 | // These scripts can be pulled from core once the js2 is merged |
57 | | - // NOTE:: a lot of the logic of hooks.php could be |
58 | | - // simplified into loader.js |
59 | | - array( |
60 | | - 'src' => 'js/js2stopgap/ui.core.js', |
61 | | - 'class' => 'j.ui', |
62 | | - 'version' => 1, |
63 | | - ), |
64 | | - array( |
65 | | - 'src' => 'js/js2stopgap/ui.datepicker.js', |
66 | | - 'class' => 'j.fn.datePicker', |
67 | | - 'version' => 1 |
68 | | - ), |
69 | | - array( |
70 | | - 'src' => 'js/js2stopgap/ui.dialog.js', |
71 | | - 'class' => 'j.ui.dialog', |
72 | | - 'version' => 1 |
73 | | - ), |
74 | | - array( |
75 | | - 'src' => 'js/js2stopgap/ui.draggable.js', |
76 | | - 'class' => 'j.ui.draggable', |
77 | | - 'version' => 1 |
78 | | - ), |
79 | | - array( |
80 | | - 'src' => 'js/js2stopgap/ui.resizable.js', |
81 | | - 'class' => 'j.ui.resizable', |
82 | | - 'version' => 1 |
83 | | - ), |
84 | | - array( |
85 | | - 'src' => 'js/js2stopgap/ui.tabs.js', |
86 | | - 'class' => 'j.ui.tabs', |
87 | | - 'version' => 1 |
88 | | - ), |
89 | | - array( |
90 | | - 'src' => 'js/js2stopgap/jquery.cookie.js', |
91 | | - 'class' => 'j.cookie', |
92 | | - 'version' => 3 |
93 | | - ), |
94 | | - array( |
95 | | - 'src' => 'js/js2stopgap/jquery.textSelection.js', |
96 | | - 'class' => 'j.fn.textSelection', |
97 | | - 'version' => 25 |
98 | | - ), |
| 57 | + array( 'src' => 'js/js2stopgap/ui.core.js', 'version' => 1 ), |
| 58 | + array( 'src' => 'js/js2stopgap/ui.datepicker.js', 'version' => 1 ), |
| 59 | + array( 'src' => 'js/js2stopgap/ui.dialog.js', 'version' => 1 ), |
| 60 | + array( 'src' => 'js/js2stopgap/ui.draggable.js', 'version' => 1 ), |
| 61 | + array( 'src' => 'js/js2stopgap/ui.resizable.js', 'version' => 1 ), |
| 62 | + array( 'src' => 'js/js2stopgap/ui.tabs.js', 'version' => 1 ), |
99 | 63 | |
100 | 64 | // Core functionality of extension scripts |
101 | | - array( |
102 | | - 'src' => 'js/plugins/jquery.async.js', |
103 | | - 'class' => 'j.whileAsync', |
104 | | - 'version' => 3 |
105 | | - ), |
106 | | - array( |
107 | | - 'src' => 'js/plugins/jquery.autoEllipsis.js', |
108 | | - 'class' => 'j.fn.autoEllipsis', |
109 | | - 'version' => 7 |
110 | | - ), |
111 | | - array( |
112 | | - 'src' => 'js/plugins/jquery.browser.js', |
113 | | - 'class' => 'j.browserTest', |
114 | | - 'version' => 3 |
115 | | - ), |
116 | | - array( |
117 | | - 'src' => 'js/plugins/jquery.collapsibleTabs.js', |
118 | | - 'class' => 'j.fn.collapsibleTabs', |
119 | | - 'version' => 5 |
120 | | - ), |
121 | | - array( |
122 | | - 'src' => 'js/plugins/jquery.delayedBind.js', |
123 | | - 'class' => 'j.fn.delayedBind', |
124 | | - 'version' => 1 |
125 | | - ), |
126 | | - array( |
127 | | - 'src' => 'js/plugins/jquery.namespaceSelect.js', |
128 | | - 'class' => 'j.fn.namespaceSelector', |
129 | | - 'version' => 1 |
130 | | - ), |
131 | | - array( |
132 | | - 'src' => 'js/plugins/jquery.suggestions.js', |
133 | | - 'class' => 'j.suggestions', |
134 | | - 'version' => 7 |
135 | | - ), |
136 | | - array( |
137 | | - 'src' => 'js/plugins/jquery.wikiEditor.js', |
138 | | - 'class' => 'j.wikiEditor', |
139 | | - 'version' => 70 |
140 | | - ), |
141 | | - array( |
142 | | - 'src' => 'js/plugins/jquery.wikiEditor.highlight.js', |
143 | | - 'class' => 'j.wikiEditor.modules.highlight', |
144 | | - 'version' => 23 |
145 | | - ), |
146 | | - array( |
147 | | - 'src' => 'js/plugins/jquery.wikiEditor.toolbar.js', |
148 | | - 'class' => 'j.wikiEditor.modules.toolbar', |
149 | | - 'version' => 44 |
150 | | - ), |
151 | | - array( |
152 | | - 'src' => 'js/plugins/jquery.wikiEditor.dialogs.js', |
153 | | - 'class' => 'j.wikiEditor.modules.dialogs', |
154 | | - 'version' => 10 |
155 | | - ), |
156 | | - array( |
157 | | - 'src' => 'js/plugins/jquery.wikiEditor.toc.js', |
158 | | - 'class' => 'j.wikiEditor.modules.toc', |
159 | | - 'version' => 73 |
160 | | - ), |
161 | | - array( |
162 | | - 'src' => 'js/plugins/jquery.wikiEditor.preview.js', |
163 | | - 'class' => 'j.wikiEditor.modules.preview', |
164 | | - 'version' => 9 |
165 | | - ), |
166 | | - array( |
167 | | - 'src' => 'js/plugins/jquery.wikiEditor.templateEditor.js', |
168 | | - 'class' => 'j.wikiEditor.modules.templateEditor', |
169 | | - 'version' => 16 |
170 | | - ), |
171 | | - array( |
172 | | - 'src' => 'js/plugins/jquery.wikiEditor.publish.js', |
173 | | - 'class' => 'j.wikiEditor.modules.publish', |
174 | | - 'version' => 1 ), |
| 65 | + array( 'src' => 'js/plugins/jquery.async.js', 'version' => 3 ), |
| 66 | + array( 'src' => 'js/plugins/jquery.autoEllipsis.js', 'version' => 7 ), |
| 67 | + array( 'src' => 'js/plugins/jquery.browser.js', 'version' => 3 ), |
| 68 | + array( 'src' => 'js/plugins/jquery.collapsibleTabs.js', 'version' => 5 ), |
| 69 | + array( 'src' => 'js/plugins/jquery.cookie.js', 'version' => 4 ), |
| 70 | + array( 'src' => 'js/plugins/jquery.delayedBind.js', 'version' => 1 ), |
| 71 | + array( 'src' => 'js/plugins/jquery.namespaceSelect.js', 'version' => 1 ), |
| 72 | + array( 'src' => 'js/plugins/jquery.suggestions.js', 'version' => 7 ), |
| 73 | + array( 'src' => 'js/plugins/jquery.textSelection.js', 'version' => 26 ), |
| 74 | + array( 'src' => 'js/plugins/jquery.wikiEditor.js', 'version' => 71 ), |
| 75 | + array( 'src' => 'js/plugins/jquery.wikiEditor.highlight.js', 'version' => 23 ), |
| 76 | + array( 'src' => 'js/plugins/jquery.wikiEditor.toolbar.js', 'version' => 44 ), |
| 77 | + array( 'src' => 'js/plugins/jquery.wikiEditor.dialogs.js', 'version' => 10 ), |
| 78 | + array( 'src' => 'js/plugins/jquery.wikiEditor.toc.js', 'version' => 73 ), |
| 79 | + array( 'src' => 'js/plugins/jquery.wikiEditor.preview.js', 'version' => 9 ), |
| 80 | + array( 'src' => 'js/plugins/jquery.wikiEditor.templateEditor.js', 'version' => 16 ), |
| 81 | + array( 'src' => 'js/plugins/jquery.wikiEditor.publish.js', 'version' => 1 ), |
175 | 82 | ), |
176 | 83 | 'combined' => array( |
177 | | - array( 'src' => 'js/plugins.combined.js', 'version' => 181 ), |
| 84 | + array( 'src' => 'js/plugins.combined.js', 'version' => 183 ), |
178 | 85 | ), |
179 | 86 | 'minified' => array( |
180 | | - array( 'src' => 'js/plugins.combined.min.js', 'version' => 181 ), |
| 87 | + array( 'src' => 'js/plugins.combined.min.js', 'version' => 183 ), |
181 | 88 | ), |
182 | 89 | ), |
183 | 90 | ); |
184 | 91 | |
185 | 92 | /* Static Functions */ |
| 93 | + |
186 | 94 | public static function initialize() { |
187 | 95 | self::$doOutput = true; |
188 | 96 | } |
— | — | @@ -193,8 +101,8 @@ |
194 | 102 | public static function addResources( $out ) { |
195 | 103 | global $wgExtensionAssetsPath, $wgJsMimeType; |
196 | 104 | global $wgUsabilityInitiativeResourceMode; |
197 | | - global $wgEditToolbarRunTests, $wgVersion; |
198 | | - global $wgStyleVersion, $wgEnableScriptLoader; |
| 105 | + global $wgEnableJS2system, $wgEditToolbarRunTests; |
| 106 | + global $wgStyleVersion; |
199 | 107 | |
200 | 108 | wfRunHooks( 'UsabilityInitiativeLoadModules' ); |
201 | 109 | |
— | — | @@ -212,9 +120,9 @@ |
213 | 121 | self::$scriptFiles['modules'][$mode], |
214 | 122 | self::$scripts |
215 | 123 | ); |
216 | | - // Provide backward support for mediaWiki less than 1.17 |
217 | | - // by including "no_js2" js. |
218 | | - if ( !version_compare( floatval( $wgVersion ), '1.17', '>=') ) { |
| 124 | + // Provide enough support to make things work, even when js2 is not |
| 125 | + // in use (eventually it will be standard, but right now it's not) |
| 126 | + if ( !$wgEnableJS2system ) { |
219 | 127 | $out->includeJQuery(); |
220 | 128 | } |
221 | 129 | // Include base-set of styles |
— | — | @@ -229,46 +137,35 @@ |
230 | 138 | } |
231 | 139 | // Loops over each script |
232 | 140 | foreach ( self::$scripts as $script ) { |
233 | | - if ( !version_compare( floatval( $wgVersion ), '1.17', '>=') ) { |
234 | | - // Add javascript to document |
235 | | - if ( $script['src']{0} == '/' ) { |
236 | | - // Path is relative to $wgScriptPath |
237 | | - global $wgScriptPath; |
238 | | - $src = "$wgScriptPath{$script['src']}"; |
239 | | - } else { |
240 | | - // Path is relative to $wgExtensionAssetsPath |
241 | | - $src = "$wgExtensionAssetsPath/UsabilityInitiative/{$script['src']}"; |
242 | | - } |
243 | | - $version = isset( $script['version'] ) ? $script['version'] : $wgStyleVersion; |
244 | | - $out->addScriptFile( $src, $version ); |
245 | | - continue ; |
| 141 | + // Add javascript to document |
| 142 | + if ( $script['src']{0} == '/' ) { |
| 143 | + // Path is relative to $wgScriptPath |
| 144 | + global $wgScriptPath; |
| 145 | + $src = "$wgScriptPath{$script['src']}"; |
| 146 | + } else { |
| 147 | + // Path is relative to $wgExtensionAssetsPath |
| 148 | + $src = "$wgExtensionAssetsPath/UsabilityInitiative/{$script['src']}"; |
246 | 149 | } |
247 | | - // else add by class: |
248 | | - if( isset( $script['class'] ) ){ |
249 | | - $out->addScriptClass( $script['class'] ); |
250 | | - } |
| 150 | + $version = isset( $script['version'] ) ? $script['version'] : $wgStyleVersion; |
| 151 | + $out->addScriptFile( $src, $version ); |
251 | 152 | } |
252 | | - |
253 | 153 | // Transforms messages into javascript object members |
254 | | - // ( only not handled automatically ) |
255 | | - if ( version_compare( $wgVersion, '1.17', '<' ) ) { |
256 | | - foreach ( self::$messages as $i => $message ) { |
257 | | - $escapedMessageValue = Xml::escapeJsString( wfMsg( $message ) ); |
258 | | - $escapedMessageKey = Xml::escapeJsString( $message ); |
259 | | - self::$messages[$i] = |
260 | | - "'{$escapedMessageKey}':'{$escapedMessageValue}'"; |
261 | | - } |
262 | | - // Add javascript to document |
263 | | - if ( count( self::$messages ) > 0 ) { |
264 | | - $out->addScript( |
265 | | - Xml::tags( |
266 | | - 'script', |
267 | | - array( 'type' => $wgJsMimeType ), |
268 | | - 'mw.addMessages({' . implode( ',', self::$messages ) . '});' |
269 | | - ) |
270 | | - ); |
271 | | - } |
| 154 | + foreach ( self::$messages as $i => $message ) { |
| 155 | + $escapedMessageValue = Xml::escapeJsString( wfMsg( $message ) ); |
| 156 | + $escapedMessageKey = Xml::escapeJsString( $message ); |
| 157 | + self::$messages[$i] = |
| 158 | + "'{$escapedMessageKey}':'{$escapedMessageValue}'"; |
272 | 159 | } |
| 160 | + // Add javascript to document |
| 161 | + if ( count( self::$messages ) > 0 ) { |
| 162 | + $out->addScript( |
| 163 | + Xml::tags( |
| 164 | + 'script', |
| 165 | + array( 'type' => $wgJsMimeType ), |
| 166 | + 'mw.addMessages({' . implode( ',', self::$messages ) . '});' |
| 167 | + ) |
| 168 | + ); |
| 169 | + } |
273 | 170 | // Loops over each style |
274 | 171 | foreach ( self::$styles as $style ) { |
275 | 172 | // Add css for various styles |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/loader.js |
— | — | @@ -1,68 +0,0 @@ |
2 | | -/** |
3 | | -* javascript loader for wikiEditor config classes |
4 | | -*/ |
5 | | -// For non-script loader javascript path |
6 | | -mw.setConfig('loaderContext', wgScriptPath + '/extensions/UsabilityInitiative/WikiEditor/'); |
7 | | - |
8 | | -mw.addClassFilePaths({ |
9 | | - "wikiEditor.config.highlight" : "Modules/Highlight/Highlight.js", |
10 | | - "wikiEditor.config.preview" : "Modules/Preview/Preview.js", |
11 | | - "wikiEditor.config.publish" : "Modules/Publish/Publish.js", |
12 | | - "wikiEditor.config.toc" : "Modules/Toc/Toc.js", |
13 | | - "wikiEditor.config.toolbar" : "Modules/Toolbar/Toolbar.js", |
14 | | - "wikiEditor.config.templateEditor" : "Modules/TemplateEditor/TemplateEditor.js" |
15 | | -}); |
16 | | - |
17 | | -mw.addModuleLoader( 'WikiEditor', function( callback ){ |
18 | | - // NOTE: we should check config and skip stuff we don't want need |
19 | | - var libReq = [ |
20 | | - //Get the core library dependencies |
21 | | - "$j.ui", |
22 | | - "$j.fn.datePicker", |
23 | | - "$j.cookie", |
24 | | - "$j.ui.dialog", |
25 | | - "$j.ui.datepicker", |
26 | | - "$j.ui.draggable", |
27 | | - "$j.ui.resizable", |
28 | | - "$j.ui.tabs", |
29 | | - |
30 | | - "$j.whileAsync" , |
31 | | - "$j.fn.autoEllipsis" , |
32 | | - "$j.browserTest" , |
33 | | - "$j.fn.collapsibleTabs" , |
34 | | - "$j.fn.delayedBind" , |
35 | | - "inherit", |
36 | | - "$j.fn.namespaceSelector" , |
37 | | - "$j.suggestions" , |
38 | | - "$j.wikiEditor", |
39 | | - |
40 | | - // NOTE we should only include the modules we need |
41 | | - "$j.wikiEditor.modules.highlight" , |
42 | | - "$j.wikiEditor.modules.toolbar", |
43 | | - "$j.wikiEditor.modules.dialogs", |
44 | | - "$j.wikiEditor.modules.toc" , |
45 | | - "$j.wikiEditor.modules.preview" , |
46 | | - "$j.wikiEditor.modules.templateEditor" , |
47 | | - "$j.wikiEditor.modules.publish", |
48 | | - |
49 | | - //Also load per module configuration |
50 | | - "wikiEditor.config.highlight", |
51 | | - "wikiEditor.config.preview", |
52 | | - "wikiEditor.config.publish", |
53 | | - "wikiEditor.config.toc", |
54 | | - "wikiEditor.config.toolbar" , |
55 | | - "wikiEditor.config.templateEditor" |
56 | | - ]; |
57 | | - |
58 | | - //Load the combined css ( once we have a style sheet loader we could do |
59 | | - // module dependency mapping and get proper set of style sheets |
60 | | - mw.getStyleSheet( wgScriptPath + '/extensions/UsabilityInitiative/css/combined.min.css' ); |
61 | | - |
62 | | - |
63 | | - mw.load( libReq, function(){ |
64 | | - mw.log('wikiEditor done ' ); |
65 | | - callback( 'WikiEditor' ); |
66 | | - } ); |
67 | | - |
68 | | - |
69 | | -}); |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.combined.js |
— | — | @@ -1,9 +1,5 @@ |
2 | 2 | /* JavaScript for WikiEditor Highlight module */ |
3 | 3 | |
4 | | -mw.addMessages({ |
5 | | - "wikieditor-highlight-preference" : "Enable syntax highlighting when editing" |
6 | | -}); |
7 | | - |
8 | 4 | mw.ready( function() { |
9 | 5 | // Check preferences for highlight |
10 | 6 | if ( !wgWikiEditorEnabledModules.highlight ) { |
— | — | @@ -14,15 +10,8 @@ |
15 | 11 | $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'highlight' ); |
16 | 12 | } |
17 | 13 | }); |
| 14 | +/* JavaScript for WikiEditor Preview module */ |
18 | 15 | |
19 | | -mw.loadDone( 'wikiEditor.config.highlight' );/* JavaScript for WikiEditor Preview module */ |
20 | | - |
21 | | -mw.addMessages({ |
22 | | - "wikieditor-preview-preference" : "Enable side-by-side preview", |
23 | | - "wikieditor-preview-tab" : "Preview", |
24 | | - "wikieditor-preview-changes-tab" : "Changes", |
25 | | - "wikieditor-preview-loading" : "Loading..." |
26 | | -}); |
27 | 16 | mw.ready( function() { |
28 | 17 | // Check preferences for preview |
29 | 18 | if ( !wgWikiEditorEnabledModules.preview ) { |
— | — | @@ -33,20 +22,8 @@ |
34 | 23 | $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'preview' ); |
35 | 24 | } |
36 | 25 | }); |
| 26 | +/* JavaScript for WikiEditor Publish module */ |
37 | 27 | |
38 | | -mw.loadDone( 'wikiEditor.config.preview' );/* JavaScript for WikiEditor Publish module */ |
39 | | - |
40 | | -mw.addMessages({ |
41 | | - "wikieditor-publish-preference" : "Enable step-by-step publishing", |
42 | | - "wikieditor-publish-button-publish" : "Publish", |
43 | | - "wikieditor-publish-button-cancel" : "Cancel", |
44 | | - "wikieditor-publish-dialog-title" : "Publish to {{SITENAME}}", |
45 | | - "wikieditor-publish-dialog-summary" : "Edit summary (briefly describe the changes you have made):", |
46 | | - "wikieditor-publish-dialog-minor" : "Minor edit", |
47 | | - "wikieditor-publish-dialog-watch" : "Watch this page", |
48 | | - "wikieditor-publish-dialog-publish" : "Publish", |
49 | | - "wikieditor-publish-dialog-goback" : "Go back" |
50 | | -}); |
51 | 28 | mw.ready( function() { |
52 | 29 | // Check preferences for publish |
53 | 30 | if ( !wgWikiEditorEnabledModules.publish ) { |
— | — | @@ -57,16 +34,8 @@ |
58 | 35 | $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'publish' ); |
59 | 36 | } |
60 | 37 | }); |
61 | | - |
62 | | -mw.loadDone( 'wikiEditor.config.publish' ); |
63 | 38 | /* JavaScript for WikiEditor Toc module */ |
64 | 39 | |
65 | | -mw.addMessages({ |
66 | | - "wikieditor-toc-preference" : "Enable navigable table of contents", |
67 | | - "wikieditor-toc-show" : "Show contents", |
68 | | - "wikieditor-toc-hide" : "Hide contents" |
69 | | -}); |
70 | | - |
71 | 40 | mw.ready( function() { |
72 | 41 | // Check preferences for toolbar |
73 | 42 | if ( !wgWikiEditorPreferences || !( wgWikiEditorPreferences.toc && wgWikiEditorPreferences.toc.enable ) ) { |
— | — | @@ -78,194 +47,8 @@ |
79 | 48 | { 'toc' : { 'rtl' : ( $j( 'body' ).is( '.rtl' ) ) } } ); |
80 | 49 | } |
81 | 50 | }); |
| 51 | +/* JavaScript for WikiEditor Toolbar module */ |
82 | 52 | |
83 | | -mw.loadDone( 'wikiEditor.config.toc' );/* JavaScript for WikiEditor Toolbar module */ |
84 | | - |
85 | | -mw.addMessages({ |
86 | | - "wikieditor-toolbar" : "Editing toolbar", |
87 | | - "wikieditor-toolbar-desc" : "Edit page toolbar with enhanced usability", |
88 | | - "wikieditor-toolbar-preference" : "Enable enhanced editing toolbar", |
89 | | - "wikieditor-toolbar-dialogs-preference" : "Enable dialogs for inserting links, tables and more", |
90 | | - "wikieditor-toolbar-loading" : "Loading...", |
91 | | - "wikieditor-toolbar-tool-bold" : "Bold", |
92 | | - "wikieditor-toolbar-tool-bold-example" : "Bold text", |
93 | | - "wikieditor-toolbar-tool-italic" : "Italic", |
94 | | - "wikieditor-toolbar-tool-italic-example" : "Italic text", |
95 | | - "wikieditor-toolbar-tool-ilink" : "Internal link", |
96 | | - "wikieditor-toolbar-tool-ilink-example" : "Link title", |
97 | | - "wikieditor-toolbar-tool-xlink" : "External link (remember http:// prefix)", |
98 | | - "wikieditor-toolbar-tool-xlink-example" : "http://www.example.com link title", |
99 | | - "wikieditor-toolbar-tool-link" : "Link", |
100 | | - "wikieditor-toolbar-tool-link-title" : "Insert link", |
101 | | - "wikieditor-toolbar-tool-link-int" : "To a wiki page", |
102 | | - "wikieditor-toolbar-tool-link-int-target" : "Target page or URL:", |
103 | | - "wikieditor-toolbar-tool-link-int-target-tooltip" : "Page Title or URL", |
104 | | - "wikieditor-toolbar-tool-link-int-text" : "Text to display:", |
105 | | - "wikieditor-toolbar-tool-link-int-text-tooltip" : "Text to be displayed", |
106 | | - "wikieditor-toolbar-tool-link-ext" : "To an external web page", |
107 | | - "wikieditor-toolbar-tool-link-ext-target" : "Link URL:", |
108 | | - "wikieditor-toolbar-tool-link-ext-text" : "Link text:", |
109 | | - "wikieditor-toolbar-tool-link-insert" : "Insert link", |
110 | | - "wikieditor-toolbar-tool-link-cancel" : "Cancel", |
111 | | - "wikieditor-toolbar-tool-link-int-target-status-exists" : "Page exists", |
112 | | - "wikieditor-toolbar-tool-link-int-target-status-notexists" : "Page does not exist", |
113 | | - "wikieditor-toolbar-tool-link-int-target-status-invalid" : "Invalid title", |
114 | | - "wikieditor-toolbar-tool-link-int-target-status-external" : "External link", |
115 | | - "wikieditor-toolbar-tool-link-int-target-status-loading" : "Checking page existence...", |
116 | | - "wikieditor-toolbar-tool-link-int-invalid" : "The title you specified is invalid.", |
117 | | - "wikieditor-toolbar-tool-link-lookslikeinternal" : "The URL you specified looks like it was intended as a link to another wiki page. Do you want to make it an internal link?", |
118 | | - "wikieditor-toolbar-tool-link-lookslikeinternal-int" : "Internal link", |
119 | | - "wikieditor-toolbar-tool-link-lookslikeinternal-ext" : "External link", |
120 | | - "wikieditor-toolbar-tool-link-empty" : "You did not enter anything to link to.", |
121 | | - "wikieditor-toolbar-tool-file" : "Embedded file", |
122 | | - "wikieditor-toolbar-tool-file-pre" : "$1{{ns:file}}:", |
123 | | - "wikieditor-toolbar-tool-file-example" : "Example.jpg", |
124 | | - "wikieditor-toolbar-tool-reference" : "Reference", |
125 | | - "wikieditor-toolbar-tool-reference-example" : "Insert footnote text here", |
126 | | - "wikieditor-toolbar-tool-signature" : "Signature and timestamp", |
127 | | - "wikieditor-toolbar-section-advanced" : "Advanced", |
128 | | - "wikieditor-toolbar-tool-heading" : "Heading", |
129 | | - "wikieditor-toolbar-tool-heading-1" : "Level 1", |
130 | | - "wikieditor-toolbar-tool-heading-2" : "Level 2", |
131 | | - "wikieditor-toolbar-tool-heading-3" : "Level 3", |
132 | | - "wikieditor-toolbar-tool-heading-4" : "Level 4", |
133 | | - "wikieditor-toolbar-tool-heading-5" : "Level 5", |
134 | | - "wikieditor-toolbar-tool-heading-example" : "Heading text", |
135 | | - "wikieditor-toolbar-group-list" : "List", |
136 | | - "wikieditor-toolbar-tool-ulist" : "Bulleted list", |
137 | | - "wikieditor-toolbar-tool-ulist-example" : "Bulleted list item", |
138 | | - "wikieditor-toolbar-tool-olist" : "Numbered list", |
139 | | - "wikieditor-toolbar-tool-olist-example" : "Numbered list item", |
140 | | - "wikieditor-toolbar-tool-indent" : "Indentation", |
141 | | - "wikieditor-toolbar-tool-indent-example" : "Indented line", |
142 | | - "wikieditor-toolbar-group-size" : "Size", |
143 | | - "wikieditor-toolbar-tool-big" : "Big", |
144 | | - "wikieditor-toolbar-tool-big-example" : "Big text", |
145 | | - "wikieditor-toolbar-tool-small" : "Small", |
146 | | - "wikieditor-toolbar-tool-small-example" : "Small text", |
147 | | - "wikieditor-toolbar-group-baseline" : "Baseline", |
148 | | - "wikieditor-toolbar-tool-superscript" : "Superscript", |
149 | | - "wikieditor-toolbar-tool-superscript-example" : "Superscript text", |
150 | | - "wikieditor-toolbar-tool-subscript" : "Subscript", |
151 | | - "wikieditor-toolbar-tool-subscript-example" : "Subscript text", |
152 | | - "wikieditor-toolbar-group-insert" : "Insert", |
153 | | - "wikieditor-toolbar-tool-gallery" : "Picture gallery", |
154 | | - "wikieditor-toolbar-tool-gallery-example" : "{{ns:file}}:Example.jpg|Caption1\n{{ns:file}}:Example.jpg|Caption2", |
155 | | - "wikieditor-toolbar-tool-newline" : "New line", |
156 | | - "wikieditor-toolbar-tool-table" : "Table", |
157 | | - "wikieditor-toolbar-tool-table-example-old" : "-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3", |
158 | | - "wikieditor-toolbar-tool-table-example-cell-text" : "Cell text", |
159 | | - "wikieditor-toolbar-tool-table-example-header" : "Header text", |
160 | | - "wikieditor-toolbar-tool-table-title" : "Insert table", |
161 | | - "wikieditor-toolbar-tool-table-dimensions-rows" : "Rows", |
162 | | - "wikieditor-toolbar-tool-table-dimensions-columns" : "Columns", |
163 | | - "wikieditor-toolbar-tool-table-dimensions-header" : "Add header row", |
164 | | - "wikieditor-toolbar-tool-table-wikitable" : "Style with borders", |
165 | | - "wikieditor-toolbar-tool-table-sortable" : "Make table sortable", |
166 | | - "wikieditor-toolbar-tool-table-example" : "Example", |
167 | | - "wikieditor-toolbar-tool-table-preview" : "Preview", |
168 | | - "wikieditor-toolbar-tool-table-insert" : "Insert", |
169 | | - "wikieditor-toolbar-tool-table-cancel" : "Cancel", |
170 | | - "wikieditor-toolbar-tool-table-example-text" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut nec purus diam. Sed aliquam imperdiet nunc quis lacinia. Donec rutrum consectetur placerat. Sed volutpat neque non purus faucibus id ultricies enim euismod.", |
171 | | - "wikieditor-toolbar-tool-table-toomany" : "Inserting a table with more than $1 cells is not possible with this dialog.", |
172 | | - "wikieditor-toolbar-tool-table-invalidnumber" : "You have not entered a valid number of rows or columns.", |
173 | | - "wikieditor-toolbar-tool-table-zero" : "You cannot insert a table with zero rows or columns.", |
174 | | - "wikieditor-toolbar-tool-replace" : "Search and replace", |
175 | | - "wikieditor-toolbar-tool-replace-title" : "Search and replace", |
176 | | - "wikieditor-toolbar-tool-replace-search" : "Search for:", |
177 | | - "wikieditor-toolbar-tool-replace-replace" : "Replace with:", |
178 | | - "wikieditor-toolbar-tool-replace-case" : "Match case", |
179 | | - "wikieditor-toolbar-tool-replace-regex" : "Treat search string as a regular expression", |
180 | | - "wikieditor-toolbar-tool-replace-button-findnext" : "Find next", |
181 | | - "wikieditor-toolbar-tool-replace-button-replacenext" : "Replace next", |
182 | | - "wikieditor-toolbar-tool-replace-button-replaceall" : "Replace all", |
183 | | - "wikieditor-toolbar-tool-replace-close" : "Cancel", |
184 | | - "wikieditor-toolbar-tool-replace-nomatch" : "Your search did not match anything.", |
185 | | - "wikieditor-toolbar-tool-replace-success" : "$1 replacement(s) made.", |
186 | | - "wikieditor-toolbar-tool-replace-emptysearch" : "You did not enter anything to search for.", |
187 | | - "wikieditor-toolbar-tool-replace-invalidregex" : "The regular expression you entered is invalid: $1", |
188 | | - "wikieditor-toolbar-section-characters" : "Special characters", |
189 | | - "wikieditor-toolbar-characters-page-latin" : "Latin", |
190 | | - "wikieditor-toolbar-characters-page-latinextended" : "Latin extended", |
191 | | - "wikieditor-toolbar-characters-page-ipa" : "IPA", |
192 | | - "wikieditor-toolbar-characters-page-symbols" : "Symbols", |
193 | | - "wikieditor-toolbar-characters-page-greek" : "Greek", |
194 | | - "wikieditor-toolbar-characters-page-cyrillic" : "Cyrillic", |
195 | | - "wikieditor-toolbar-characters-page-arabic" : "Arabic", |
196 | | - "wikieditor-toolbar-characters-page-hebrew" : "Hebrew", |
197 | | - "wikieditor-toolbar-characters-page-telugu" : "Telugu", |
198 | | - "wikieditor-toolbar-characters-page-sinhala" : "Sinhala", |
199 | | - "wikieditor-toolbar-characters-page-gujarati" : "Gujarati", |
200 | | - "wikieditor-toolbar-section-help" : "Help", |
201 | | - "wikieditor-toolbar-help-heading-description" : "Description", |
202 | | - "wikieditor-toolbar-help-heading-syntax" : "What you type", |
203 | | - "wikieditor-toolbar-help-heading-result" : "What you get", |
204 | | - "wikieditor-toolbar-help-page-format" : "Formatting", |
205 | | - "wikieditor-toolbar-help-page-link" : "Links", |
206 | | - "wikieditor-toolbar-help-page-heading" : "Headings", |
207 | | - "wikieditor-toolbar-help-page-list" : "Lists", |
208 | | - "wikieditor-toolbar-help-page-file" : "Files", |
209 | | - "wikieditor-toolbar-help-page-reference" : "References", |
210 | | - "wikieditor-toolbar-help-page-discussion" : "Discussion", |
211 | | - "wikieditor-toolbar-help-content-italic-description" : "Italic", |
212 | | - "wikieditor-toolbar-help-content-italic-syntax" : "''Italic text''", |
213 | | - "wikieditor-toolbar-help-content-italic-result" : "<em>Italic text</em>", |
214 | | - "wikieditor-toolbar-help-content-bold-description" : "Bold", |
215 | | - "wikieditor-toolbar-help-content-bold-syntax" : "'''Bold text'''", |
216 | | - "wikieditor-toolbar-help-content-bold-result" : "<strong>Bold text</strong>", |
217 | | - "wikieditor-toolbar-help-content-bolditalic-description" : "Bold & italic", |
218 | | - "wikieditor-toolbar-help-content-bolditalic-syntax" : "'''''Bold & italic text'''''", |
219 | | - "wikieditor-toolbar-help-content-bolditalic-result" : "<strong><em>Bold & italic text</em></strong>", |
220 | | - "wikieditor-toolbar-help-content-ilink-description" : "Internal link", |
221 | | - "wikieditor-toolbar-help-content-ilink-syntax" : "[[Page title|Link label]]<br />[[Page title]]", |
222 | | - "wikieditor-toolbar-help-content-ilink-result" : "<a href='#'>Link label</a><br /><a href='#'>Page title</a>", |
223 | | - "wikieditor-toolbar-help-content-xlink-description" : "External link", |
224 | | - "wikieditor-toolbar-help-content-xlink-syntax" : "[http://www.example.org Link label]<br />[http://www.example.org]<br />http://www.example.org", |
225 | | - "wikieditor-toolbar-help-content-xlink-result" : "<a href='#' class='external'>Link label</a><br /><a href='#' class='external autonumber'>[1]</a><br /><a href='#' class='external'>http://www.example.org</a>", |
226 | | - "wikieditor-toolbar-help-content-heading1-description" : "1st level heading", |
227 | | - "wikieditor-toolbar-help-content-heading1-syntax" : "= Heading text =", |
228 | | - "wikieditor-toolbar-help-content-heading1-result" : "<h1>Heading text</h1>", |
229 | | - "wikieditor-toolbar-help-content-heading2-description" : "2nd level heading", |
230 | | - "wikieditor-toolbar-help-content-heading2-syntax" : "== Heading text ==", |
231 | | - "wikieditor-toolbar-help-content-heading2-result" : "<h2>Heading text</h2>", |
232 | | - "wikieditor-toolbar-help-content-heading3-description" : "3rd level heading", |
233 | | - "wikieditor-toolbar-help-content-heading3-syntax" : "=== Heading text ===", |
234 | | - "wikieditor-toolbar-help-content-heading3-result" : "<h3>Heading text</h3>", |
235 | | - "wikieditor-toolbar-help-content-heading4-description" : "4th level heading", |
236 | | - "wikieditor-toolbar-help-content-heading4-syntax" : "==== Heading text ====", |
237 | | - "wikieditor-toolbar-help-content-heading4-result" : "<h4>Heading text</h4>", |
238 | | - "wikieditor-toolbar-help-content-heading5-description" : "5th level heading", |
239 | | - "wikieditor-toolbar-help-content-heading5-syntax" : "===== Heading text =====", |
240 | | - "wikieditor-toolbar-help-content-heading5-result" : "<h5>Heading text</h5>", |
241 | | - "wikieditor-toolbar-help-content-ulist-description" : "Bulleted list", |
242 | | - "wikieditor-toolbar-help-content-ulist-syntax" : "* List item<br />* List item", |
243 | | - "wikieditor-toolbar-help-content-ulist-result" : "<ul><li>List item</li><li>List item</li></ul>", |
244 | | - "wikieditor-toolbar-help-content-olist-description" : "Numbered list", |
245 | | - "wikieditor-toolbar-help-content-olist-syntax" : "# List item<br /># List item", |
246 | | - "wikieditor-toolbar-help-content-olist-result" : "<ol><li>List item</li><li>List item</li></ol>", |
247 | | - "wikieditor-toolbar-help-content-file-description" : "Embedded file", |
248 | | - "wikieditor-toolbar-help-content-file-syntax" : "[[{{ns:file}}:Example.png|thumb|Caption text]]", |
249 | | - "wikieditor-toolbar-help-content-file-result" : "<div style='width:104px;' class='thumbinner'><a title='Caption text' class='image' href='#'><img height='50' width='100' border='0' class='thumbimage' src='extensions/UsabilityInitiative/images/wikiEditor/toolbar/example-image.png' alt=''/></a><div class='thumbcaption'><div class='magnify'><a title='Enlarge' class='internal' href='#'><img height='11' width='15' alt='' src='$1/common/images/magnify-clip.png'/></a></div>Caption text</div></div>", |
250 | | - "wikieditor-toolbar-help-content-reference-description" : "Reference", |
251 | | - "wikieditor-toolbar-help-content-reference-syntax" : "Page text.<ref name=\"test\">[http://www.example.org Link text], additional text.</ref>", |
252 | | - "wikieditor-toolbar-help-content-reference-result" : "Page text.<sup><a href='#'>[1]</a></sup>", |
253 | | - "wikieditor-toolbar-help-content-rereference-description" : "Additional use of same reference", |
254 | | - "wikieditor-toolbar-help-content-rereference-syntax" : "<ref name=\"test\" />", |
255 | | - "wikieditor-toolbar-help-content-rereference-result" : "Page text.<sup><a href='#'>[1]</a></sup>", |
256 | | - "wikieditor-toolbar-help-content-showreferences-description" : "Display references", |
257 | | - "wikieditor-toolbar-help-content-showreferences-syntax" : "<references />", |
258 | | - "wikieditor-toolbar-help-content-showreferences-result" : "<ol class='references'><li id='cite_note-test-0'><b><a title='' href='#'>^</a></b> <a rel='nofollow' title='http://www.example.org' class='external text' href='#'>Link text</a>, additional text.</li></ol>", |
259 | | - "wikieditor-toolbar-help-content-signaturetimestamp-description" : "Signature with timestamp", |
260 | | - "wikieditor-toolbar-help-content-signaturetimestamp-syntax" : "~~~~", |
261 | | - "wikieditor-toolbar-help-content-signaturetimestamp-result" : "<a href='#' title='{{#special:mypage}}'>Username</a> (<a href='#' title='{{#special:mytalk}}'>talk</a>) 15:54, 10 June 2009 (UTC)", |
262 | | - "wikieditor-toolbar-help-content-signature-description" : "Signature", |
263 | | - "wikieditor-toolbar-help-content-signature-syntax" : "~~~", |
264 | | - "wikieditor-toolbar-help-content-signature-result" : "<a href='#' title='{{#special:mypage}}'>Username</a> (<a href='#' title='{{#special:mytalk}}'>talk</a>)", |
265 | | - "wikieditor-toolbar-help-content-indent-description" : "Indent", |
266 | | - "wikieditor-toolbar-help-content-indent-syntax" : "Normal text<br />:Indented text<br />::Indented text", |
267 | | - "wikieditor-toolbar-help-content-indent-result" : "Normal text<dl><dd>Indented text<dl><dd>Indented text</dd></dl></dd></dl>" |
268 | | -}); |
269 | | - |
270 | 53 | mw.ready( function() { |
271 | 54 | // Check preferences for toolbar |
272 | 55 | if ( !wgWikiEditorEnabledModules.toolbar ) { |
— | — | @@ -1960,12 +1743,8 @@ |
1961 | 1744 | |
1962 | 1745 | } } ); |
1963 | 1746 | |
1964 | | -mw.loadDone( 'wikiEditor.config.toolbar' );/* JavaScript for WikiEditor Template Editor module */ |
| 1747 | +/* JavaScript for WikiEditor Template Editor module */ |
1965 | 1748 | |
1966 | | -mw.addMessages({ |
1967 | | - "wikieditor-template-editor-preference": "Enable form-based editing of wiki templates" |
1968 | | -}); |
1969 | | - |
1970 | 1749 | mw.ready( function() { |
1971 | 1750 | // Check preferences for templateEditor |
1972 | 1751 | if ( !wgWikiEditorEnabledModules.templateEditor ) { |
— | — | @@ -1976,5 +1755,3 @@ |
1977 | 1756 | $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'templateEditor' ); |
1978 | 1757 | } |
1979 | 1758 | }); |
1980 | | - |
1981 | | -mw.loadDone( 'wikiEditor.config.templateEditor' ); |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.combined.min.js |
— | — | @@ -1,9 +1,9 @@ |
2 | 2 | |
3 | | -mw.addMessages({"wikieditor-highlight-preference":"Enable syntax highlighting when editing"});mw.ready(function(){if(!wgWikiEditorEnabledModules.highlight){return true;} |
4 | | -if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule','highlight');}});mw.loadDone('wikiEditor.config.highlight');mw.addMessages({"wikieditor-preview-preference":"Enable side-by-side preview","wikieditor-preview-tab":"Preview","wikieditor-preview-changes-tab":"Changes","wikieditor-preview-loading":"Loading..."});mw.ready(function(){if(!wgWikiEditorEnabledModules.preview){return true;} |
5 | | -if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule','preview');}});mw.loadDone('wikiEditor.config.preview');mw.addMessages({"wikieditor-publish-preference":"Enable step-by-step publishing","wikieditor-publish-button-publish":"Publish","wikieditor-publish-button-cancel":"Cancel","wikieditor-publish-dialog-title":"Publish to {{SITENAME}}","wikieditor-publish-dialog-summary":"Edit summary (briefly describe the changes you have made):","wikieditor-publish-dialog-minor":"Minor edit","wikieditor-publish-dialog-watch":"Watch this page","wikieditor-publish-dialog-publish":"Publish","wikieditor-publish-dialog-goback":"Go back"});mw.ready(function(){if(!wgWikiEditorEnabledModules.publish){return true;} |
6 | | -if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule','publish');}});mw.loadDone('wikiEditor.config.publish');mw.addMessages({"wikieditor-toc-preference":"Enable navigable table of contents","wikieditor-toc-show":"Show contents","wikieditor-toc-hide":"Hide contents"});mw.ready(function(){if(!wgWikiEditorPreferences||!(wgWikiEditorPreferences.toc&&wgWikiEditorPreferences.toc.enable)){return true;} |
7 | | -if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule',{'toc':{'rtl':($j('body').is('.rtl'))}});}});mw.loadDone('wikiEditor.config.toc');mw.addMessages({"wikieditor-toolbar":"Editing toolbar","wikieditor-toolbar-desc":"Edit page toolbar with enhanced usability","wikieditor-toolbar-preference":"Enable enhanced editing toolbar","wikieditor-toolbar-dialogs-preference":"Enable dialogs for inserting links, tables and more","wikieditor-toolbar-loading":"Loading...","wikieditor-toolbar-tool-bold":"Bold","wikieditor-toolbar-tool-bold-example":"Bold text","wikieditor-toolbar-tool-italic":"Italic","wikieditor-toolbar-tool-italic-example":"Italic text","wikieditor-toolbar-tool-ilink":"Internal link","wikieditor-toolbar-tool-ilink-example":"Link title","wikieditor-toolbar-tool-xlink":"External link (remember http:// prefix)","wikieditor-toolbar-tool-xlink-example":"http://www.example.com link title","wikieditor-toolbar-tool-link":"Link","wikieditor-toolbar-tool-link-title":"Insert link","wikieditor-toolbar-tool-link-int":"To a wiki page","wikieditor-toolbar-tool-link-int-target":"Target page or URL:","wikieditor-toolbar-tool-link-int-target-tooltip":"Page Title or URL","wikieditor-toolbar-tool-link-int-text":"Text to display:","wikieditor-toolbar-tool-link-int-text-tooltip":"Text to be displayed","wikieditor-toolbar-tool-link-ext":"To an external web page","wikieditor-toolbar-tool-link-ext-target":"Link URL:","wikieditor-toolbar-tool-link-ext-text":"Link text:","wikieditor-toolbar-tool-link-insert":"Insert link","wikieditor-toolbar-tool-link-cancel":"Cancel","wikieditor-toolbar-tool-link-int-target-status-exists":"Page exists","wikieditor-toolbar-tool-link-int-target-status-notexists":"Page does not exist","wikieditor-toolbar-tool-link-int-target-status-invalid":"Invalid title","wikieditor-toolbar-tool-link-int-target-status-external":"External link","wikieditor-toolbar-tool-link-int-target-status-loading":"Checking page existence...","wikieditor-toolbar-tool-link-int-invalid":"The title you specified is invalid.","wikieditor-toolbar-tool-link-lookslikeinternal":"The URL you specified looks like it was intended as a link to another wiki page. Do you want to make it an internal link?","wikieditor-toolbar-tool-link-lookslikeinternal-int":"Internal link","wikieditor-toolbar-tool-link-lookslikeinternal-ext":"External link","wikieditor-toolbar-tool-link-empty":"You did not enter anything to link to.","wikieditor-toolbar-tool-file":"Embedded file","wikieditor-toolbar-tool-file-pre":"$1{{ns:file}}:","wikieditor-toolbar-tool-file-example":"Example.jpg","wikieditor-toolbar-tool-reference":"Reference","wikieditor-toolbar-tool-reference-example":"Insert footnote text here","wikieditor-toolbar-tool-signature":"Signature and timestamp","wikieditor-toolbar-section-advanced":"Advanced","wikieditor-toolbar-tool-heading":"Heading","wikieditor-toolbar-tool-heading-1":"Level 1","wikieditor-toolbar-tool-heading-2":"Level 2","wikieditor-toolbar-tool-heading-3":"Level 3","wikieditor-toolbar-tool-heading-4":"Level 4","wikieditor-toolbar-tool-heading-5":"Level 5","wikieditor-toolbar-tool-heading-example":"Heading text","wikieditor-toolbar-group-list":"List","wikieditor-toolbar-tool-ulist":"Bulleted list","wikieditor-toolbar-tool-ulist-example":"Bulleted list item","wikieditor-toolbar-tool-olist":"Numbered list","wikieditor-toolbar-tool-olist-example":"Numbered list item","wikieditor-toolbar-tool-indent":"Indentation","wikieditor-toolbar-tool-indent-example":"Indented line","wikieditor-toolbar-group-size":"Size","wikieditor-toolbar-tool-big":"Big","wikieditor-toolbar-tool-big-example":"Big text","wikieditor-toolbar-tool-small":"Small","wikieditor-toolbar-tool-small-example":"Small text","wikieditor-toolbar-group-baseline":"Baseline","wikieditor-toolbar-tool-superscript":"Superscript","wikieditor-toolbar-tool-superscript-example":"Superscript text","wikieditor-toolbar-tool-subscript":"Subscript","wikieditor-toolbar-tool-subscript-example":"Subscript text","wikieditor-toolbar-group-insert":"Insert","wikieditor-toolbar-tool-gallery":"Picture gallery","wikieditor-toolbar-tool-gallery-example":"{{ns:file}}:Example.jpg|Caption1\n{{ns:file}}:Example.jpg|Caption2","wikieditor-toolbar-tool-newline":"New line","wikieditor-toolbar-tool-table":"Table","wikieditor-toolbar-tool-table-example-old":"-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3","wikieditor-toolbar-tool-table-example-cell-text":"Cell text","wikieditor-toolbar-tool-table-example-header":"Header text","wikieditor-toolbar-tool-table-title":"Insert table","wikieditor-toolbar-tool-table-dimensions-rows":"Rows","wikieditor-toolbar-tool-table-dimensions-columns":"Columns","wikieditor-toolbar-tool-table-dimensions-header":"Add header row","wikieditor-toolbar-tool-table-wikitable":"Style with borders","wikieditor-toolbar-tool-table-sortable":"Make table sortable","wikieditor-toolbar-tool-table-example":"Example","wikieditor-toolbar-tool-table-preview":"Preview","wikieditor-toolbar-tool-table-insert":"Insert","wikieditor-toolbar-tool-table-cancel":"Cancel","wikieditor-toolbar-tool-table-example-text":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut nec purus diam. Sed aliquam imperdiet nunc quis lacinia. Donec rutrum consectetur placerat. Sed volutpat neque non purus faucibus id ultricies enim euismod.","wikieditor-toolbar-tool-table-toomany":"Inserting a table with more than $1 cells is not possible with this dialog.","wikieditor-toolbar-tool-table-invalidnumber":"You have not entered a valid number of rows or columns.","wikieditor-toolbar-tool-table-zero":"You cannot insert a table with zero rows or columns.","wikieditor-toolbar-tool-replace":"Search and replace","wikieditor-toolbar-tool-replace-title":"Search and replace","wikieditor-toolbar-tool-replace-search":"Search for:","wikieditor-toolbar-tool-replace-replace":"Replace with:","wikieditor-toolbar-tool-replace-case":"Match case","wikieditor-toolbar-tool-replace-regex":"Treat search string as a regular expression","wikieditor-toolbar-tool-replace-button-findnext":"Find next","wikieditor-toolbar-tool-replace-button-replacenext":"Replace next","wikieditor-toolbar-tool-replace-button-replaceall":"Replace all","wikieditor-toolbar-tool-replace-close":"Cancel","wikieditor-toolbar-tool-replace-nomatch":"Your search did not match anything.","wikieditor-toolbar-tool-replace-success":"$1 replacement(s) made.","wikieditor-toolbar-tool-replace-emptysearch":"You did not enter anything to search for.","wikieditor-toolbar-tool-replace-invalidregex":"The regular expression you entered is invalid: $1","wikieditor-toolbar-section-characters":"Special characters","wikieditor-toolbar-characters-page-latin":"Latin","wikieditor-toolbar-characters-page-latinextended":"Latin extended","wikieditor-toolbar-characters-page-ipa":"IPA","wikieditor-toolbar-characters-page-symbols":"Symbols","wikieditor-toolbar-characters-page-greek":"Greek","wikieditor-toolbar-characters-page-cyrillic":"Cyrillic","wikieditor-toolbar-characters-page-arabic":"Arabic","wikieditor-toolbar-characters-page-hebrew":"Hebrew","wikieditor-toolbar-characters-page-telugu":"Telugu","wikieditor-toolbar-characters-page-sinhala":"Sinhala","wikieditor-toolbar-characters-page-gujarati":"Gujarati","wikieditor-toolbar-section-help":"Help","wikieditor-toolbar-help-heading-description":"Description","wikieditor-toolbar-help-heading-syntax":"What you type","wikieditor-toolbar-help-heading-result":"What you get","wikieditor-toolbar-help-page-format":"Formatting","wikieditor-toolbar-help-page-link":"Links","wikieditor-toolbar-help-page-heading":"Headings","wikieditor-toolbar-help-page-list":"Lists","wikieditor-toolbar-help-page-file":"Files","wikieditor-toolbar-help-page-reference":"References","wikieditor-toolbar-help-page-discussion":"Discussion","wikieditor-toolbar-help-content-italic-description":"Italic","wikieditor-toolbar-help-content-italic-syntax":"''Italic text''","wikieditor-toolbar-help-content-italic-result":"<em>Italic text</em>","wikieditor-toolbar-help-content-bold-description":"Bold","wikieditor-toolbar-help-content-bold-syntax":"'''Bold text'''","wikieditor-toolbar-help-content-bold-result":"<strong>Bold text</strong>","wikieditor-toolbar-help-content-bolditalic-description":"Bold & italic","wikieditor-toolbar-help-content-bolditalic-syntax":"'''''Bold & italic text'''''","wikieditor-toolbar-help-content-bolditalic-result":"<strong><em>Bold & italic text</em></strong>","wikieditor-toolbar-help-content-ilink-description":"Internal link","wikieditor-toolbar-help-content-ilink-syntax":"[[Page title|Link label]]<br />[[Page title]]","wikieditor-toolbar-help-content-ilink-result":"<a href='#'>Link label</a><br /><a href='#'>Page title</a>","wikieditor-toolbar-help-content-xlink-description":"External link","wikieditor-toolbar-help-content-xlink-syntax":"[http://www.example.org Link label]<br />[http://www.example.org]<br />http://www.example.org","wikieditor-toolbar-help-content-xlink-result":"<a href='#' class='external'>Link label</a><br /><a href='#' class='external autonumber'>[1]</a><br /><a href='#' class='external'>http://www.example.org</a>","wikieditor-toolbar-help-content-heading1-description":"1st level heading","wikieditor-toolbar-help-content-heading1-syntax":"= Heading text =","wikieditor-toolbar-help-content-heading1-result":"<h1>Heading text</h1>","wikieditor-toolbar-help-content-heading2-description":"2nd level heading","wikieditor-toolbar-help-content-heading2-syntax":"== Heading text ==","wikieditor-toolbar-help-content-heading2-result":"<h2>Heading text</h2>","wikieditor-toolbar-help-content-heading3-description":"3rd level heading","wikieditor-toolbar-help-content-heading3-syntax":"=== Heading text ===","wikieditor-toolbar-help-content-heading3-result":"<h3>Heading text</h3>","wikieditor-toolbar-help-content-heading4-description":"4th level heading","wikieditor-toolbar-help-content-heading4-syntax":"==== Heading text ====","wikieditor-toolbar-help-content-heading4-result":"<h4>Heading text</h4>","wikieditor-toolbar-help-content-heading5-description":"5th level heading","wikieditor-toolbar-help-content-heading5-syntax":"===== Heading text =====","wikieditor-toolbar-help-content-heading5-result":"<h5>Heading text</h5>","wikieditor-toolbar-help-content-ulist-description":"Bulleted list","wikieditor-toolbar-help-content-ulist-syntax":"* List item<br />* List item","wikieditor-toolbar-help-content-ulist-result":"<ul><li>List item</li><li>List item</li></ul>","wikieditor-toolbar-help-content-olist-description":"Numbered list","wikieditor-toolbar-help-content-olist-syntax":"# List item<br /># List item","wikieditor-toolbar-help-content-olist-result":"<ol><li>List item</li><li>List item</li></ol>","wikieditor-toolbar-help-content-file-description":"Embedded file","wikieditor-toolbar-help-content-file-syntax":"[[{{ns:file}}:Example.png|thumb|Caption text]]","wikieditor-toolbar-help-content-file-result":"<div style='width:104px;' class='thumbinner'><a title='Caption text' class='image' href='#'><img height='50' width='100' border='0' class='thumbimage' src='extensions/UsabilityInitiative/images/wikiEditor/toolbar/example-image.png' alt=''/></a><div class='thumbcaption'><div class='magnify'><a title='Enlarge' class='internal' href='#'><img height='11' width='15' alt='' src='$1/common/images/magnify-clip.png'/></a></div>Caption text</div></div>","wikieditor-toolbar-help-content-reference-description":"Reference","wikieditor-toolbar-help-content-reference-syntax":"Page text.<ref name=\"test\">[http://www.example.org Link text], additional text.</ref>","wikieditor-toolbar-help-content-reference-result":"Page text.<sup><a href='#'>[1]</a></sup>","wikieditor-toolbar-help-content-rereference-description":"Additional use of same reference","wikieditor-toolbar-help-content-rereference-syntax":"<ref name=\"test\" />","wikieditor-toolbar-help-content-rereference-result":"Page text.<sup><a href='#'>[1]</a></sup>","wikieditor-toolbar-help-content-showreferences-description":"Display references","wikieditor-toolbar-help-content-showreferences-syntax":"<references />","wikieditor-toolbar-help-content-showreferences-result":"<ol class='references'><li id='cite_note-test-0'><b><a title='' href='#'>^</a></b> <a rel='nofollow' title='http://www.example.org' class='external text' href='#'>Link text</a>, additional text.</li></ol>","wikieditor-toolbar-help-content-signaturetimestamp-description":"Signature with timestamp","wikieditor-toolbar-help-content-signaturetimestamp-syntax":"~~~~","wikieditor-toolbar-help-content-signaturetimestamp-result":"<a href='#' title='{{#special:mypage}}'>Username</a> (<a href='#' title='{{#special:mytalk}}'>talk</a>) 15:54, 10 June 2009 (UTC)","wikieditor-toolbar-help-content-signature-description":"Signature","wikieditor-toolbar-help-content-signature-syntax":"~~~","wikieditor-toolbar-help-content-signature-result":"<a href='#' title='{{#special:mypage}}'>Username</a> (<a href='#' title='{{#special:mytalk}}'>talk</a>)","wikieditor-toolbar-help-content-indent-description":"Indent","wikieditor-toolbar-help-content-indent-syntax":"Normal text<br />:Indented text<br />::Indented text","wikieditor-toolbar-help-content-indent-result":"Normal text<dl><dd>Indented text<dl><dd>Indented text</dd></dl></dd></dl>"});mw.ready(function(){if(!wgWikiEditorEnabledModules.toolbar){return true;} |
| 3 | +mw.ready(function(){if(!wgWikiEditorEnabledModules.highlight){return true;} |
| 4 | +if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule','highlight');}});mw.ready(function(){if(!wgWikiEditorEnabledModules.preview){return true;} |
| 5 | +if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule','preview');}});mw.ready(function(){if(!wgWikiEditorEnabledModules.publish){return true;} |
| 6 | +if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule','publish');}});mw.ready(function(){if(!wgWikiEditorPreferences||!(wgWikiEditorPreferences.toc&&wgWikiEditorPreferences.toc.enable)){return true;} |
| 7 | +if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule',{'toc':{'rtl':($j('body').is('.rtl'))}});}});mw.ready(function(){if(!wgWikiEditorEnabledModules.toolbar){return true;} |
8 | 8 | if(wgWikiEditorPreferences.toolbar.dialogs){$j('#wpTextbox1').addClass('toolbar-dialogs');} |
9 | 9 | if($j.fn.wikiEditor){$j('#toolbar').remove();$j('#wpTextbox1').wikiEditor('addModule',{'toolbar':{'main':{type:'toolbar',groups:{'format':{tools:{'bold':{labelMsg:'wikieditor-toolbar-tool-bold',type:'button',icon:{'default':'format-bold.png','en':'format-bold-B.png','de':'format-bold-F.png','fr':'format-bold-G.png','es':'format-bold-N.png','it':'format-bold-G.png','nl':'format-bold-V.png','pt':'format-bold-N.png','pt-br':'format-bold-N.png','pl':'format-bold-P.png'},action:{type:'encapsulate',options:{pre:"'''",periMsg:'wikieditor-toolbar-tool-bold-example',post:"'''"}}},'italic':{section:'main',group:'format',id:'italic',labelMsg:'wikieditor-toolbar-tool-italic',type:'button',icon:{'default':'format-italic.png','en':'format-italic-I.png','de':'format-italic-K.png','fr':'format-italic-I.png','es':'format-italic-C.png','it':'format-italic-C.png','nl':'format-italic-C.png','pt':'format-italic-I.png','pt-br':'format-italic-I.png','pl':'format-italic-K.png'},action:{type:'encapsulate',options:{pre:"''",periMsg:'wikieditor-toolbar-tool-italic-example',post:"''"}}}}},'insert':{tools:{'xlink':{labelMsg:'wikieditor-toolbar-tool-xlink',type:'button',icon:'insert-xlink.png',filters:['#wpTextbox1:not(.toolbar-dialogs)'],action:{type:'encapsulate',options:{pre:"[",periMsg:'wikieditor-toolbar-tool-xlink-example',post:"]"}}},'ilink':{labelMsg:'wikieditor-toolbar-tool-ilink',type:'button',icon:'insert-ilink.png',filters:['#wpTextbox1:not(.toolbar-dialogs)'],action:{type:'encapsulate',options:{pre:"[[",periMsg:'wikieditor-toolbar-tool-ilink-example',post:"]]"}}},'linkCGD':{labelMsg:'wikieditor-toolbar-tool-link',type:'button',icon:'insert-link.png',filters:['#wpTextbox1.toolbar-dialogs'],action:{type:'dialog',module:'insert-link'}},'file':{labelMsg:'wikieditor-toolbar-tool-file',type:'button',icon:'insert-file.png',action:{type:'encapsulate',options:{pre:"[[",preMsg:'wikieditor-toolbar-tool-file-pre',periMsg:'wikieditor-toolbar-tool-file-example',post:"]]"}}},'reference':{labelMsg:'wikieditor-toolbar-tool-reference',filters:['body.ns-subject'],type:'button',icon:'insert-reference.png',action:{type:'encapsulate',options:{pre:"<ref>",periMsg:'wikieditor-toolbar-tool-reference-example',post:"</ref>"}}},'signature':{labelMsg:'wikieditor-toolbar-tool-signature',filters:['body:not(.ns-0)'],type:'button',icon:'insert-signature.png',action:{type:'encapsulate',options:{post:"--~~~~"}}}}}}},'advanced':{labelMsg:'wikieditor-toolbar-section-advanced',type:'toolbar',groups:{'heading':{tools:{'heading':{labelMsg:'wikieditor-toolbar-tool-heading',type:'select',list:{'heading-2':{labelMsg:'wikieditor-toolbar-tool-heading-2',action:{type:'replace',options:{pre:'==',periMsg:'wikieditor-toolbar-tool-heading-example',post:'==',regex:/^(\s*)(={0,6})(.*?)\2(\s*)$/,regexReplace:"\$1==\$3==\$4",ownline:true}}},'heading-3':{labelMsg:'wikieditor-toolbar-tool-heading-3',action:{type:'replace',options:{pre:'===',periMsg:'wikieditor-toolbar-tool-heading-example',post:'===',regex:/^(\s*)(={0,6})(.*?)\2(\s*)$/,regexReplace:"\$1===\$3===\$4",ownline:true}}},'heading-4':{labelMsg:'wikieditor-toolbar-tool-heading-4',action:{type:'replace',options:{pre:'====',periMsg:'wikieditor-toolbar-tool-heading-example',post:'====',regex:/^(\s*)(={0,6})(.*?)\2(\s*)$/,regexReplace:"\$1====\$3====\$4",ownline:true}}},'heading-5':{labelMsg:'wikieditor-toolbar-tool-heading-5',action:{type:'replace',options:{pre:'=====',periMsg:'wikieditor-toolbar-tool-heading-example',post:'=====',regex:/^(\s*)(={0,6})(.*?)\2(\s*)$/,regexReplace:"\$1=====\$3=====\$4",ownline:true}}}}}}},'list':{labelMsg:'wikieditor-toolbar-group-list',tools:{'ulist':{labelMsg:'wikieditor-toolbar-tool-ulist',type:'button',icon:'format-ulist.png',action:{type:'encapsulate',options:{pre:"* ",periMsg:'wikieditor-toolbar-tool-ulist-example',post:"",ownline:true}}},'olist':{labelMsg:'wikieditor-toolbar-tool-olist',type:'button',icon:'format-olist.png',action:{type:'encapsulate',options:{pre:"# ",periMsg:'wikieditor-toolbar-tool-olist-example',post:"",ownline:true}}},'indent':{labelMsg:'wikieditor-toolbar-tool-indent',type:'button',icon:'format-indent.png',action:{type:'encapsulate',options:{pre:":",periMsg:'wikieditor-toolbar-tool-indent-example',post:"",ownline:true,splitlines:true}}}}},'size':{labelMsg:'wikieditor-toolbar-group-size',tools:{'big':{labelMsg:'wikieditor-toolbar-tool-big',type:'button',icon:'format-big.png',action:{type:'encapsulate',options:{pre:"<big>",periMsg:'wikieditor-toolbar-tool-big-example',post:"</big>"}}},'small':{labelMsg:'wikieditor-toolbar-tool-small',type:'button',icon:'format-small.png',action:{type:'encapsulate',options:{pre:"<small>",periMsg:'wikieditor-toolbar-tool-small-example',post:"</small>"}}}}},'baseline':{labelMsg:'wikieditor-toolbar-group-baseline',tools:{'superscript':{labelMsg:'wikieditor-toolbar-tool-superscript',type:'button',icon:'format-superscript.png',action:{type:'encapsulate',options:{pre:"<sup>",periMsg:'wikieditor-toolbar-tool-superscript-example',post:"</sup>"}}},'subscript':{labelMsg:'wikieditor-toolbar-tool-subscript',type:'button',icon:'format-subscript.png',action:{type:'encapsulate',options:{pre:"<sub>",periMsg:'wikieditor-toolbar-tool-subscript-example',post:"</sub>"}}}}},'insert':{labelMsg:'wikieditor-toolbar-group-insert',tools:{'gallery':{labelMsg:'wikieditor-toolbar-tool-gallery',type:'button',icon:'insert-gallery.png',action:{type:'encapsulate',options:{pre:"<gallery>\n",periMsg:'wikieditor-toolbar-tool-gallery-example',post:"\n</gallery>",ownline:true}}},'tableCGD':{labelMsg:'wikieditor-toolbar-tool-table',type:'button',icon:'insert-table.png',filters:['#wpTextbox1.toolbar-dialogs'],action:{type:'dialog',module:'insert-table'}},'table':{labelMsg:'wikieditor-toolbar-tool-table',type:'button',icon:'insert-table.png',filters:['#wpTextbox1:not(.toolbar-dialogs)'],action:{type:'encapsulate',options:{pre:"{| class=\"wikitable\" border=\"1\"\n|",periMsg:'wikieditor-toolbar-tool-table-example-old',post:"\n|}",ownline:true}}},'newline':{labelMsg:'wikieditor-toolbar-tool-newline',type:'button',icon:'insert-newline.png',action:{type:'encapsulate',options:{pre:"<br />\n"}}}}},'search':{tools:{'replace':{labelMsg:'wikieditor-toolbar-tool-replace',type:'button',icon:'search-replace.png',filters:['#wpTextbox1.toolbar-dialogs'],action:{type:'dialog',module:'search-and-replace'}}}}}},'characters':{labelMsg:'wikieditor-toolbar-section-characters',type:'booklet',pages:{'latin':{'labelMsg':'wikieditor-toolbar-characters-page-latin','layout':'characters','characters':["\u00c1","\u00e1","\u00c0","\u00e0","\u00c2","\u00e2","\u00c4","\u00e4","\u00c3","\u00e3","\u01cd","\u01ce","\u0100","\u0101","\u0102","\u0103","\u0104","\u0105","\u00c5","\u00e5","\u0106","\u0107","\u0108","\u0109","\u00c7","\u00e7","\u010c","\u010d","\u010a","\u010b","\u0110","\u0111","\u010e","\u010f","\u00c9","\u00e9","\u00c8","\u00e8","\u00ca","\u00ea","\u00cb","\u00eb","\u011a","\u011b","\u0112","\u0113","\u0114","\u0115","\u0116","\u0117","\u0118","\u0119","\u011c","\u011d","\u0122","\u0123","\u011e","\u011f","\u0120","\u0121","\u0124","\u0125","\u0126","\u0127","\u00cd","\u00ed","\u00cc","\u00ec","\u00ce","\u00ee","\u00cf","\u00ef","\u0128","\u0129","\u01cf","\u01d0","\u012a","\u012b","\u012c","\u012d","\u0130","\u0131","\u012e","\u012f","\u0134","\u0135","\u0136","\u0137","\u0139","\u013a","\u013b","\u013c","\u013d","\u013e","\u0141","\u0142","\u013f","\u0140","\u0143","\u0144","\u00d1","\u00f1","\u0145","\u0146","\u0147","\u0148","\u00d3","\u00f3","\u00d2","\u00f2","\u00d4","\u00f4","\u00d6","\u00f6","\u00d5","\u00f5","\u01d1","\u01d2","\u014c","\u014d","\u014e","\u014f","\u01ea","\u01eb","\u0150","\u0151","\u0154","\u0155","\u0156","\u0157","\u0158","\u0159","\u015a","\u015b","\u015c","\u015d","\u015e","\u015f","\u0160","\u0161","\u0162","\u0163","\u0164","\u0165","\u00da","\u00fa","\u00d9","\u00f9","\u00db","\u00fb","\u00dc","\u00fc","\u0168","\u0169","\u016e","\u016f","\u01d3","\u01d4","\u016a","\u016b","\u01d6","\u01d8","\u01da","\u01dc","\u016c","\u016d","\u0172","\u0173","\u0170","\u0171","\u0174","\u0175","\u00dd","\u00fd","\u0176","\u0177","\u0178","\u00ff","\u0232","\u0233","\u0179","\u017a","\u017d","\u017e","\u017b","\u017c","\u00c6","\u00e6","\u01e2","\u01e3","\u00d8","\u00f8","\u0152","\u0153","\u00df","\u00f0","\u00de","\u00fe","\u018f","\u0259"]},'latinextended':{'labelMsg':'wikieditor-toolbar-characters-page-latinextended','layout':'characters','characters':["\u1e00","\u1e01","\u1e9a","\u1ea0","\u1ea1","\u1ea2","\u1ea3","\u1ea4","\u1ea5","\u1ea6","\u1ea7","\u1ea8","\u1ea9","\u1eaa","\u1eab","\u1eac","\u1ead","\u1eae","\u1eaf","\u1eb0","\u1eb1","\u1eb2","\u1eb3","\u1eb4","\u1eb5","\u1eb6","\u1eb7","\u1e02","\u1e03","\u1e04","\u1e05","\u1e06","\u1e07","\u1e08","\u1e09","\u1e0a","\u1e0b","\u1e0c","\u1e0d","\u1e0e","\u1e0f","\u1e10","\u1e11","\u1e12","\u1e13","\u1e14","\u1e15","\u1e16","\u1e17","\u1e18","\u1e19","\u1e1a","\u1e1b","\u1e1c","\u1e1d","\u1eb8","\u1eb9","\u1eba","\u1ebb","\u1ebc","\u1ebd","\u1ebe","\u1ebf","\u1ec0","\u1ec1","\u1ec2","\u1ec3","\u1ec4","\u1ec5","\u1ec6","\u1ec7","\u1e1e","\u1e1f","\u1e20","\u1e21","\u1e22","\u1e23","\u1e24","\u1e25","\u1e26","\u1e27","\u1e28","\u1e29","\u1e2a","\u1e2b","\u1e96","\u1e2c","\u1e2d","\u1e2e","\u1e2f","\u1ec8","\u1ec9","\u1eca","\u1ecb","\u1e30","\u1e31","\u1e32","\u1e33","\u1e34","\u1e35","\u1e36","\u1e37","\u1e38","\u1e39","\u1e3a","\u1e3b","\u1e3c","\u1e3d","\u1efa","\u1efb","\u1e3e","\u1e3f","\u1e40","\u1e41","\u1e42","\u1e43","\u1e44","\u1e45","\u1e46","\u1e47","\u1e48","\u1e49","\u1e4a","\u1e4b","\u1e4c","\u1e4d","\u1e4e","\u1e4f","\u1e50","\u1e51","\u1e52","\u1e53","\u1ecc","\u1ecd","\u1ece","\u1ecf","\u1ed0","\u1ed1","\u1ed2","\u1ed3","\u1ed4","\u1ed5","\u1ed6","\u1ed7","\u1ed8","\u1ed9","\u1eda","\u1edb","\u1edc","\u1edd","\u1ede","\u1edf","\u1ee0","\u1ee1","\u1ee2","\u1ee3","\u1e54","\u1e55","\u1e56","\u1e57","\u1e58","\u1e59","\u1e5a","\u1e5b","\u1e5c","\u1e5d","\u1e5e","\u1e5f","\u1e60","\u1e61","\u1e9b","\u1e62","\u1e63","\u1e64","\u1e65","\u1e66","\u1e67","\u1e68","\u1e69","\u1e9c","\u1e9d","\u1e6a","\u1e6b","\u1e6c","\u1e6d","\u1e6e","\u1e6f","\u1e70","\u1e71","\u1e97","\u1e72","\u1e73","\u1e74","\u1e75","\u1e76","\u1e77","\u1e78","\u1e79","\u1e7a","\u1e7b","\u1ee4","\u1ee5","\u1ee6","\u1ee7","\u1ee8","\u1ee9","\u1eea","\u1eeb","\u1eec","\u1eed","\u1eee","\u1eef","\u1ef0","\u1ef1","\u1e7c","\u1e7d","\u1e7e","\u1e7f","\u1efc","\u1efd","\u1e80","\u1e81","\u1e82","\u1e83","\u1e84","\u1e85","\u1e86","\u1e87","\u1e88","\u1e89","\u1e98","\u1e8a","\u1e8b","\u1e8c","\u1e8d","\u1e8e","\u1e8f","\u1e99","\u1ef2","\u1ef3","\u1ef4","\u1ef5","\u1ef6","\u1ef7","\u1ef8","\u1ef9","\u1efe","\u1eff","\u1e90","\u1e91","\u1e92","\u1e93","\u1e94","\u1e95","\u1e9e","\u1e9f"]},'ipa':{labelMsg:'wikieditor-toolbar-characters-page-ipa',layout:'characters',characters:["p","t\u032a","t","\u0288","c","k","q","\u02a1","\u0294","b","d\u032a","d","\u0256","\u025f","\u0261","\u0262","\u0253","\u0257","\u0284","\u0260","\u029b","t\u0361s","t\u0361\u0283","t\u0361\u0255","d\u0361z","d\u0361\u0292","d\u0361\u0291","\u0278","f","\u03b8","s","\u0283","\u0285","\u0286","\u0282","\u0255","\u00e7","\u0267","x","\u03c7","\u0127","\u029c","h","\u03b2","v","\u028d","\u00f0","z","\u0292","\u0293","\u0290","\u0291","\u029d","\u0263","\u0281","\u0295","\u0296","\u02a2","\u0266","\u026c","\u026e","m","m\u0329","\u0271","\u0271\u0329","\u0271\u030d","n\u032a","n\u032a\u030d","n","n\u0329","\u0273","\u0273\u0329","\u0272","\u0272\u0329","\u014b","\u014b\u030d","\u014b\u0329","\u0274","\u0274\u0329","\u0299","\u0299\u0329","r","r\u0329","\u0280","\u0280\u0329","\u027e","\u027d","\u027f","\u027a","l\u032a","l\u032a\u0329","l","l\u0329","\u026b","\u026b\u0329","\u026d","\u026d\u0329","\u028e","\u028e\u0329","\u029f","\u029f\u0329","w","\u0265","\u028b","\u0279","\u027b","j","\u0270","\u0298","\u01c2","\u01c0","!","\u01c1","\u02b0","\u02b1","\u02b7","\u02b8","\u02b2","\u02b3","\u207f","\u02e1","\u02b4","\u02b5","\u02e2","\u02e3","\u02e0","\u02b6","\u02e4","\u02c1","\u02c0","\u02bc","i","i\u032f","\u0129","y","y\u032f","\u1ef9","\u026a","\u026a\u032f","\u026a\u0303","\u028f","\u028f\u032f","\u028f\u0303","\u0268","\u0268\u032f","\u0268\u0303","\u0289","\u0289\u032f","\u0289\u0303","\u026f","\u026f\u032f","\u026f\u0303","u","u\u032f","\u0169","\u028a","\u028a\u032f","\u028a\u0303","e","e\u032f","\u1ebd","\u00f8","\u00f8\u032f","\u00f8\u0303","\u0258","\u0258\u032f","\u0258\u0303","\u0275","\u0275\u032f","\u0275\u0303","\u0264","\u0264\u032f","\u0264\u0303","o","o\u032f","\u00f5","\u025b","\u025b\u032f","\u025b\u0303","\u0153","\u0153\u032f","\u0153\u0303","\u025c","\u025c\u032f","\u025c\u0303","\u0259","\u0259\u032f","\u0259\u0303","\u025e","\u025e\u032f","\u025e\u0303","\u028c","\u028c\u032f","\u028c\u0303","\u0254","\u0254\u032f","\u0254\u0303","\u00e6","\u00e6\u032f","\u00e6\u0303","\u0276","\u0276\u032f","\u0276\u0303","a","a\u032f","\u00e3","\u0250","\u0250\u032f","\u0250\u0303","\u0251","\u0251\u032f","\u0251\u0303","\u0252","\u0252\u032f","\u0252\u0303","\u02c8","\u02cc","\u02d0","\u02d1","\u02d8",".","\u203f","|","\u2016"]},'symbols':{'labelMsg':'wikieditor-toolbar-characters-page-symbols','layout':'characters','characters':["~","|","\u00a1","\u00bf","\u2020","\u2021","\u2194","\u2191","\u2193","\u2022","\u00b6","#","\u00bd","\u2153","\u2154","\u00bc","\u00be","\u215b","\u215c","\u215d","\u215e","\u221e","\u2018","\u201e","\u201c","\u2019","\u201d",{'label':"\u00ab\u00bb",'action':{'type':'encapsulate','options':{'pre':"\u00ab",'post':"\u00bb"}}},"\u00a4","\u20b3","\u0e3f","\u20b5","\u00a2","\u20a1","\u20a2","$","\u20ab","\u20af","\u20ac","\u20a0","\u20a3","\u0192","\u20b4","\u20ad","\u20a4","\u2133","\u20a5","\u20a6","\u2116","\u20a7","\u20b0","\u00a3","\u17db","\u20a8","\u20aa","\u09f3","\u20ae","\u20a9","\u00a5","\u2660","\u2663","\u2665","\u2666","m\u00b2","m\u00b3","\u2013","\u2014","\u2026","\u2018","\u201c","\u2019","\u201d","\u00b0","\u2033","\u2032","\u2248","\u2260","\u2264","\u2265","\u00b1","\u2212","\u00d7","\u00f7","\u2190","\u2192","\u00b7","\u00a7"]},'greek':{'labelMsg':'wikieditor-toolbar-characters-page-greek','layout':'characters','language':'hl','characters':["\u0391","\u0386","\u03b1","\u03ac","\u0392","\u03b2","\u0393","\u03b3","\u0394","\u03b4","\u0395","\u0388","\u03b5","\u03ad","\u0396","\u03b6","\u0397","\u0389","\u03b7","\u03ae","\u0398","\u03b8","\u0399","\u038a","\u03b9","\u03af","\u039a","\u03ba","\u039b","\u03bb","\u039c","\u03bc","\u039d","\u03bd","\u039e","\u03be","\u039f","\u038c","\u03bf","\u03cc","\u03a0","\u03c0","\u03a1","\u03c1","\u03a3","\u03c3","\u03c2","\u03a4","\u03c4","\u03a5","\u038e","\u03c5","\u03cd","\u03a6","\u03c6","\u03a7","\u03c7","\u03a8","\u03c8","\u03a9","\u038f","\u03c9","\u03ce"]},'cyrillic':{'labelMsg':'wikieditor-toolbar-characters-page-cyrillic','layout':'characters','characters':["\u0410","\u0430","\u04d8","\u04d9","\u0411","\u0431","\u0412","\u0432","\u0413","\u0433","\u0490","\u0491","\u0403","\u0453","\u0492","\u0493","\u0414","\u0434","\u0402","\u0452","\u0415","\u0435","\u0404","\u0454","\u0401","\u0451","\u0416","\u0436","\u0417","\u0437","\u0405","\u0455","\u0418","\u0438","\u0406","\u0456","\u0407","\u0457","\u0130","\u0419","\u0439","\u04e2","\u04e3","\u0408","\u0458","\u041a","\u043a","\u040c","\u045c","\u049a","\u049b","\u041b","\u043b","\u0409","\u0459","\u041c","\u043c","\u041d","\u043d","\u040a","\u045a","\u04a2","\u04a3","\u041e","\u043e","\u04e8","\u04e9","\u041f","\u043f","\u0420","\u0440","\u0421","\u0441","\u0422","\u0442","\u040b","\u045b","\u0423","\u0443","\u040e","\u045e","\u04ee","\u04ef","\u04b0","\u04b1","\u04ae","\u04af","\u0424","\u0444","\u0425","\u0445","\u04b2","\u04b3","\u04ba","\u04bb","\u0426","\u0446","\u0427","\u0447","\u04b6","\u04b7","\u040f","\u045f","\u0428","\u0448","\u0429","\u0449","\u042a","\u044a","\u042b","\u044b","\u042c","\u044c","\u042d","\u044d","\u042e","\u044e","\u042f","\u044f"]},'arabic':{'labelMsg':'wikieditor-toolbar-characters-page-arabic','layout':'characters','language':'ar','direction':'rtl','characters':["\u061b","\u061f","\u0621","\u0622","\u0623","\u0624","\u0625","\u0626","\u0627","\u0628","\u0629","\u062a","\u062b","\u062c","\u062d","\u062e","\u062f","\u0630","\u0631","\u0632","\u0633","\u0634","\u0635","\u0636","\u0637","\u0638","\u0639","\u063a","\u0641","\u0642","\u0643","\u0644","\u0645","\u0646","\u0647","\u0648","\u0649","\u064a","\u060c","\u067e","\u0686","\u0698","\u06af","\u06ad"]},'hebrew':{'labelMsg':'wikieditor-toolbar-characters-page-hebrew','layout':'characters','direction':'rtl','characters':["\u05d0","\u05d1","\u05d2","\u05d3","\u05d4","\u05d5","\u05d6","\u05d7","\u05d8","\u05d9","\u05db","\u05da","\u05dc","\u05de","\u05dd","\u05e0","\u05df","\u05e1","\u05e2","\u05e4","\u05e3","\u05e6","\u05e5","\u05e7","\u05e8","\u05e9","\u05ea","\u05f3","\u05f4","\u05f0","\u05f1","\u05f2","\u05d0","\u05d3","\u05d4","\u05d5","\u05d6","\u05d7","\u05d8","\u05d9","\u05da","\u05db","\u05dc","\u05dd","\u05de","\u05df","\u05e0","\u05e1","\u05e2","\u05e3","\u05e4","\u05be","\u05f3","\u05f4",["\u05b0\u25cc","\u05b0"],["\u05b1\u25cc","\u05b1"],["\u05b2\u25cc","\u05b2"],["\u05b3\u25cc","\u05b3"],["\u05b4\u25cc","\u05b4"],["\u05b5\u25cc","\u05b5"],["\u05b6\u25cc","\u05b6"],["\u05b7\u25cc","\u05b7"],["\u05b8\u25cc","\u05b8"],["\u05b9\u25cc","\u05b9"],["\u05bb\u25cc","\u05bb"],["\u05bc\u25cc","\u05bc"],["\u05c1\u25cc","\u05c1"],["\u05c2\u25cc","\u05c2"],["\u05c7\u25cc","\u05c7"],["\u0591\u25cc","\u0591"],["\u0592\u25cc","\u0592"],["\u0593\u25cc","\u0593"],["\u0594\u25cc","\u0594"],["\u0595\u25cc","\u0595"],["\u0596\u25cc","\u0596"],["\u0597\u25cc","\u0597"],["\u0598\u25cc","\u0598"],["\u0599\u25cc","\u0599"],["\u059a\u25cc","\u059a"],["\u059b\u25cc","\u059b"],["\u059c\u25cc","\u059c"],["\u059d\u25cc","\u059d"],["\u059e\u25cc","\u059e"],["\u059f\u25cc","\u059f"],["\u05a0\u25cc","\u05a0"],["\u05a1\u25cc","\u05a1"],["\u05a2\u25cc","\u05a2"],["\u05a3\u25cc","\u05a3"],["\u05a4\u25cc","\u05a4"],["\u05a5\u25cc","\u05a5"],["\u05a6\u25cc","\u05a6"],["\u05a7\u25cc","\u05a7"],["\u05a8\u25cc","\u05a8"],["\u05a9\u25cc","\u05a9"],["\u05aa\u25cc","\u05aa"],["\u05ab\u25cc","\u05ab"],["\u05ac\u25cc","\u05ac"],["\u05ad\u25cc","\u05ad"],["\u05ae\u25cc","\u05ae"],["\u05af\u25cc","\u05af"],["\u05bf\u25cc","\u05bf"],["\u05c0\u25cc","\u05c0"],["\u05c3\u25cc","\u05c3"]]},'telugu':{'labelMsg':'wikieditor-toolbar-characters-page-telugu','language':'te','layout':'characters','characters':["\u0c01","\u0c02","\u0c03","\u0c05","\u0c06","\u0c07","\u0c08","\u0c09","\u0c0a","\u0c0b","\u0c60","\u0c0c","\u0c61","\u0c0e","\u0c0f","\u0c10","\u0c12","\u0c13","\u0c14","\u0c15","\u0c16","\u0c17","\u0c18","\u0c19","\u0c1a","\u0c1b","\u0c1c","\u0c1d","\u0c1e","\u0c1f","\u0c20","\u0c21","\u0c22","\u0c23","\u0c24","\u0c25","\u0c26","\u0c27","\u0c28","\u0c2a","\u0c2b","\u0c2c","\u0c2d","\u0c2e","\u0c2f","\u0c30","\u0c31","\u0c32","\u0c33","\u0c35","\u0c36","\u0c37","\u0c38","\u0c39","\u0c3e","\u0c3f","\u0c40","\u0c41","\u0c42","\u0c43","\u0c44","\u0c46","\u0c47","\u0c48","\u0c4a","\u0c4b","\u0c4c","\u0c4d","\u0c62","\u0c63","\u0c58","\u0c59","\u0c66","\u0c67","\u0c68","\u0c69","\u0c6a","\u0c6b","\u0c6c","\u0c6d","\u0c6e","\u0c6f","\u0c3d","\u0c78","\u0c79","\u0c7a","\u0c7b","\u0c7c","\u0c7d","\u0c7e","\u0c7f"]},'sinhala':{'labelMsg':'wikieditor-toolbar-characters-page-sinhala','language':'si','layout':'characters','characters':["\u0d85","\u0d86","\u0d87","\u0d88","\u0d89","\u0d8a","\u0d8b","\u0d8c","\u0d8d","\u0d8e","\u0d8f","\u0d90","\u0d91","\u0d92","\u0d93","\u0d94","\u0d95","\u0d96","\u0d9a","\u0d9b","\u0d9c","\u0d9d","\u0d9e","\u0d9f","\u0da0","\u0da1","\u0da2","\u0da3","\u0da4","\u0da5","\u0da6","\u0da7","\u0da8","\u0da9","\u0daa","\u0dab","\u0dac","\u0dad","\u0dae","\u0daf","\u0db0","\u0db1","\u0db3","\u0db4","\u0db5","\u0db6","\u0db7","\u0db8","\u0db9","\u0dba","\u0dbb","\u0dbd","\u0dc0","\u0dc1","\u0dc2","\u0dc3","\u0dc4","\u0dc5","\u0dc6",["\u25cc\u0dcf","\u0dcf"],["\u25cc\u0dd0","\u0dd0"],["\u25cc\u0dd1","\u0dd1"],["\u25cc\u0dd2","\u0dd2"],["\u25cc\u0dd3","\u0dd3"],["\u25cc\u0dd4","\u0dd4"],["\u25cc\u0dd6","\u0dd6"],["\u25cc\u0dd8","\u0dd8"],["\u25cc\u0df2","\u0df2"],["\u25cc\u0ddf","\u0ddf"],["\u25cc\u0df3","\u0df3"],["\u25cc\u0dd9","\u0dd9"],["\u25cc\u0dda","\u0dda"],["\u25cc\u0ddc","\u0ddc"],["\u25cc\u0ddd","\u0ddd"],["\u25cc\u0dde","\u0dde"],["\u25cc\u0dca","\u0dca"]]},'gujarati':{'labelMsg':'wikieditor-toolbar-characters-page-gujarati','language':'gu','layout':'characters','characters':["\u0ad0","\u0a85","\u0a86","\u0a87","\u0a88","\u0a89","\u0a8a","\u0a8b","\u0ae0","\u0a8c","\u0ae1","\u0a8d","\u0a8f","\u0a90","\u0a91","\u0a93","\u0a94","\u0a95","\u0a96","\u0a97","\u0a98","\u0a99","\u0a9a","\u0a9b","\u0a9c","\u0a9d","\u0a9e","\u0a9f","\u0aa0","\u0aa1","\u0aa2","\u0aa3","\u0aa4","\u0aa5","\u0aa6","\u0aa7","\u0aa8","\u0aaa","\u0aab","\u0aac","\u0aad","\u0aae","\u0aaf","\u0ab0","\u0ab2","\u0ab5","\u0ab6","\u0ab7","\u0ab8","\u0ab9","\u0ab3","\u0abd",["\u25cc\u0abe","\u0abe"],["\u25cc\u0abf","\u0abf"],["\u25cc\u0ac0","\u0ac0"],["\u25cc\u0ac1","\u0ac1"],["\u25cc\u0ac2","\u0ac2"],["\u25cc\u0ac3","\u0ac3"],["\u25cc\u0ac4","\u0ac4"],["\u25cc\u0ae2","\u0ae2"],["\u25cc\u0ae3","\u0ae3"],["\u25cc\u0ac5","\u0ac5"],["\u25cc\u0ac7","\u0ac7"],["\u25cc\u0ac8","\u0ac8"],["\u25cc\u0ac9","\u0ac9"],["\u25cc\u0acb","\u0acb"],["\u25cc\u0acc","\u0acc"],["\u25cc\u0acd","\u0acd"]]}}},'help':{labelMsg:'wikieditor-toolbar-section-help',type:'booklet',pages:{'format':{labelMsg:'wikieditor-toolbar-help-page-format',layout:'table',headings:[{textMsg:'wikieditor-toolbar-help-heading-description'},{textMsg:'wikieditor-toolbar-help-heading-syntax'},{textMsg:'wikieditor-toolbar-help-heading-result'}],rows:[{'description':{htmlMsg:'wikieditor-toolbar-help-content-italic-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-italic-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-italic-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-bold-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-bold-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-bold-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-bolditalic-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-bolditalic-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-bolditalic-result'}}]},'link':{labelMsg:'wikieditor-toolbar-help-page-link',layout:'table',headings:[{textMsg:'wikieditor-toolbar-help-heading-description'},{textMsg:'wikieditor-toolbar-help-heading-syntax'},{textMsg:'wikieditor-toolbar-help-heading-result'}],rows:[{'description':{htmlMsg:'wikieditor-toolbar-help-content-ilink-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-ilink-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-ilink-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-xlink-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-xlink-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-xlink-result'}}]},'heading':{labelMsg:'wikieditor-toolbar-help-page-heading',layout:'table',headings:[{textMsg:'wikieditor-toolbar-help-heading-description'},{textMsg:'wikieditor-toolbar-help-heading-syntax'},{textMsg:'wikieditor-toolbar-help-heading-result'}],rows:[{'description':{htmlMsg:'wikieditor-toolbar-help-content-heading1-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-heading1-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-heading1-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-heading2-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-heading2-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-heading2-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-heading3-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-heading3-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-heading3-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-heading4-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-heading4-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-heading4-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-heading5-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-heading5-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-heading5-result'}}]},'list':{labelMsg:'wikieditor-toolbar-help-page-list',layout:'table',headings:[{textMsg:'wikieditor-toolbar-help-heading-description'},{textMsg:'wikieditor-toolbar-help-heading-syntax'},{textMsg:'wikieditor-toolbar-help-heading-result'}],rows:[{'description':{htmlMsg:'wikieditor-toolbar-help-content-ulist-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-ulist-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-ulist-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-olist-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-olist-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-olist-result'}}]},'file':{labelMsg:'wikieditor-toolbar-help-page-file',layout:'table',headings:[{textMsg:'wikieditor-toolbar-help-heading-description'},{textMsg:'wikieditor-toolbar-help-heading-syntax'},{textMsg:'wikieditor-toolbar-help-heading-result'}],rows:[{'description':{htmlMsg:'wikieditor-toolbar-help-content-file-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-file-syntax'},'result':{htmlMsg:['wikieditor-toolbar-help-content-file-result',stylepath]}}]},'reference':{labelMsg:'wikieditor-toolbar-help-page-reference',layout:'table',headings:[{textMsg:'wikieditor-toolbar-help-heading-description'},{textMsg:'wikieditor-toolbar-help-heading-syntax'},{textMsg:'wikieditor-toolbar-help-heading-result'}],rows:[{'description':{htmlMsg:'wikieditor-toolbar-help-content-reference-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-reference-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-reference-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-rereference-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-rereference-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-rereference-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-showreferences-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-showreferences-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-showreferences-result'}}]},'discussion':{labelMsg:'wikieditor-toolbar-help-page-discussion',layout:'table',headings:[{textMsg:'wikieditor-toolbar-help-heading-description'},{textMsg:'wikieditor-toolbar-help-heading-syntax'},{textMsg:'wikieditor-toolbar-help-heading-result'}],rows:[{'description':{htmlMsg:'wikieditor-toolbar-help-content-signaturetimestamp-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-signaturetimestamp-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-signaturetimestamp-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-signature-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-signature-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-signature-result'}},{'description':{htmlMsg:'wikieditor-toolbar-help-content-indent-description'},'syntax':{htmlMsg:'wikieditor-toolbar-help-content-indent-syntax'},'result':{htmlMsg:'wikieditor-toolbar-help-content-indent-result'}}]}}}},'dialogs':{'insert-link':{titleMsg:'wikieditor-toolbar-tool-link-title',id:'wikieditor-toolbar-link-dialog',html:'\ |
10 | 10 | <fieldset>\ |
— | — | @@ -175,5 +175,5 @@ |
176 | 176 | s=s.substr(index+match[i].length);var start=index+offset;var end=start+match[i].length;var newEnd=start+replaceStr.length;$textarea.textSelection('setSelection',{'start':start,'end':end}).textSelection('encapsulateSelection',{'peri':replaceStr,'replace':true}).textSelection('setSelection',{'start':start,'end':newEnd});offset=newEnd;} |
177 | 177 | $j('#wikieditor-toolbar-replace-success').text(gM('wikieditor-toolbar-tool-replace-success',match.length)).show();$j(this).data('offset',0);}else{var start=match.index+offset;var end=start+match[0].length;var newEnd=start+replaceStr.length;$textarea.textSelection('setSelection',{'start':start,'end':end});if(mode=='replace'){$textarea.textSelection('encapsulateSelection',{'peri':replaceStr,'replace':true}).textSelection('setSelection',{'start':start,'end':newEnd});} |
178 | 178 | $textarea.textSelection('scrollToCaretPosition');$j(this).data('offset',mode=='replace'?newEnd:end);}});},dialog:{width:500,buttons:{'wikieditor-toolbar-tool-replace-button-findnext':function(e){$j(this).closest('.ui-dialog').data('dialogaction',e.target);$j(this).data('replaceCallback').call(this,'find');},'wikieditor-toolbar-tool-replace-button-replacenext':function(e){$j(this).closest('.ui-dialog').data('dialogaction',e.target);$j(this).data('replaceCallback').call(this,'replace');},'wikieditor-toolbar-tool-replace-button-replaceall':function(e){$j(this).closest('.ui-dialog').data('dialogaction',e.target);$j(this).data('replaceCallback').call(this,'replaceAll');},'wikieditor-toolbar-tool-replace-close':function(){$j(this).dialog('close');}},open:function(){$j(this).data('offset',0);$j('#wikieditor-toolbar-replace-search').focus();$j('#wikieditor-toolbar-replace-nomatch, #wikieditor-toolbar-replace-success, #wikieditor-toolbar-replace-emptysearch, #wikieditor-toolbar-replace-invalidregex').hide();if(!($j(this).data('onetimeonlystuff'))){$j(this).data('onetimeonlystuff',true);$j(this).closest('.ui-dialog').keypress(function(e){if((e.keyCode||e.which)==13){var button=$j(this).data('dialogaction')||$j(this).find('button:first');button.click();e.preventDefault();}});$j(this).closest('.ui-dialog').find('button').focus(function(){$j(this).closest('.ui-dialog').data('dialogaction',this);});} |
179 | | -var dialog=$j(this).closest('.ui-dialog');var that=this;$j($j(this).data('context').$iframe[0].contentWindow.document).bind('keypress.srdialog',function(e){if((e.keyCode||e.which)==13){var button=dialog.data('dialogaction')||dialog.find('button:first');button.click();e.preventDefault();}else if((e.keyCode||e.which)==27){$j(that).dialog('close');}});},close:function(){$j($j(this).data('context').$iframe[0].contentWindow.document).unbind('keypress.srdialog');$j(this).data('context').$iframe[0].contentWindow.focus();$j(this).closest('.ui-dialog').data('dialogaction',false);}}}}});}});mw.loadDone('wikiEditor.config.toolbar');mw.addMessages({"wikieditor-template-editor-preference":"Enable form-based editing of wiki templates"});mw.ready(function(){if(!wgWikiEditorEnabledModules.templateEditor){return true;} |
180 | | -if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule','templateEditor');}});mw.loadDone('wikiEditor.config.templateEditor'); |
\ No newline at end of file |
| 179 | +var dialog=$j(this).closest('.ui-dialog');var that=this;$j($j(this).data('context').$iframe[0].contentWindow.document).bind('keypress.srdialog',function(e){if((e.keyCode||e.which)==13){var button=dialog.data('dialogaction')||dialog.find('button:first');button.click();e.preventDefault();}else if((e.keyCode||e.which)==27){$j(that).dialog('close');}});},close:function(){$j($j(this).data('context').$iframe[0].contentWindow.document).unbind('keypress.srdialog');$j(this).data('context').$iframe[0].contentWindow.focus();$j(this).closest('.ui-dialog').data('dialogaction',false);}}}}});}});mw.ready(function(){if(!wgWikiEditorEnabledModules.templateEditor){return true;} |
| 180 | +if($j.fn.wikiEditor){$j('textarea#wpTextbox1').wikiEditor('addModule','templateEditor');}}); |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Toc/Toc.js |
— | — | @@ -1,11 +1,5 @@ |
2 | 2 | /* JavaScript for WikiEditor Toc module */ |
3 | 3 | |
4 | | -mw.addMessages({ |
5 | | - "wikieditor-toc-preference" : "Enable navigable table of contents", |
6 | | - "wikieditor-toc-show" : "Show contents", |
7 | | - "wikieditor-toc-hide" : "Hide contents" |
8 | | -}); |
9 | | - |
10 | 4 | mw.ready( function() { |
11 | 5 | // Check preferences for toolbar |
12 | 6 | if ( !wgWikiEditorPreferences || !( wgWikiEditorPreferences.toc && wgWikiEditorPreferences.toc.enable ) ) { |
— | — | @@ -17,5 +11,3 @@ |
18 | 12 | { 'toc' : { 'rtl' : ( $j( 'body' ).is( '.rtl' ) ) } } ); |
19 | 13 | } |
20 | 14 | }); |
21 | | - |
22 | | -mw.loadDone( 'wikiEditor.config.toc' ); |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Publish/Publish.js |
— | — | @@ -1,16 +1,5 @@ |
2 | 2 | /* JavaScript for WikiEditor Publish module */ |
3 | 3 | |
4 | | -mw.addMessages({ |
5 | | - "wikieditor-publish-preference" : "Enable step-by-step publishing", |
6 | | - "wikieditor-publish-button-publish" : "Publish", |
7 | | - "wikieditor-publish-button-cancel" : "Cancel", |
8 | | - "wikieditor-publish-dialog-title" : "Publish to {{SITENAME}}", |
9 | | - "wikieditor-publish-dialog-summary" : "Edit summary (briefly describe the changes you have made):", |
10 | | - "wikieditor-publish-dialog-minor" : "Minor edit", |
11 | | - "wikieditor-publish-dialog-watch" : "Watch this page", |
12 | | - "wikieditor-publish-dialog-publish" : "Publish", |
13 | | - "wikieditor-publish-dialog-goback" : "Go back" |
14 | | -}); |
15 | 4 | mw.ready( function() { |
16 | 5 | // Check preferences for publish |
17 | 6 | if ( !wgWikiEditorEnabledModules.publish ) { |
— | — | @@ -21,5 +10,3 @@ |
22 | 11 | $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'publish' ); |
23 | 12 | } |
24 | 13 | }); |
25 | | - |
26 | | -mw.loadDone( 'wikiEditor.config.publish' ); |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Highlight/Highlight.js |
— | — | @@ -1,9 +1,5 @@ |
2 | 2 | /* JavaScript for WikiEditor Highlight module */ |
3 | 3 | |
4 | | -mw.addMessages({ |
5 | | - "wikieditor-highlight-preference" : "Enable syntax highlighting when editing" |
6 | | -}); |
7 | | - |
8 | 4 | mw.ready( function() { |
9 | 5 | // Check preferences for highlight |
10 | 6 | if ( !wgWikiEditorEnabledModules.highlight ) { |
— | — | @@ -14,5 +10,3 @@ |
15 | 11 | $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'highlight' ); |
16 | 12 | } |
17 | 13 | }); |
18 | | - |
19 | | -mw.loadDone( 'wikiEditor.config.highlight' ); |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Preview/Preview.js |
— | — | @@ -1,11 +1,5 @@ |
2 | 2 | /* JavaScript for WikiEditor Preview module */ |
3 | 3 | |
4 | | -mw.addMessages({ |
5 | | - "wikieditor-preview-preference" : "Enable side-by-side preview", |
6 | | - "wikieditor-preview-tab" : "Preview", |
7 | | - "wikieditor-preview-changes-tab" : "Changes", |
8 | | - "wikieditor-preview-loading" : "Loading..." |
9 | | -}); |
10 | 4 | mw.ready( function() { |
11 | 5 | // Check preferences for preview |
12 | 6 | if ( !wgWikiEditorEnabledModules.preview ) { |
— | — | @@ -16,5 +10,3 @@ |
17 | 11 | $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'preview' ); |
18 | 12 | } |
19 | 13 | }); |
20 | | - |
21 | | -mw.loadDone( 'wikiEditor.config.preview' ); |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/Modules/TemplateEditor/TemplateEditor.js |
— | — | @@ -1,9 +1,5 @@ |
2 | 2 | /* JavaScript for WikiEditor Template Editor module */ |
3 | 3 | |
4 | | -mw.addMessages({ |
5 | | - "wikieditor-template-editor-preference": "Enable form-based editing of wiki templates" |
6 | | -}); |
7 | | - |
8 | 4 | mw.ready( function() { |
9 | 5 | // Check preferences for templateEditor |
10 | 6 | if ( !wgWikiEditorEnabledModules.templateEditor ) { |
— | — | @@ -14,5 +10,3 @@ |
15 | 11 | $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'templateEditor' ); |
16 | 12 | } |
17 | 13 | }); |
18 | | - |
19 | | -mw.loadDone( 'wikiEditor.config.templateEditor' ); |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Toolbar/Toolbar.js |
— | — | @@ -1,190 +1,5 @@ |
2 | 2 | /* JavaScript for WikiEditor Toolbar module */ |
3 | 3 | |
4 | | -mw.addMessages({ |
5 | | - "wikieditor-toolbar" : "Editing toolbar", |
6 | | - "wikieditor-toolbar-desc" : "Edit page toolbar with enhanced usability", |
7 | | - "wikieditor-toolbar-preference" : "Enable enhanced editing toolbar", |
8 | | - "wikieditor-toolbar-dialogs-preference" : "Enable dialogs for inserting links, tables and more", |
9 | | - "wikieditor-toolbar-loading" : "Loading...", |
10 | | - "wikieditor-toolbar-tool-bold" : "Bold", |
11 | | - "wikieditor-toolbar-tool-bold-example" : "Bold text", |
12 | | - "wikieditor-toolbar-tool-italic" : "Italic", |
13 | | - "wikieditor-toolbar-tool-italic-example" : "Italic text", |
14 | | - "wikieditor-toolbar-tool-ilink" : "Internal link", |
15 | | - "wikieditor-toolbar-tool-ilink-example" : "Link title", |
16 | | - "wikieditor-toolbar-tool-xlink" : "External link (remember http:// prefix)", |
17 | | - "wikieditor-toolbar-tool-xlink-example" : "http://www.example.com link title", |
18 | | - "wikieditor-toolbar-tool-link" : "Link", |
19 | | - "wikieditor-toolbar-tool-link-title" : "Insert link", |
20 | | - "wikieditor-toolbar-tool-link-int" : "To a wiki page", |
21 | | - "wikieditor-toolbar-tool-link-int-target" : "Target page or URL:", |
22 | | - "wikieditor-toolbar-tool-link-int-target-tooltip" : "Page Title or URL", |
23 | | - "wikieditor-toolbar-tool-link-int-text" : "Text to display:", |
24 | | - "wikieditor-toolbar-tool-link-int-text-tooltip" : "Text to be displayed", |
25 | | - "wikieditor-toolbar-tool-link-ext" : "To an external web page", |
26 | | - "wikieditor-toolbar-tool-link-ext-target" : "Link URL:", |
27 | | - "wikieditor-toolbar-tool-link-ext-text" : "Link text:", |
28 | | - "wikieditor-toolbar-tool-link-insert" : "Insert link", |
29 | | - "wikieditor-toolbar-tool-link-cancel" : "Cancel", |
30 | | - "wikieditor-toolbar-tool-link-int-target-status-exists" : "Page exists", |
31 | | - "wikieditor-toolbar-tool-link-int-target-status-notexists" : "Page does not exist", |
32 | | - "wikieditor-toolbar-tool-link-int-target-status-invalid" : "Invalid title", |
33 | | - "wikieditor-toolbar-tool-link-int-target-status-external" : "External link", |
34 | | - "wikieditor-toolbar-tool-link-int-target-status-loading" : "Checking page existence...", |
35 | | - "wikieditor-toolbar-tool-link-int-invalid" : "The title you specified is invalid.", |
36 | | - "wikieditor-toolbar-tool-link-lookslikeinternal" : "The URL you specified looks like it was intended as a link to another wiki page. Do you want to make it an internal link?", |
37 | | - "wikieditor-toolbar-tool-link-lookslikeinternal-int" : "Internal link", |
38 | | - "wikieditor-toolbar-tool-link-lookslikeinternal-ext" : "External link", |
39 | | - "wikieditor-toolbar-tool-link-empty" : "You did not enter anything to link to.", |
40 | | - "wikieditor-toolbar-tool-file" : "Embedded file", |
41 | | - "wikieditor-toolbar-tool-file-pre" : "$1{{ns:file}}:", |
42 | | - "wikieditor-toolbar-tool-file-example" : "Example.jpg", |
43 | | - "wikieditor-toolbar-tool-reference" : "Reference", |
44 | | - "wikieditor-toolbar-tool-reference-example" : "Insert footnote text here", |
45 | | - "wikieditor-toolbar-tool-signature" : "Signature and timestamp", |
46 | | - "wikieditor-toolbar-section-advanced" : "Advanced", |
47 | | - "wikieditor-toolbar-tool-heading" : "Heading", |
48 | | - "wikieditor-toolbar-tool-heading-1" : "Level 1", |
49 | | - "wikieditor-toolbar-tool-heading-2" : "Level 2", |
50 | | - "wikieditor-toolbar-tool-heading-3" : "Level 3", |
51 | | - "wikieditor-toolbar-tool-heading-4" : "Level 4", |
52 | | - "wikieditor-toolbar-tool-heading-5" : "Level 5", |
53 | | - "wikieditor-toolbar-tool-heading-example" : "Heading text", |
54 | | - "wikieditor-toolbar-group-list" : "List", |
55 | | - "wikieditor-toolbar-tool-ulist" : "Bulleted list", |
56 | | - "wikieditor-toolbar-tool-ulist-example" : "Bulleted list item", |
57 | | - "wikieditor-toolbar-tool-olist" : "Numbered list", |
58 | | - "wikieditor-toolbar-tool-olist-example" : "Numbered list item", |
59 | | - "wikieditor-toolbar-tool-indent" : "Indentation", |
60 | | - "wikieditor-toolbar-tool-indent-example" : "Indented line", |
61 | | - "wikieditor-toolbar-group-size" : "Size", |
62 | | - "wikieditor-toolbar-tool-big" : "Big", |
63 | | - "wikieditor-toolbar-tool-big-example" : "Big text", |
64 | | - "wikieditor-toolbar-tool-small" : "Small", |
65 | | - "wikieditor-toolbar-tool-small-example" : "Small text", |
66 | | - "wikieditor-toolbar-group-baseline" : "Baseline", |
67 | | - "wikieditor-toolbar-tool-superscript" : "Superscript", |
68 | | - "wikieditor-toolbar-tool-superscript-example" : "Superscript text", |
69 | | - "wikieditor-toolbar-tool-subscript" : "Subscript", |
70 | | - "wikieditor-toolbar-tool-subscript-example" : "Subscript text", |
71 | | - "wikieditor-toolbar-group-insert" : "Insert", |
72 | | - "wikieditor-toolbar-tool-gallery" : "Picture gallery", |
73 | | - "wikieditor-toolbar-tool-gallery-example" : "{{ns:file}}:Example.jpg|Caption1\n{{ns:file}}:Example.jpg|Caption2", |
74 | | - "wikieditor-toolbar-tool-newline" : "New line", |
75 | | - "wikieditor-toolbar-tool-table" : "Table", |
76 | | - "wikieditor-toolbar-tool-table-example-old" : "-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3", |
77 | | - "wikieditor-toolbar-tool-table-example-cell-text" : "Cell text", |
78 | | - "wikieditor-toolbar-tool-table-example-header" : "Header text", |
79 | | - "wikieditor-toolbar-tool-table-title" : "Insert table", |
80 | | - "wikieditor-toolbar-tool-table-dimensions-rows" : "Rows", |
81 | | - "wikieditor-toolbar-tool-table-dimensions-columns" : "Columns", |
82 | | - "wikieditor-toolbar-tool-table-dimensions-header" : "Add header row", |
83 | | - "wikieditor-toolbar-tool-table-wikitable" : "Style with borders", |
84 | | - "wikieditor-toolbar-tool-table-sortable" : "Make table sortable", |
85 | | - "wikieditor-toolbar-tool-table-example" : "Example", |
86 | | - "wikieditor-toolbar-tool-table-preview" : "Preview", |
87 | | - "wikieditor-toolbar-tool-table-insert" : "Insert", |
88 | | - "wikieditor-toolbar-tool-table-cancel" : "Cancel", |
89 | | - "wikieditor-toolbar-tool-table-example-text" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut nec purus diam. Sed aliquam imperdiet nunc quis lacinia. Donec rutrum consectetur placerat. Sed volutpat neque non purus faucibus id ultricies enim euismod.", |
90 | | - "wikieditor-toolbar-tool-table-toomany" : "Inserting a table with more than $1 cells is not possible with this dialog.", |
91 | | - "wikieditor-toolbar-tool-table-invalidnumber" : "You have not entered a valid number of rows or columns.", |
92 | | - "wikieditor-toolbar-tool-table-zero" : "You cannot insert a table with zero rows or columns.", |
93 | | - "wikieditor-toolbar-tool-replace" : "Search and replace", |
94 | | - "wikieditor-toolbar-tool-replace-title" : "Search and replace", |
95 | | - "wikieditor-toolbar-tool-replace-search" : "Search for:", |
96 | | - "wikieditor-toolbar-tool-replace-replace" : "Replace with:", |
97 | | - "wikieditor-toolbar-tool-replace-case" : "Match case", |
98 | | - "wikieditor-toolbar-tool-replace-regex" : "Treat search string as a regular expression", |
99 | | - "wikieditor-toolbar-tool-replace-button-findnext" : "Find next", |
100 | | - "wikieditor-toolbar-tool-replace-button-replacenext" : "Replace next", |
101 | | - "wikieditor-toolbar-tool-replace-button-replaceall" : "Replace all", |
102 | | - "wikieditor-toolbar-tool-replace-close" : "Cancel", |
103 | | - "wikieditor-toolbar-tool-replace-nomatch" : "Your search did not match anything.", |
104 | | - "wikieditor-toolbar-tool-replace-success" : "$1 replacement(s) made.", |
105 | | - "wikieditor-toolbar-tool-replace-emptysearch" : "You did not enter anything to search for.", |
106 | | - "wikieditor-toolbar-tool-replace-invalidregex" : "The regular expression you entered is invalid: $1", |
107 | | - "wikieditor-toolbar-section-characters" : "Special characters", |
108 | | - "wikieditor-toolbar-characters-page-latin" : "Latin", |
109 | | - "wikieditor-toolbar-characters-page-latinextended" : "Latin extended", |
110 | | - "wikieditor-toolbar-characters-page-ipa" : "IPA", |
111 | | - "wikieditor-toolbar-characters-page-symbols" : "Symbols", |
112 | | - "wikieditor-toolbar-characters-page-greek" : "Greek", |
113 | | - "wikieditor-toolbar-characters-page-cyrillic" : "Cyrillic", |
114 | | - "wikieditor-toolbar-characters-page-arabic" : "Arabic", |
115 | | - "wikieditor-toolbar-characters-page-hebrew" : "Hebrew", |
116 | | - "wikieditor-toolbar-characters-page-telugu" : "Telugu", |
117 | | - "wikieditor-toolbar-characters-page-sinhala" : "Sinhala", |
118 | | - "wikieditor-toolbar-characters-page-gujarati" : "Gujarati", |
119 | | - "wikieditor-toolbar-section-help" : "Help", |
120 | | - "wikieditor-toolbar-help-heading-description" : "Description", |
121 | | - "wikieditor-toolbar-help-heading-syntax" : "What you type", |
122 | | - "wikieditor-toolbar-help-heading-result" : "What you get", |
123 | | - "wikieditor-toolbar-help-page-format" : "Formatting", |
124 | | - "wikieditor-toolbar-help-page-link" : "Links", |
125 | | - "wikieditor-toolbar-help-page-heading" : "Headings", |
126 | | - "wikieditor-toolbar-help-page-list" : "Lists", |
127 | | - "wikieditor-toolbar-help-page-file" : "Files", |
128 | | - "wikieditor-toolbar-help-page-reference" : "References", |
129 | | - "wikieditor-toolbar-help-page-discussion" : "Discussion", |
130 | | - "wikieditor-toolbar-help-content-italic-description" : "Italic", |
131 | | - "wikieditor-toolbar-help-content-italic-syntax" : "''Italic text''", |
132 | | - "wikieditor-toolbar-help-content-italic-result" : "<em>Italic text</em>", |
133 | | - "wikieditor-toolbar-help-content-bold-description" : "Bold", |
134 | | - "wikieditor-toolbar-help-content-bold-syntax" : "'''Bold text'''", |
135 | | - "wikieditor-toolbar-help-content-bold-result" : "<strong>Bold text</strong>", |
136 | | - "wikieditor-toolbar-help-content-bolditalic-description" : "Bold & italic", |
137 | | - "wikieditor-toolbar-help-content-bolditalic-syntax" : "'''''Bold & italic text'''''", |
138 | | - "wikieditor-toolbar-help-content-bolditalic-result" : "<strong><em>Bold & italic text</em></strong>", |
139 | | - "wikieditor-toolbar-help-content-ilink-description" : "Internal link", |
140 | | - "wikieditor-toolbar-help-content-ilink-syntax" : "[[Page title|Link label]]<br />[[Page title]]", |
141 | | - "wikieditor-toolbar-help-content-ilink-result" : "<a href='#'>Link label</a><br /><a href='#'>Page title</a>", |
142 | | - "wikieditor-toolbar-help-content-xlink-description" : "External link", |
143 | | - "wikieditor-toolbar-help-content-xlink-syntax" : "[http://www.example.org Link label]<br />[http://www.example.org]<br />http://www.example.org", |
144 | | - "wikieditor-toolbar-help-content-xlink-result" : "<a href='#' class='external'>Link label</a><br /><a href='#' class='external autonumber'>[1]</a><br /><a href='#' class='external'>http://www.example.org</a>", |
145 | | - "wikieditor-toolbar-help-content-heading1-description" : "1st level heading", |
146 | | - "wikieditor-toolbar-help-content-heading1-syntax" : "= Heading text =", |
147 | | - "wikieditor-toolbar-help-content-heading1-result" : "<h1>Heading text</h1>", |
148 | | - "wikieditor-toolbar-help-content-heading2-description" : "2nd level heading", |
149 | | - "wikieditor-toolbar-help-content-heading2-syntax" : "== Heading text ==", |
150 | | - "wikieditor-toolbar-help-content-heading2-result" : "<h2>Heading text</h2>", |
151 | | - "wikieditor-toolbar-help-content-heading3-description" : "3rd level heading", |
152 | | - "wikieditor-toolbar-help-content-heading3-syntax" : "=== Heading text ===", |
153 | | - "wikieditor-toolbar-help-content-heading3-result" : "<h3>Heading text</h3>", |
154 | | - "wikieditor-toolbar-help-content-heading4-description" : "4th level heading", |
155 | | - "wikieditor-toolbar-help-content-heading4-syntax" : "==== Heading text ====", |
156 | | - "wikieditor-toolbar-help-content-heading4-result" : "<h4>Heading text</h4>", |
157 | | - "wikieditor-toolbar-help-content-heading5-description" : "5th level heading", |
158 | | - "wikieditor-toolbar-help-content-heading5-syntax" : "===== Heading text =====", |
159 | | - "wikieditor-toolbar-help-content-heading5-result" : "<h5>Heading text</h5>", |
160 | | - "wikieditor-toolbar-help-content-ulist-description" : "Bulleted list", |
161 | | - "wikieditor-toolbar-help-content-ulist-syntax" : "* List item<br />* List item", |
162 | | - "wikieditor-toolbar-help-content-ulist-result" : "<ul><li>List item</li><li>List item</li></ul>", |
163 | | - "wikieditor-toolbar-help-content-olist-description" : "Numbered list", |
164 | | - "wikieditor-toolbar-help-content-olist-syntax" : "# List item<br /># List item", |
165 | | - "wikieditor-toolbar-help-content-olist-result" : "<ol><li>List item</li><li>List item</li></ol>", |
166 | | - "wikieditor-toolbar-help-content-file-description" : "Embedded file", |
167 | | - "wikieditor-toolbar-help-content-file-syntax" : "[[{{ns:file}}:Example.png|thumb|Caption text]]", |
168 | | - "wikieditor-toolbar-help-content-file-result" : "<div style='width:104px;' class='thumbinner'><a title='Caption text' class='image' href='#'><img height='50' width='100' border='0' class='thumbimage' src='extensions/UsabilityInitiative/images/wikiEditor/toolbar/example-image.png' alt=''/></a><div class='thumbcaption'><div class='magnify'><a title='Enlarge' class='internal' href='#'><img height='11' width='15' alt='' src='$1/common/images/magnify-clip.png'/></a></div>Caption text</div></div>", |
169 | | - "wikieditor-toolbar-help-content-reference-description" : "Reference", |
170 | | - "wikieditor-toolbar-help-content-reference-syntax" : "Page text.<ref name=\"test\">[http://www.example.org Link text], additional text.</ref>", |
171 | | - "wikieditor-toolbar-help-content-reference-result" : "Page text.<sup><a href='#'>[1]</a></sup>", |
172 | | - "wikieditor-toolbar-help-content-rereference-description" : "Additional use of same reference", |
173 | | - "wikieditor-toolbar-help-content-rereference-syntax" : "<ref name=\"test\" />", |
174 | | - "wikieditor-toolbar-help-content-rereference-result" : "Page text.<sup><a href='#'>[1]</a></sup>", |
175 | | - "wikieditor-toolbar-help-content-showreferences-description" : "Display references", |
176 | | - "wikieditor-toolbar-help-content-showreferences-syntax" : "<references />", |
177 | | - "wikieditor-toolbar-help-content-showreferences-result" : "<ol class='references'><li id='cite_note-test-0'><b><a title='' href='#'>^</a></b> <a rel='nofollow' title='http://www.example.org' class='external text' href='#'>Link text</a>, additional text.</li></ol>", |
178 | | - "wikieditor-toolbar-help-content-signaturetimestamp-description" : "Signature with timestamp", |
179 | | - "wikieditor-toolbar-help-content-signaturetimestamp-syntax" : "~~~~", |
180 | | - "wikieditor-toolbar-help-content-signaturetimestamp-result" : "<a href='#' title='{{#special:mypage}}'>Username</a> (<a href='#' title='{{#special:mytalk}}'>talk</a>) 15:54, 10 June 2009 (UTC)", |
181 | | - "wikieditor-toolbar-help-content-signature-description" : "Signature", |
182 | | - "wikieditor-toolbar-help-content-signature-syntax" : "~~~", |
183 | | - "wikieditor-toolbar-help-content-signature-result" : "<a href='#' title='{{#special:mypage}}'>Username</a> (<a href='#' title='{{#special:mytalk}}'>talk</a>)", |
184 | | - "wikieditor-toolbar-help-content-indent-description" : "Indent", |
185 | | - "wikieditor-toolbar-help-content-indent-syntax" : "Normal text<br />:Indented text<br />::Indented text", |
186 | | - "wikieditor-toolbar-help-content-indent-result" : "Normal text<dl><dd>Indented text<dl><dd>Indented text</dd></dl></dd></dl>" |
187 | | -}); |
188 | | - |
189 | 4 | mw.ready( function() { |
190 | 5 | // Check preferences for toolbar |
191 | 6 | if ( !wgWikiEditorEnabledModules.toolbar ) { |
— | — | @@ -1879,4 +1694,3 @@ |
1880 | 1695 | |
1881 | 1696 | } } ); |
1882 | 1697 | |
1883 | | -mw.loadDone( 'wikiEditor.config.toolbar' ); |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.php |
— | — | @@ -49,9 +49,6 @@ |
50 | 50 | // Add Autoload Classes |
51 | 51 | $wgAutoloadClasses['WikiEditorHooks'] = dirname( __FILE__ ) . '/WikiEditor.hooks.php'; |
52 | 52 | |
53 | | -// Add javascript loader |
54 | | -$wgExtensionJavascriptLoader[] = "UsabilityInitiative/WikiEditor/loader.js"; |
55 | | - |
56 | 53 | // Add Internationalized Messages |
57 | 54 | $wgExtensionMessagesFiles['WikiEditor'] = dirname( __FILE__ ) . '/WikiEditor.i18n.php'; |
58 | 55 | $wgExtensionMessagesFiles['WikiEditorHighlight'] = dirname( __FILE__ ) . '/Modules/Highlight/Highlight.i18n.php'; |
Index: trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.hooks.php |
— | — | @@ -7,47 +7,23 @@ |
8 | 8 | */ |
9 | 9 | |
10 | 10 | class WikiEditorHooks { |
11 | | - |
| 11 | + |
12 | 12 | /* Static Members */ |
13 | | - |
| 13 | + |
14 | 14 | static $scripts = array( |
15 | 15 | 'raw' => array( |
16 | | - array( |
17 | | - 'src' => 'Modules/Highlight/Highlight.js', |
18 | | - 'class' => 'wikiEditor.config.highlight', |
19 | | - 'version' => 3 |
20 | | - ), |
21 | | - array( |
22 | | - 'src' => 'Modules/Preview/Preview.js', |
23 | | - 'class' => 'wikiEditor.config.preview', |
24 | | - 'version' => 4 |
25 | | - ), |
26 | | - array( |
27 | | - 'src' => 'Modules/Publish/Publish.js', |
28 | | - 'class' => 'wikiEditor.config.publish', |
29 | | - 'version' => 4 |
30 | | - ), |
31 | | - array( |
32 | | - 'src' => 'Modules/Toc/Toc.js', |
33 | | - 'class' => 'wikiEditor.config.toc', |
34 | | - 'version' => 5 |
35 | | - ), |
36 | | - array( |
37 | | - 'src' => 'Modules/Toolbar/Toolbar.js', |
38 | | - 'class' => 'wikiEditor.config.toolbar', |
39 | | - 'version' => 35 |
40 | | - ), |
41 | | - array( |
42 | | - 'src' => 'Modules/TemplateEditor/TemplateEditor.js', |
43 | | - 'class' => 'wikiEditor.config.templateEditor', |
44 | | - 'version' => 2 |
45 | | - ), |
| 16 | + array( 'src' => 'Modules/Highlight/Highlight.js', 'version' => 4 ), |
| 17 | + array( 'src' => 'Modules/Preview/Preview.js', 'version' => 5 ), |
| 18 | + array( 'src' => 'Modules/Publish/Publish.js', 'version' => 5 ), |
| 19 | + array( 'src' => 'Modules/Toc/Toc.js', 'version' => 6 ), |
| 20 | + array( 'src' => 'Modules/Toolbar/Toolbar.js', 'version' => 36 ), |
| 21 | + array( 'src' => 'Modules/TemplateEditor/TemplateEditor.js', 'version' => 3 ), |
46 | 22 | ), |
47 | 23 | 'combined' => array( |
48 | | - array( 'src' => 'WikiEditor.combined.js', 'version' => 37 ), |
| 24 | + array( 'src' => 'WikiEditor.combined.js', 'version' => 38 ), |
49 | 25 | ), |
50 | 26 | 'minified' => array( |
51 | | - array( 'src' => 'WikiEditor.combined.min.js', 'version' => 37 ), |
| 27 | + array( 'src' => 'WikiEditor.combined.min.js', 'version' => 38 ), |
52 | 28 | ), |
53 | 29 | ); |
54 | 30 | static $messages = array( |
— | — | @@ -357,22 +333,22 @@ |
358 | 334 | ), |
359 | 335 | ), |
360 | 336 | ); |
361 | | - |
| 337 | + |
362 | 338 | /* Static Functions */ |
363 | | - |
| 339 | + |
364 | 340 | /** |
365 | 341 | * From here down, with very little modification is a copy of what's found in Vector/Vector.hooks.php. |
366 | 342 | * Perhaps we could find a clean way of eliminating this redundancy. |
367 | 343 | */ |
368 | | - |
| 344 | + |
369 | 345 | /** |
370 | 346 | * EditPage::showEditForm:initial hook |
371 | 347 | * Adds the modules to the edit form |
372 | 348 | */ |
373 | 349 | public static function addModules( &$toolbar ) { |
374 | | - global $wgOut, $wgUser, $wgJsMimeType, $wgVersion; |
| 350 | + global $wgOut, $wgUser, $wgJsMimeType; |
375 | 351 | global $wgWikiEditorModules, $wgUsabilityInitiativeResourceMode; |
376 | | - |
| 352 | + |
377 | 353 | // Modules |
378 | 354 | $preferences = array(); |
379 | 355 | $enabledModules = array(); |
— | — | @@ -420,15 +396,9 @@ |
421 | 397 | UsabilityInitiativeHooks::addMessages( self::$messages ); |
422 | 398 | // Add all scripts |
423 | 399 | foreach ( self::$scripts[$wgUsabilityInitiativeResourceMode] as $script ) { |
424 | | - if ( !version_compare( floatval( $wgVersion ), '1.17', '>=') ) { |
425 | | - UsabilityInitiativeHooks::addScript( |
426 | | - basename( dirname( __FILE__ ) ) . '/' . $script['src'], $script['version'] |
427 | | - ); |
428 | | - continue; |
429 | | - } |
430 | | - if( isset( $script['class'] ) ){ |
431 | | - $wgOut->addScriptClass( $script['class'] ); |
432 | | - } |
| 400 | + UsabilityInitiativeHooks::addScript( |
| 401 | + basename( dirname( __FILE__ ) ) . '/' . $script['src'], $script['version'] |
| 402 | + ); |
433 | 403 | } |
434 | 404 | // Preferences (maybe the UsabilityInitiative class could do most of this for us?) |
435 | 405 | $wgOut->addScript( |
— | — | @@ -441,14 +411,14 @@ |
442 | 412 | ); |
443 | 413 | return true; |
444 | 414 | } |
445 | | - |
| 415 | + |
446 | 416 | /** |
447 | 417 | * GetPreferences hook |
448 | 418 | * Add module-releated items to the preferences |
449 | 419 | */ |
450 | 420 | public static function addPreferences( $user, &$defaultPreferences ) { |
451 | 421 | global $wgWikiEditorModules; |
452 | | - |
| 422 | + |
453 | 423 | foreach ( $wgWikiEditorModules as $module => $enable ) { |
454 | 424 | if ( ( $enable['global'] || $enable['user'] ) && |
455 | 425 | isset( self::$modules[$module]['i18n'] ) && |
— | — | @@ -458,7 +428,7 @@ |
459 | 429 | if ( $key == 'enable' && !$enable['user'] ) { |
460 | 430 | continue; |
461 | 431 | } |
462 | | - |
| 432 | + |
463 | 433 | // The preference with the key 'enable' determines if the rest are even relevant, so in the future |
464 | 434 | // setting up some dependencies on that might make sense |
465 | 435 | $defaultPreferences[$preference['key']] = $preference['ui']; |
Index: trunk/extensions/UsabilityInitiative/js/loader.js |
— | — | @@ -1,35 +0,0 @@ |
2 | | -/** |
3 | | -* mwEmbed module type loader for usability initiative |
4 | | -* This file is included as a "core" script on every page so should be kept small. |
5 | | -* |
6 | | -* loader.js defines: |
7 | | -* * all classes names and their paths |
8 | | -* * module loader functions |
9 | | -* |
10 | | -* loader.js files not in the core mwEmbed module folder must be defined in the global |
11 | | -* $wgJsModuleLoaderPaths[] = ", |
12 | | -*/ |
13 | | -// For non-script loader javascript path debugging |
14 | | -mw.setConfig('loaderContext', wgScriptPath + '/extensions/UsabilityInitiative/js/'); |
15 | | - |
16 | | -mw.addClassFilePaths({ |
17 | | - "$j.whileAsync" : "plugins/jquery.async.js", |
18 | | - "$j.fn.autoEllipsis" : "plugins/jquery.autoEllipsis.js", |
19 | | - "$j.browserTest" : "plugins/jquery.browser.js", |
20 | | - "$j.fn.collapsibleTabs" : "plugins/jquery.collapsibleTabs.js", |
21 | | - "$j.fn.delayedBind" : "plugins/jquery.delayedBind.js", |
22 | | - "inherit" : "plugins/jquery.inherit.js", |
23 | | - "$j.fn.namespaceSelector" : "plugins/jquery.namespaceSelect.js", |
24 | | - "$j.suggestions" : "plugins/jquery.suggestions.js", |
25 | | - "$j.wikiEditor" : "plugins/jquery.wikiEditor.js", |
26 | | - |
27 | | - "$j.wikiEditor.modules.highlight" : "plugins/jquery.wikiEditor.highlight.js", |
28 | | - "$j.wikiEditor.modules.toolbar" : "plugins/jquery.wikiEditor.toolbar.js", |
29 | | - "$j.wikiEditor.modules.dialogs" : "plugins/jquery.wikiEditor.dialogs.js", |
30 | | - "$j.wikiEditor.modules.toc" : "plugins/jquery.wikiEditor.toc.js", |
31 | | - "$j.wikiEditor.modules.preview" : "plugins/jquery.wikiEditor.preview.js", |
32 | | - "$j.wikiEditor.modules.templateEditor" : "plugins/jquery.wikiEditor.templateEditor.js", |
33 | | - "$j.wikiEditor.modules.publish" : "plugins/jquery.wikiEditor.publish.js" |
34 | | -} ); |
35 | | - |
36 | | - |
Index: trunk/extensions/UsabilityInitiative/js/plugins.combined.js |
— | — | @@ -6387,13 +6387,6 @@ |
6388 | 6388 | * $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'toolbar', { ... config ... } ); |
6389 | 6389 | * |
6390 | 6390 | */ |
6391 | | - |
6392 | | -mw.addMessages({ |
6393 | | - "wikieditor" : "Advanced wikitext editing interface", |
6394 | | - "wikieditor-desc" : "Provides an extendable wikitext editing interface and many feature-providing modules", |
6395 | | - "wikieditor-wikitext-tab" : "Wikitext" |
6396 | | -}); |
6397 | | - |
6398 | 6391 | ( function( $ ) { |
6399 | 6392 | |
6400 | 6393 | /** |
Index: trunk/extensions/UsabilityInitiative/js/js2stopgap/jquery.cookie.js |
— | — | @@ -1,97 +0,0 @@ |
2 | | -/** |
3 | | - * Cookie plugin |
4 | | - * |
5 | | - * Copyright (c) 2006 Klaus Hartl (stilbuero.de) |
6 | | - * Dual licensed under the MIT and GPL licenses: |
7 | | - * http://www.opensource.org/licenses/mit-license.php |
8 | | - * http://www.gnu.org/licenses/gpl.html |
9 | | - * |
10 | | - */ |
11 | | - |
12 | | -/** |
13 | | - * Create a cookie with the given name and value and other optional parameters. |
14 | | - * |
15 | | - * @example $.cookie('the_cookie', 'the_value'); |
16 | | - * @desc Set the value of a cookie. |
17 | | - * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); |
18 | | - * @desc Create a cookie with all available options. |
19 | | - * @example $.cookie('the_cookie', 'the_value'); |
20 | | - * @desc Create a session cookie. |
21 | | - * @example $.cookie('the_cookie', null); |
22 | | - * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain |
23 | | - * used when the cookie was set. |
24 | | - * |
25 | | - * @param String name The name of the cookie. |
26 | | - * @param String value The value of the cookie. |
27 | | - * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. |
28 | | - * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. |
29 | | - * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. |
30 | | - * If set to null or omitted, the cookie will be a session cookie and will not be retained |
31 | | - * when the the browser exits. |
32 | | - * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). |
33 | | - * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). |
34 | | - * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will |
35 | | - * require a secure protocol (like HTTPS). |
36 | | - * @type undefined |
37 | | - * |
38 | | - * @name $.cookie |
39 | | - * @cat Plugins/Cookie |
40 | | - * @author Klaus Hartl/klaus.hartl@stilbuero.de |
41 | | - */ |
42 | | - |
43 | | -/** |
44 | | - * Get the value of a cookie with the given name. |
45 | | - * |
46 | | - * @example $.cookie('the_cookie'); |
47 | | - * @desc Get the value of a cookie. |
48 | | - * |
49 | | - * @param String name The name of the cookie. |
50 | | - * @return The value of the cookie. |
51 | | - * @type String |
52 | | - * |
53 | | - * @name $.cookie |
54 | | - * @cat Plugins/Cookie |
55 | | - * @author Klaus Hartl/klaus.hartl@stilbuero.de |
56 | | - */ |
57 | | -jQuery.cookie = function(name, value, options) { |
58 | | - if (typeof value != 'undefined') { // name and value given, set cookie |
59 | | - options = options || {}; |
60 | | - if (value === null) { |
61 | | - value = ''; |
62 | | - options.expires = -1; |
63 | | - } |
64 | | - var expires = ''; |
65 | | - if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { |
66 | | - var date; |
67 | | - if (typeof options.expires == 'number') { |
68 | | - date = new Date(); |
69 | | - date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); |
70 | | - } else { |
71 | | - date = options.expires; |
72 | | - } |
73 | | - expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE |
74 | | - } |
75 | | - // CAUTION: Needed to parenthesize options.path and options.domain |
76 | | - // in the following expressions, otherwise they evaluate to undefined |
77 | | - // in the packed version for some reason... |
78 | | - var path = options.path ? '; path=' + (options.path) : ''; |
79 | | - var domain = options.domain ? '; domain=' + (options.domain) : ''; |
80 | | - var secure = options.secure ? '; secure' : ''; |
81 | | - document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); |
82 | | - } else { // only name given, get cookie |
83 | | - var cookieValue = null; |
84 | | - if (document.cookie && document.cookie != '') { |
85 | | - var cookies = document.cookie.split(';'); |
86 | | - for (var i = 0; i < cookies.length; i++) { |
87 | | - var cookie = jQuery.trim(cookies[i]); |
88 | | - // Does this cookie string begin with the name we want? |
89 | | - if (cookie.substring(0, name.length + 1) == (name + '=')) { |
90 | | - cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); |
91 | | - break; |
92 | | - } |
93 | | - } |
94 | | - } |
95 | | - return cookieValue; |
96 | | - } |
97 | | -}; |
98 | | - |
Index: trunk/extensions/UsabilityInitiative/js/js2stopgap/jquery.textSelection.js |
— | — | @@ -1,376 +0,0 @@ |
2 | | -/** |
3 | | - * These plugins provide extra functionality for interaction with textareas. |
4 | | - */ |
5 | | -( function( $ ) { |
6 | | -$.fn.textSelection = function( command, options ) { |
7 | | -var fn = { |
8 | | -/** |
9 | | - * Get the contents of the textarea |
10 | | - */ |
11 | | -getContents: function() { |
12 | | - return this.val(); |
13 | | -}, |
14 | | -/** |
15 | | - * Get the currently selected text in this textarea. Will focus the textarea |
16 | | - * in some browsers (IE/Opera) |
17 | | - */ |
18 | | -getSelection: function() { |
19 | | - var e = this.get( 0 ); |
20 | | - var retval = ''; |
21 | | - if ( $(e).is( ':hidden' ) ) { |
22 | | - // Do nothing |
23 | | - } else if ( document.selection && document.selection.createRange ) { |
24 | | - e.focus(); |
25 | | - var range = document.selection.createRange(); |
26 | | - retval = range.text; |
27 | | - } else if ( e.selectionStart || e.selectionStart == '0' ) { |
28 | | - retval = e.value.substring( e.selectionStart, e.selectionEnd ); |
29 | | - } |
30 | | - return retval; |
31 | | -}, |
32 | | -/** |
33 | | - * Ported from skins/common/edit.js by Trevor Parscal |
34 | | - * (c) 2009 Wikimedia Foundation (GPLv2) - http://www.wikimedia.org |
35 | | - * |
36 | | - * Inserts text at the begining and end of a text selection, optionally |
37 | | - * inserting text at the caret when selection is empty. |
38 | | - */ |
39 | | -encapsulateSelection: function( options ) { |
40 | | - return this.each( function() { |
41 | | - /** |
42 | | - * Check if the selected text is the same as the insert text |
43 | | - */ |
44 | | - function checkSelectedText() { |
45 | | - if ( !selText ) { |
46 | | - selText = options.peri; |
47 | | - isSample = true; |
48 | | - } else if ( options.replace ) { |
49 | | - selText = options.peri; |
50 | | - } else if ( selText.charAt( selText.length - 1 ) == ' ' ) { |
51 | | - // Exclude ending space char |
52 | | - selText = selText.substring(0, selText.length - 1); |
53 | | - options.post += ' '; |
54 | | - } |
55 | | - } |
56 | | - var selText = $(this).textSelection( 'getSelection' ); |
57 | | - var isSample = false; |
58 | | - if ( this.style.display == 'none' ) { |
59 | | - // Do nothing |
60 | | - } else if ( this.selectionStart || this.selectionStart == '0' ) { |
61 | | - // Mozilla/Opera |
62 | | - $(this).focus(); |
63 | | - var startPos = this.selectionStart; |
64 | | - var endPos = this.selectionEnd; |
65 | | - checkSelectedText(); |
66 | | - if ( options.ownline ) { |
67 | | - if ( startPos != 0 && this.value.charAt( startPos - 1 ) != "\n" ) { |
68 | | - options.pre = "\n" + options.pre; |
69 | | - } |
70 | | - if ( this.value.charAt( endPos ) != "\n" ) { |
71 | | - options.post += "\n"; |
72 | | - } |
73 | | - } |
74 | | - this.value = this.value.substring( 0, startPos ) + options.pre + selText + options.post + |
75 | | - this.value.substring( endPos, this.value.length ); |
76 | | - if ( window.opera ) { |
77 | | - options.pre = options.pre.replace( /\r?\n/g, "\r\n" ); |
78 | | - selText = selText.replace( /\r?\n/g, "\r\n" ); |
79 | | - options.post = options.post.replace( /\r?\n/g, "\r\n" ); |
80 | | - } |
81 | | - if ( isSample ) { |
82 | | - this.selectionStart = startPos + options.pre.length; |
83 | | - this.selectionEnd = startPos + options.pre.length + selText.length; |
84 | | - } else { |
85 | | - this.selectionStart = startPos + options.pre.length + selText.length + |
86 | | - options.post.length; |
87 | | - this.selectionEnd = this.selectionStart; |
88 | | - } |
89 | | - } else if ( document.selection && document.selection.createRange ) { |
90 | | - // IE |
91 | | - $(this).focus(); |
92 | | - var range = document.selection.createRange(); |
93 | | - if ( options.ownline && range.moveStart ) { |
94 | | - var range2 = document.selection.createRange(); |
95 | | - range2.collapse(); |
96 | | - range2.moveStart( 'character', -1 ); |
97 | | - // FIXME: Which check is correct? |
98 | | - if ( range2.text != "\r" && range2.text != "\n" && range2.text != "" ) { |
99 | | - options.pre = "\n" + options.pre; |
100 | | - } |
101 | | - var range3 = document.selection.createRange(); |
102 | | - range3.collapse( false ); |
103 | | - range3.moveEnd( 'character', 1 ); |
104 | | - if ( range3.text != "\r" && range3.text != "\n" && range3.text != "" ) { |
105 | | - options.post += "\n"; |
106 | | - } |
107 | | - } |
108 | | - checkSelectedText(); |
109 | | - range.text = options.pre + selText + options.post; |
110 | | - if ( isSample && range.moveStart ) { |
111 | | - range.moveStart( 'character', - options.post.length - selText.length ); |
112 | | - range.moveEnd( 'character', - options.post.length ); |
113 | | - } |
114 | | - range.select(); |
115 | | - } |
116 | | - // Scroll the textarea to the inserted text |
117 | | - $(this).textSelection( 'scrollToCaretPosition' ); |
118 | | - $(this).trigger( 'encapsulateSelection', [ options.pre, options.peri, options.post, options.ownline, |
119 | | - options.replace ] ); |
120 | | - }); |
121 | | -}, |
122 | | -/** |
123 | | - * Ported from Wikia's LinkSuggest extension |
124 | | - * https://svn.wikia-code.com/wikia/trunk/extensions/wikia/LinkSuggest |
125 | | - * Some code copied from |
126 | | - * http://www.dedestruct.com/2008/03/22/howto-cross-browser-cursor-position-in-textareas/ |
127 | | - * |
128 | | - * Get the position (in resolution of bytes not nessecarily characters) |
129 | | - * in a textarea |
130 | | - */ |
131 | | - getCaretPosition: function( options ) { |
132 | | - function getCaret( e ) { |
133 | | - var caretPos = 0, endPos = 0; |
134 | | - if ( $.browser.msie ) { |
135 | | - // IE Support |
136 | | - var postFinished = false; |
137 | | - var periFinished = false; |
138 | | - var postFinished = false; |
139 | | - var preText, rawPreText, periText; |
140 | | - var rawPeriText, postText, rawPostText; |
141 | | - // Create range containing text in the selection |
142 | | - var periRange = document.selection.createRange().duplicate(); |
143 | | - // Create range containing text before the selection |
144 | | - var preRange = document.body.createTextRange(); |
145 | | - // Select all the text |
146 | | - preRange.moveToElementText(e); |
147 | | - // Move the end where we need it |
148 | | - preRange.setEndPoint("EndToStart", periRange); |
149 | | - // Create range containing text after the selection |
150 | | - var postRange = document.body.createTextRange(); |
151 | | - // Select all the text |
152 | | - postRange.moveToElementText(e); |
153 | | - // Move the start where we need it |
154 | | - postRange.setEndPoint("StartToEnd", periRange); |
155 | | - // Load the text values we need to compare |
156 | | - preText = rawPreText = preRange.text; |
157 | | - periText = rawPeriText = periRange.text; |
158 | | - postText = rawPostText = postRange.text; |
159 | | - /* |
160 | | - * Check each range for trimmed newlines by shrinking the range by 1 |
161 | | - * character and seeing if the text property has changed. If it has |
162 | | - * not changed then we know that IE has trimmed a \r\n from the end. |
163 | | - */ |
164 | | - do { |
165 | | - if ( !postFinished ) { |
166 | | - if ( preRange.compareEndPoints( "StartToEnd", preRange ) == 0 ) { |
167 | | - postFinished = true; |
168 | | - } else { |
169 | | - preRange.moveEnd( "character", -1 ) |
170 | | - if ( preRange.text == preText ) { |
171 | | - rawPreText += "\r\n"; |
172 | | - } else { |
173 | | - postFinished = true; |
174 | | - } |
175 | | - } |
176 | | - } |
177 | | - if ( !periFinished ) { |
178 | | - if ( periRange.compareEndPoints( "StartToEnd", periRange ) == 0 ) { |
179 | | - periFinished = true; |
180 | | - } else { |
181 | | - periRange.moveEnd( "character", -1 ) |
182 | | - if ( periRange.text == periText ) { |
183 | | - rawPeriText += "\r\n"; |
184 | | - } else { |
185 | | - periFinished = true; |
186 | | - } |
187 | | - } |
188 | | - } |
189 | | - if ( !postFinished ) { |
190 | | - if ( postRange.compareEndPoints("StartToEnd", postRange) == 0 ) { |
191 | | - postFinished = true; |
192 | | - } else { |
193 | | - postRange.moveEnd( "character", -1 ) |
194 | | - if ( postRange.text == postText ) { |
195 | | - rawPostText += "\r\n"; |
196 | | - } else { |
197 | | - postFinished = true; |
198 | | - } |
199 | | - } |
200 | | - } |
201 | | - } while ( ( !postFinished || !periFinished || !postFinished ) ); |
202 | | - caretPos = rawPreText.replace( /\r\n/g, "\n" ).length; |
203 | | - endPos = caretPos + rawPeriText.replace( /\r\n/g, "\n" ).length; |
204 | | - } else if ( e.selectionStart || e.selectionStart == '0' ) { |
205 | | - // Firefox support |
206 | | - caretPos = e.selectionStart; |
207 | | - endPos = e.selectionEnd; |
208 | | - } |
209 | | - return options.startAndEnd ? [ caretPos, endPos ] : caretPos; |
210 | | - } |
211 | | - return getCaret( this.get( 0 ) ); |
212 | | -}, |
213 | | -setSelection: function( options ) { |
214 | | - return this.each( function() { |
215 | | - if ( $(this).is( ':hidden' ) ) { |
216 | | - // Do nothing |
217 | | - } else if ( this.selectionStart || this.selectionStart == '0' ) { |
218 | | - // Opera 9.0 doesn't allow setting selectionStart past |
219 | | - // selectionEnd; any attempts to do that will be ignored |
220 | | - // Make sure to set them in the right order |
221 | | - if ( options.start > this.selectionEnd ) { |
222 | | - this.selectionEnd = options.end; |
223 | | - this.selectionStart = options.start; |
224 | | - } else { |
225 | | - this.selectionStart = options.start; |
226 | | - this.selectionEnd = options.end; |
227 | | - } |
228 | | - } else if ( document.body.createTextRange ) { |
229 | | - var selection = document.body.createTextRange(); |
230 | | - selection.moveToElementText( this ); |
231 | | - var length = selection.text.length; |
232 | | - selection.moveStart( 'character', options.start ); |
233 | | - selection.moveEnd( 'character', -length + options.end ); |
234 | | - selection.select(); |
235 | | - } |
236 | | - }); |
237 | | -}, |
238 | | -/** |
239 | | - * Ported from Wikia's LinkSuggest extension |
240 | | - * https://svn.wikia-code.com/wikia/trunk/extensions/wikia/LinkSuggest |
241 | | - * |
242 | | - * Scroll a textarea to the current cursor position. You can set the cursor |
243 | | - * position with setSelection() |
244 | | - * @param force boolean Whether to force a scroll even if the caret position |
245 | | - * is already visible. Defaults to false |
246 | | - */ |
247 | | -scrollToCaretPosition: function( options ) { |
248 | | - function getLineLength( e ) { |
249 | | - return Math.floor( e.scrollWidth / ( $.os.name == 'linux' ? 7 : 8 ) ); |
250 | | - } |
251 | | - function getCaretScrollPosition( e ) { |
252 | | - // FIXME: This functions sucks and is off by a few lines most |
253 | | - // of the time. It should be replaced by something decent. |
254 | | - var text = e.value.replace( /\r/g, "" ); |
255 | | - var caret = $( e ).textSelection( 'getCaretPosition' ); |
256 | | - var lineLength = getLineLength( e ); |
257 | | - var row = 0; |
258 | | - var charInLine = 0; |
259 | | - var lastSpaceInLine = 0; |
260 | | - for ( i = 0; i < caret; i++ ) { |
261 | | - charInLine++; |
262 | | - if ( text.charAt( i ) == " " ) { |
263 | | - lastSpaceInLine = charInLine; |
264 | | - } else if ( text.charAt( i ) == "\n" ) { |
265 | | - lastSpaceInLine = 0; |
266 | | - charInLine = 0; |
267 | | - row++; |
268 | | - } |
269 | | - if ( charInLine > lineLength ) { |
270 | | - if ( lastSpaceInLine > 0 ) { |
271 | | - charInLine = charInLine - lastSpaceInLine; |
272 | | - lastSpaceInLine = 0; |
273 | | - row++; |
274 | | - } |
275 | | - } |
276 | | - } |
277 | | - var nextSpace = 0; |
278 | | - for ( j = caret; j < caret + lineLength; j++ ) { |
279 | | - if ( |
280 | | - text.charAt( j ) == " " || |
281 | | - text.charAt( j ) == "\n" || |
282 | | - caret == text.length |
283 | | - ) { |
284 | | - nextSpace = j; |
285 | | - break; |
286 | | - } |
287 | | - } |
288 | | - if ( nextSpace > lineLength && caret <= lineLength ) { |
289 | | - charInLine = caret - lastSpaceInLine; |
290 | | - row++; |
291 | | - } |
292 | | - return ( $.os.name == 'mac' ? 13 : ( $.os.name == 'linux' ? 15 : 16 ) ) * row; |
293 | | - } |
294 | | - return this.each(function() { |
295 | | - if ( $(this).is( ':hidden' ) ) { |
296 | | - // Do nothing |
297 | | - } else if ( this.selectionStart || this.selectionStart == '0' ) { |
298 | | - // Mozilla |
299 | | - var scroll = getCaretScrollPosition( this ); |
300 | | - if ( options.force || scroll < $(this).scrollTop() || |
301 | | - scroll > $(this).scrollTop() + $(this).height() ) |
302 | | - $(this).scrollTop( scroll ); |
303 | | - } else if ( document.selection && document.selection.createRange ) { |
304 | | - // IE / Opera |
305 | | - /* |
306 | | - * IE automatically scrolls the selected text to the |
307 | | - * bottom of the textarea at range.select() time, except |
308 | | - * if it was already in view and the cursor position |
309 | | - * wasn't changed, in which case it does nothing. To |
310 | | - * cover that case, we'll force it to act by moving one |
311 | | - * character back and forth. |
312 | | - */ |
313 | | - var range = document.selection.createRange(); |
314 | | - var pos = $(this).textSelection( 'getCaretPosition' ); |
315 | | - var oldScrollTop = this.scrollTop; |
316 | | - range.moveToElementText( this ); |
317 | | - range.collapse(); |
318 | | - range.move( 'character', pos + 1); |
319 | | - range.select(); |
320 | | - if ( this.scrollTop != oldScrollTop ) |
321 | | - this.scrollTop += range.offsetTop; |
322 | | - else if ( options.force ) { |
323 | | - range.move( 'character', -1 ); |
324 | | - range.select(); |
325 | | - } |
326 | | - } |
327 | | - $(this).trigger( 'scrollToPosition' ); |
328 | | - } ); |
329 | | -} |
330 | | -}; |
331 | | - // Apply defaults |
332 | | - switch ( command ) { |
333 | | - //case 'getContents': // no params |
334 | | - //case 'setContents': // no params with defaults |
335 | | - //case 'getSelection': // no params |
336 | | - case 'encapsulateSelection': |
337 | | - options = $.extend( { |
338 | | - 'pre': '', // Text to insert before the cursor/selection |
339 | | - 'peri': '', // Text to insert between pre and post and select afterwards |
340 | | - 'post': '', // Text to insert after the cursor/selection |
341 | | - 'ownline': false, // Put the inserted text on a line of its own |
342 | | - 'replace': false // If there is a selection, replace it with peri instead of leaving it alone |
343 | | - }, options ); |
344 | | - break; |
345 | | - case 'getCaretPosition': |
346 | | - options = $.extend( { |
347 | | - 'startAndEnd': false // Return [start, end] instead of just start |
348 | | - }, options ); |
349 | | - // FIXME: We may not need character position-based functions if we insert markers in the right places |
350 | | - break; |
351 | | - case 'setSelection': |
352 | | - options = $.extend( { |
353 | | - 'start': undefined, // Position to start selection at |
354 | | - 'end': undefined, // Position to end selection at. Defaults to start |
355 | | - 'startContainer': undefined, // Element to start selection in (iframe only) |
356 | | - 'endContainer': undefined // Element to end selection in (iframe only). Defaults to startContainer |
357 | | - }, options ); |
358 | | - if ( options.end === undefined ) |
359 | | - options.end = options.start; |
360 | | - if ( options.endContainer == undefined ) |
361 | | - options.endContainer = options.startContainer; |
362 | | - // FIXME: We may not need character position-based functions if we insert markers in the right places |
363 | | - break; |
364 | | - case 'scrollToCaretPosition': |
365 | | - options = $.extend( { |
366 | | - 'force': false // Force a scroll even if the caret position is already visible |
367 | | - }, options ); |
368 | | - break; |
369 | | - } |
370 | | - var context = $(this).data( 'wikiEditor-context' ); |
371 | | - var hasIframe = context !== undefined && context.$iframe !== undefined; |
372 | | - // iframe functions have not been implemented yet, this is a temp hack |
373 | | - //var hasIframe = false; |
374 | | - return ( hasIframe ? context.fn : fn )[command].call( this, options ); |
375 | | -}; |
376 | | - |
377 | | -} )( jQuery ); |
\ No newline at end of file |
Index: trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js |
— | — | @@ -429,7 +429,7 @@ |
430 | 430 | $(this).trigger('scrollToPosition');});}};switch(command){case'encapsulateSelection':options=$.extend({'pre':'','peri':'','post':'','ownline':false,'replace':false},options);break;case'getCaretPosition':options=$.extend({'startAndEnd':false},options);break;case'setSelection':options=$.extend({'start':undefined,'end':undefined,'startContainer':undefined,'endContainer':undefined},options);if(options.end===undefined) |
431 | 431 | options.end=options.start;if(options.endContainer==undefined) |
432 | 432 | options.endContainer=options.startContainer;break;case'scrollToCaretPosition':options=$.extend({'force':false},options);break;} |
433 | | -var context=$(this).data('wikiEditor-context');var hasIframe=context!==undefined&&context.$iframe!==undefined;return(hasIframe?context.fn:fn)[command].call(this,options);};})(jQuery);mw.addMessages({"wikieditor":"Advanced wikitext editing interface","wikieditor-desc":"Provides an extendable wikitext editing interface and many feature-providing modules","wikieditor-wikitext-tab":"Wikitext"});(function($){$.wikiEditor={'modules':{},'instances':[],'browsers':{'ltr':{'msie':[['>=',7]],'firefox':[['>=',2],['!=','2.0'],['!=','2.0.0.1'],['!=','2.0.0.2'],['!=','2.0.0.3'],['!=','2.0.0.4']],'opera':[['>=',9.6]],'safari':[['>=',3.1]]},'rtl':{'msie':[['>=',8]],'firefox':[['>=',2],['!=','2.0'],['!=','2.0.0.1'],['!=','2.0.0.2'],['!=','2.0.0.3'],['!=','2.0.0.4']],'opera':[['>=',9.6]],'safari':[['>=',3.1]]}},'imgPath':wgScriptPath+'/extensions/UsabilityInitiative/images/wikiEditor/','isSupported':function(){if(typeof $.wikiEditor.supported!='undefined'){return $.wikiEditor.supported;} |
| 433 | +var context=$(this).data('wikiEditor-context');var hasIframe=context!==undefined&&context.$iframe!==undefined;return(hasIframe?context.fn:fn)[command].call(this,options);};})(jQuery);(function($){$.wikiEditor={'modules':{},'instances':[],'browsers':{'ltr':{'msie':[['>=',7]],'firefox':[['>=',2],['!=','2.0'],['!=','2.0.0.1'],['!=','2.0.0.2'],['!=','2.0.0.3'],['!=','2.0.0.4']],'opera':[['>=',9.6]],'safari':[['>=',3.1]]},'rtl':{'msie':[['>=',8]],'firefox':[['>=',2],['!=','2.0'],['!=','2.0.0.1'],['!=','2.0.0.2'],['!=','2.0.0.3'],['!=','2.0.0.4']],'opera':[['>=',9.6]],'safari':[['>=',3.1]]}},'imgPath':wgScriptPath+'/extensions/UsabilityInitiative/images/wikiEditor/','isSupported':function(){if(typeof $.wikiEditor.supported!='undefined'){return $.wikiEditor.supported;} |
434 | 434 | if(!($.browser.name in $.wikiEditor.browsers[$('body').is('.rtl')?'rtl':'ltr'])){return $.wikiEditor.supported=true;} |
435 | 435 | var browser=$.wikiEditor.browsers[$('body').is('.rtl')?'rtl':'ltr'][$.browser.name];for(condition in browser){var op=browser[condition][0];var val=browser[condition][1];if(typeof val=='string'){if(!(eval('$.browser.version'+op+'"'+val+'"'))){return $.wikiEditor.supported=false;}}else if(typeof val=='number'){if(!(eval('$.browser.versionNumber'+op+val))){return $.wikiEditor.supported=false;}}} |
436 | 436 | return $.wikiEditor.supported=true;},'autoMsg':function(object,property){if(typeof property=='object'){for(i in property){if(property[i]in object||property[i]+'Msg'in object){property=property[i];break;}}} |
Index: trunk/extensions/UsabilityInitiative/js/plugins/jquery.cookie.js |
— | — | @@ -0,0 +1,97 @@ |
| 2 | +/** |
| 3 | + * Cookie plugin |
| 4 | + * |
| 5 | + * Copyright (c) 2006 Klaus Hartl (stilbuero.de) |
| 6 | + * Dual licensed under the MIT and GPL licenses: |
| 7 | + * http://www.opensource.org/licenses/mit-license.php |
| 8 | + * http://www.gnu.org/licenses/gpl.html |
| 9 | + * |
| 10 | + */ |
| 11 | + |
| 12 | +/** |
| 13 | + * Create a cookie with the given name and value and other optional parameters. |
| 14 | + * |
| 15 | + * @example $.cookie('the_cookie', 'the_value'); |
| 16 | + * @desc Set the value of a cookie. |
| 17 | + * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); |
| 18 | + * @desc Create a cookie with all available options. |
| 19 | + * @example $.cookie('the_cookie', 'the_value'); |
| 20 | + * @desc Create a session cookie. |
| 21 | + * @example $.cookie('the_cookie', null); |
| 22 | + * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain |
| 23 | + * used when the cookie was set. |
| 24 | + * |
| 25 | + * @param String name The name of the cookie. |
| 26 | + * @param String value The value of the cookie. |
| 27 | + * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. |
| 28 | + * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. |
| 29 | + * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. |
| 30 | + * If set to null or omitted, the cookie will be a session cookie and will not be retained |
| 31 | + * when the the browser exits. |
| 32 | + * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). |
| 33 | + * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). |
| 34 | + * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will |
| 35 | + * require a secure protocol (like HTTPS). |
| 36 | + * @type undefined |
| 37 | + * |
| 38 | + * @name $.cookie |
| 39 | + * @cat Plugins/Cookie |
| 40 | + * @author Klaus Hartl/klaus.hartl@stilbuero.de |
| 41 | + */ |
| 42 | + |
| 43 | +/** |
| 44 | + * Get the value of a cookie with the given name. |
| 45 | + * |
| 46 | + * @example $.cookie('the_cookie'); |
| 47 | + * @desc Get the value of a cookie. |
| 48 | + * |
| 49 | + * @param String name The name of the cookie. |
| 50 | + * @return The value of the cookie. |
| 51 | + * @type String |
| 52 | + * |
| 53 | + * @name $.cookie |
| 54 | + * @cat Plugins/Cookie |
| 55 | + * @author Klaus Hartl/klaus.hartl@stilbuero.de |
| 56 | + */ |
| 57 | +jQuery.cookie = function(name, value, options) { |
| 58 | + if (typeof value != 'undefined') { // name and value given, set cookie |
| 59 | + options = options || {}; |
| 60 | + if (value === null) { |
| 61 | + value = ''; |
| 62 | + options.expires = -1; |
| 63 | + } |
| 64 | + var expires = ''; |
| 65 | + if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { |
| 66 | + var date; |
| 67 | + if (typeof options.expires == 'number') { |
| 68 | + date = new Date(); |
| 69 | + date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); |
| 70 | + } else { |
| 71 | + date = options.expires; |
| 72 | + } |
| 73 | + expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE |
| 74 | + } |
| 75 | + // CAUTION: Needed to parenthesize options.path and options.domain |
| 76 | + // in the following expressions, otherwise they evaluate to undefined |
| 77 | + // in the packed version for some reason... |
| 78 | + var path = options.path ? '; path=' + (options.path) : ''; |
| 79 | + var domain = options.domain ? '; domain=' + (options.domain) : ''; |
| 80 | + var secure = options.secure ? '; secure' : ''; |
| 81 | + document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); |
| 82 | + } else { // only name given, get cookie |
| 83 | + var cookieValue = null; |
| 84 | + if (document.cookie && document.cookie != '') { |
| 85 | + var cookies = document.cookie.split(';'); |
| 86 | + for (var i = 0; i < cookies.length; i++) { |
| 87 | + var cookie = jQuery.trim(cookies[i]); |
| 88 | + // Does this cookie string begin with the name we want? |
| 89 | + if (cookie.substring(0, name.length + 1) == (name + '=')) { |
| 90 | + cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); |
| 91 | + break; |
| 92 | + } |
| 93 | + } |
| 94 | + } |
| 95 | + return cookieValue; |
| 96 | + } |
| 97 | +}; |
| 98 | + |
Property changes on: trunk/extensions/UsabilityInitiative/js/plugins/jquery.cookie.js |
___________________________________________________________________ |
Added: svn:mergeinfo |
Added: svn:eol-style |
1 | 99 | + native |
Index: trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.js |
— | — | @@ -8,13 +8,6 @@ |
9 | 9 | * $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'toolbar', { ... config ... } ); |
10 | 10 | * |
11 | 11 | */ |
12 | | - |
13 | | -mw.addMessages({ |
14 | | - "wikieditor" : "Advanced wikitext editing interface", |
15 | | - "wikieditor-desc" : "Provides an extendable wikitext editing interface and many feature-providing modules", |
16 | | - "wikieditor-wikitext-tab" : "Wikitext" |
17 | | -}); |
18 | | - |
19 | 12 | ( function( $ ) { |
20 | 13 | |
21 | 14 | /** |
Index: trunk/extensions/UsabilityInitiative/js/plugins/jquery.textSelection.js |
— | — | @@ -0,0 +1,376 @@ |
| 2 | +/** |
| 3 | + * These plugins provide extra functionality for interaction with textareas. |
| 4 | + */ |
| 5 | +( function( $ ) { |
| 6 | +$.fn.textSelection = function( command, options ) { |
| 7 | +var fn = { |
| 8 | +/** |
| 9 | + * Get the contents of the textarea |
| 10 | + */ |
| 11 | +getContents: function() { |
| 12 | + return this.val(); |
| 13 | +}, |
| 14 | +/** |
| 15 | + * Get the currently selected text in this textarea. Will focus the textarea |
| 16 | + * in some browsers (IE/Opera) |
| 17 | + */ |
| 18 | +getSelection: function() { |
| 19 | + var e = this.get( 0 ); |
| 20 | + var retval = ''; |
| 21 | + if ( $(e).is( ':hidden' ) ) { |
| 22 | + // Do nothing |
| 23 | + } else if ( document.selection && document.selection.createRange ) { |
| 24 | + e.focus(); |
| 25 | + var range = document.selection.createRange(); |
| 26 | + retval = range.text; |
| 27 | + } else if ( e.selectionStart || e.selectionStart == '0' ) { |
| 28 | + retval = e.value.substring( e.selectionStart, e.selectionEnd ); |
| 29 | + } |
| 30 | + return retval; |
| 31 | +}, |
| 32 | +/** |
| 33 | + * Ported from skins/common/edit.js by Trevor Parscal |
| 34 | + * (c) 2009 Wikimedia Foundation (GPLv2) - http://www.wikimedia.org |
| 35 | + * |
| 36 | + * Inserts text at the begining and end of a text selection, optionally |
| 37 | + * inserting text at the caret when selection is empty. |
| 38 | + */ |
| 39 | +encapsulateSelection: function( options ) { |
| 40 | + return this.each( function() { |
| 41 | + /** |
| 42 | + * Check if the selected text is the same as the insert text |
| 43 | + */ |
| 44 | + function checkSelectedText() { |
| 45 | + if ( !selText ) { |
| 46 | + selText = options.peri; |
| 47 | + isSample = true; |
| 48 | + } else if ( options.replace ) { |
| 49 | + selText = options.peri; |
| 50 | + } else if ( selText.charAt( selText.length - 1 ) == ' ' ) { |
| 51 | + // Exclude ending space char |
| 52 | + selText = selText.substring(0, selText.length - 1); |
| 53 | + options.post += ' '; |
| 54 | + } |
| 55 | + } |
| 56 | + var selText = $(this).textSelection( 'getSelection' ); |
| 57 | + var isSample = false; |
| 58 | + if ( this.style.display == 'none' ) { |
| 59 | + // Do nothing |
| 60 | + } else if ( this.selectionStart || this.selectionStart == '0' ) { |
| 61 | + // Mozilla/Opera |
| 62 | + $(this).focus(); |
| 63 | + var startPos = this.selectionStart; |
| 64 | + var endPos = this.selectionEnd; |
| 65 | + checkSelectedText(); |
| 66 | + if ( options.ownline ) { |
| 67 | + if ( startPos != 0 && this.value.charAt( startPos - 1 ) != "\n" ) { |
| 68 | + options.pre = "\n" + options.pre; |
| 69 | + } |
| 70 | + if ( this.value.charAt( endPos ) != "\n" ) { |
| 71 | + options.post += "\n"; |
| 72 | + } |
| 73 | + } |
| 74 | + this.value = this.value.substring( 0, startPos ) + options.pre + selText + options.post + |
| 75 | + this.value.substring( endPos, this.value.length ); |
| 76 | + if ( window.opera ) { |
| 77 | + options.pre = options.pre.replace( /\r?\n/g, "\r\n" ); |
| 78 | + selText = selText.replace( /\r?\n/g, "\r\n" ); |
| 79 | + options.post = options.post.replace( /\r?\n/g, "\r\n" ); |
| 80 | + } |
| 81 | + if ( isSample ) { |
| 82 | + this.selectionStart = startPos + options.pre.length; |
| 83 | + this.selectionEnd = startPos + options.pre.length + selText.length; |
| 84 | + } else { |
| 85 | + this.selectionStart = startPos + options.pre.length + selText.length + |
| 86 | + options.post.length; |
| 87 | + this.selectionEnd = this.selectionStart; |
| 88 | + } |
| 89 | + } else if ( document.selection && document.selection.createRange ) { |
| 90 | + // IE |
| 91 | + $(this).focus(); |
| 92 | + var range = document.selection.createRange(); |
| 93 | + if ( options.ownline && range.moveStart ) { |
| 94 | + var range2 = document.selection.createRange(); |
| 95 | + range2.collapse(); |
| 96 | + range2.moveStart( 'character', -1 ); |
| 97 | + // FIXME: Which check is correct? |
| 98 | + if ( range2.text != "\r" && range2.text != "\n" && range2.text != "" ) { |
| 99 | + options.pre = "\n" + options.pre; |
| 100 | + } |
| 101 | + var range3 = document.selection.createRange(); |
| 102 | + range3.collapse( false ); |
| 103 | + range3.moveEnd( 'character', 1 ); |
| 104 | + if ( range3.text != "\r" && range3.text != "\n" && range3.text != "" ) { |
| 105 | + options.post += "\n"; |
| 106 | + } |
| 107 | + } |
| 108 | + checkSelectedText(); |
| 109 | + range.text = options.pre + selText + options.post; |
| 110 | + if ( isSample && range.moveStart ) { |
| 111 | + range.moveStart( 'character', - options.post.length - selText.length ); |
| 112 | + range.moveEnd( 'character', - options.post.length ); |
| 113 | + } |
| 114 | + range.select(); |
| 115 | + } |
| 116 | + // Scroll the textarea to the inserted text |
| 117 | + $(this).textSelection( 'scrollToCaretPosition' ); |
| 118 | + $(this).trigger( 'encapsulateSelection', [ options.pre, options.peri, options.post, options.ownline, |
| 119 | + options.replace ] ); |
| 120 | + }); |
| 121 | +}, |
| 122 | +/** |
| 123 | + * Ported from Wikia's LinkSuggest extension |
| 124 | + * https://svn.wikia-code.com/wikia/trunk/extensions/wikia/LinkSuggest |
| 125 | + * Some code copied from |
| 126 | + * http://www.dedestruct.com/2008/03/22/howto-cross-browser-cursor-position-in-textareas/ |
| 127 | + * |
| 128 | + * Get the position (in resolution of bytes not nessecarily characters) |
| 129 | + * in a textarea |
| 130 | + */ |
| 131 | + getCaretPosition: function( options ) { |
| 132 | + function getCaret( e ) { |
| 133 | + var caretPos = 0, endPos = 0; |
| 134 | + if ( $.browser.msie ) { |
| 135 | + // IE Support |
| 136 | + var postFinished = false; |
| 137 | + var periFinished = false; |
| 138 | + var postFinished = false; |
| 139 | + var preText, rawPreText, periText; |
| 140 | + var rawPeriText, postText, rawPostText; |
| 141 | + // Create range containing text in the selection |
| 142 | + var periRange = document.selection.createRange().duplicate(); |
| 143 | + // Create range containing text before the selection |
| 144 | + var preRange = document.body.createTextRange(); |
| 145 | + // Select all the text |
| 146 | + preRange.moveToElementText(e); |
| 147 | + // Move the end where we need it |
| 148 | + preRange.setEndPoint("EndToStart", periRange); |
| 149 | + // Create range containing text after the selection |
| 150 | + var postRange = document.body.createTextRange(); |
| 151 | + // Select all the text |
| 152 | + postRange.moveToElementText(e); |
| 153 | + // Move the start where we need it |
| 154 | + postRange.setEndPoint("StartToEnd", periRange); |
| 155 | + // Load the text values we need to compare |
| 156 | + preText = rawPreText = preRange.text; |
| 157 | + periText = rawPeriText = periRange.text; |
| 158 | + postText = rawPostText = postRange.text; |
| 159 | + /* |
| 160 | + * Check each range for trimmed newlines by shrinking the range by 1 |
| 161 | + * character and seeing if the text property has changed. If it has |
| 162 | + * not changed then we know that IE has trimmed a \r\n from the end. |
| 163 | + */ |
| 164 | + do { |
| 165 | + if ( !postFinished ) { |
| 166 | + if ( preRange.compareEndPoints( "StartToEnd", preRange ) == 0 ) { |
| 167 | + postFinished = true; |
| 168 | + } else { |
| 169 | + preRange.moveEnd( "character", -1 ) |
| 170 | + if ( preRange.text == preText ) { |
| 171 | + rawPreText += "\r\n"; |
| 172 | + } else { |
| 173 | + postFinished = true; |
| 174 | + } |
| 175 | + } |
| 176 | + } |
| 177 | + if ( !periFinished ) { |
| 178 | + if ( periRange.compareEndPoints( "StartToEnd", periRange ) == 0 ) { |
| 179 | + periFinished = true; |
| 180 | + } else { |
| 181 | + periRange.moveEnd( "character", -1 ) |
| 182 | + if ( periRange.text == periText ) { |
| 183 | + rawPeriText += "\r\n"; |
| 184 | + } else { |
| 185 | + periFinished = true; |
| 186 | + } |
| 187 | + } |
| 188 | + } |
| 189 | + if ( !postFinished ) { |
| 190 | + if ( postRange.compareEndPoints("StartToEnd", postRange) == 0 ) { |
| 191 | + postFinished = true; |
| 192 | + } else { |
| 193 | + postRange.moveEnd( "character", -1 ) |
| 194 | + if ( postRange.text == postText ) { |
| 195 | + rawPostText += "\r\n"; |
| 196 | + } else { |
| 197 | + postFinished = true; |
| 198 | + } |
| 199 | + } |
| 200 | + } |
| 201 | + } while ( ( !postFinished || !periFinished || !postFinished ) ); |
| 202 | + caretPos = rawPreText.replace( /\r\n/g, "\n" ).length; |
| 203 | + endPos = caretPos + rawPeriText.replace( /\r\n/g, "\n" ).length; |
| 204 | + } else if ( e.selectionStart || e.selectionStart == '0' ) { |
| 205 | + // Firefox support |
| 206 | + caretPos = e.selectionStart; |
| 207 | + endPos = e.selectionEnd; |
| 208 | + } |
| 209 | + return options.startAndEnd ? [ caretPos, endPos ] : caretPos; |
| 210 | + } |
| 211 | + return getCaret( this.get( 0 ) ); |
| 212 | +}, |
| 213 | +setSelection: function( options ) { |
| 214 | + return this.each( function() { |
| 215 | + if ( $(this).is( ':hidden' ) ) { |
| 216 | + // Do nothing |
| 217 | + } else if ( this.selectionStart || this.selectionStart == '0' ) { |
| 218 | + // Opera 9.0 doesn't allow setting selectionStart past |
| 219 | + // selectionEnd; any attempts to do that will be ignored |
| 220 | + // Make sure to set them in the right order |
| 221 | + if ( options.start > this.selectionEnd ) { |
| 222 | + this.selectionEnd = options.end; |
| 223 | + this.selectionStart = options.start; |
| 224 | + } else { |
| 225 | + this.selectionStart = options.start; |
| 226 | + this.selectionEnd = options.end; |
| 227 | + } |
| 228 | + } else if ( document.body.createTextRange ) { |
| 229 | + var selection = document.body.createTextRange(); |
| 230 | + selection.moveToElementText( this ); |
| 231 | + var length = selection.text.length; |
| 232 | + selection.moveStart( 'character', options.start ); |
| 233 | + selection.moveEnd( 'character', -length + options.end ); |
| 234 | + selection.select(); |
| 235 | + } |
| 236 | + }); |
| 237 | +}, |
| 238 | +/** |
| 239 | + * Ported from Wikia's LinkSuggest extension |
| 240 | + * https://svn.wikia-code.com/wikia/trunk/extensions/wikia/LinkSuggest |
| 241 | + * |
| 242 | + * Scroll a textarea to the current cursor position. You can set the cursor |
| 243 | + * position with setSelection() |
| 244 | + * @param force boolean Whether to force a scroll even if the caret position |
| 245 | + * is already visible. Defaults to false |
| 246 | + */ |
| 247 | +scrollToCaretPosition: function( options ) { |
| 248 | + function getLineLength( e ) { |
| 249 | + return Math.floor( e.scrollWidth / ( $.os.name == 'linux' ? 7 : 8 ) ); |
| 250 | + } |
| 251 | + function getCaretScrollPosition( e ) { |
| 252 | + // FIXME: This functions sucks and is off by a few lines most |
| 253 | + // of the time. It should be replaced by something decent. |
| 254 | + var text = e.value.replace( /\r/g, "" ); |
| 255 | + var caret = $( e ).textSelection( 'getCaretPosition' ); |
| 256 | + var lineLength = getLineLength( e ); |
| 257 | + var row = 0; |
| 258 | + var charInLine = 0; |
| 259 | + var lastSpaceInLine = 0; |
| 260 | + for ( i = 0; i < caret; i++ ) { |
| 261 | + charInLine++; |
| 262 | + if ( text.charAt( i ) == " " ) { |
| 263 | + lastSpaceInLine = charInLine; |
| 264 | + } else if ( text.charAt( i ) == "\n" ) { |
| 265 | + lastSpaceInLine = 0; |
| 266 | + charInLine = 0; |
| 267 | + row++; |
| 268 | + } |
| 269 | + if ( charInLine > lineLength ) { |
| 270 | + if ( lastSpaceInLine > 0 ) { |
| 271 | + charInLine = charInLine - lastSpaceInLine; |
| 272 | + lastSpaceInLine = 0; |
| 273 | + row++; |
| 274 | + } |
| 275 | + } |
| 276 | + } |
| 277 | + var nextSpace = 0; |
| 278 | + for ( j = caret; j < caret + lineLength; j++ ) { |
| 279 | + if ( |
| 280 | + text.charAt( j ) == " " || |
| 281 | + text.charAt( j ) == "\n" || |
| 282 | + caret == text.length |
| 283 | + ) { |
| 284 | + nextSpace = j; |
| 285 | + break; |
| 286 | + } |
| 287 | + } |
| 288 | + if ( nextSpace > lineLength && caret <= lineLength ) { |
| 289 | + charInLine = caret - lastSpaceInLine; |
| 290 | + row++; |
| 291 | + } |
| 292 | + return ( $.os.name == 'mac' ? 13 : ( $.os.name == 'linux' ? 15 : 16 ) ) * row; |
| 293 | + } |
| 294 | + return this.each(function() { |
| 295 | + if ( $(this).is( ':hidden' ) ) { |
| 296 | + // Do nothing |
| 297 | + } else if ( this.selectionStart || this.selectionStart == '0' ) { |
| 298 | + // Mozilla |
| 299 | + var scroll = getCaretScrollPosition( this ); |
| 300 | + if ( options.force || scroll < $(this).scrollTop() || |
| 301 | + scroll > $(this).scrollTop() + $(this).height() ) |
| 302 | + $(this).scrollTop( scroll ); |
| 303 | + } else if ( document.selection && document.selection.createRange ) { |
| 304 | + // IE / Opera |
| 305 | + /* |
| 306 | + * IE automatically scrolls the selected text to the |
| 307 | + * bottom of the textarea at range.select() time, except |
| 308 | + * if it was already in view and the cursor position |
| 309 | + * wasn't changed, in which case it does nothing. To |
| 310 | + * cover that case, we'll force it to act by moving one |
| 311 | + * character back and forth. |
| 312 | + */ |
| 313 | + var range = document.selection.createRange(); |
| 314 | + var pos = $(this).textSelection( 'getCaretPosition' ); |
| 315 | + var oldScrollTop = this.scrollTop; |
| 316 | + range.moveToElementText( this ); |
| 317 | + range.collapse(); |
| 318 | + range.move( 'character', pos + 1); |
| 319 | + range.select(); |
| 320 | + if ( this.scrollTop != oldScrollTop ) |
| 321 | + this.scrollTop += range.offsetTop; |
| 322 | + else if ( options.force ) { |
| 323 | + range.move( 'character', -1 ); |
| 324 | + range.select(); |
| 325 | + } |
| 326 | + } |
| 327 | + $(this).trigger( 'scrollToPosition' ); |
| 328 | + } ); |
| 329 | +} |
| 330 | +}; |
| 331 | + // Apply defaults |
| 332 | + switch ( command ) { |
| 333 | + //case 'getContents': // no params |
| 334 | + //case 'setContents': // no params with defaults |
| 335 | + //case 'getSelection': // no params |
| 336 | + case 'encapsulateSelection': |
| 337 | + options = $.extend( { |
| 338 | + 'pre': '', // Text to insert before the cursor/selection |
| 339 | + 'peri': '', // Text to insert between pre and post and select afterwards |
| 340 | + 'post': '', // Text to insert after the cursor/selection |
| 341 | + 'ownline': false, // Put the inserted text on a line of its own |
| 342 | + 'replace': false // If there is a selection, replace it with peri instead of leaving it alone |
| 343 | + }, options ); |
| 344 | + break; |
| 345 | + case 'getCaretPosition': |
| 346 | + options = $.extend( { |
| 347 | + 'startAndEnd': false // Return [start, end] instead of just start |
| 348 | + }, options ); |
| 349 | + // FIXME: We may not need character position-based functions if we insert markers in the right places |
| 350 | + break; |
| 351 | + case 'setSelection': |
| 352 | + options = $.extend( { |
| 353 | + 'start': undefined, // Position to start selection at |
| 354 | + 'end': undefined, // Position to end selection at. Defaults to start |
| 355 | + 'startContainer': undefined, // Element to start selection in (iframe only) |
| 356 | + 'endContainer': undefined // Element to end selection in (iframe only). Defaults to startContainer |
| 357 | + }, options ); |
| 358 | + if ( options.end === undefined ) |
| 359 | + options.end = options.start; |
| 360 | + if ( options.endContainer == undefined ) |
| 361 | + options.endContainer = options.startContainer; |
| 362 | + // FIXME: We may not need character position-based functions if we insert markers in the right places |
| 363 | + break; |
| 364 | + case 'scrollToCaretPosition': |
| 365 | + options = $.extend( { |
| 366 | + 'force': false // Force a scroll even if the caret position is already visible |
| 367 | + }, options ); |
| 368 | + break; |
| 369 | + } |
| 370 | + var context = $(this).data( 'wikiEditor-context' ); |
| 371 | + var hasIframe = context !== undefined && context.$iframe !== undefined; |
| 372 | + // iframe functions have not been implemented yet, this is a temp hack |
| 373 | + //var hasIframe = false; |
| 374 | + return ( hasIframe ? context.fn : fn )[command].call( this, options ); |
| 375 | +}; |
| 376 | + |
| 377 | +} )( jQuery ); |
\ No newline at end of file |
Property changes on: trunk/extensions/UsabilityInitiative/js/plugins/jquery.textSelection.js |
___________________________________________________________________ |
Added: svn:mergeinfo |
Added: svn:eol-style |
1 | 378 | + native |
Index: trunk/extensions/UsabilityInitiative/Makefile |
— | — | @@ -22,11 +22,11 @@ |
23 | 23 | js/plugins/jquery.autoEllipsis.js\ |
24 | 24 | js/plugins/jquery.browser.js\ |
25 | 25 | js/plugins/jquery.collapsibleTabs.js\ |
26 | | - js/js2stopgap/jquery.cookie.js\ |
| 26 | + js/plugins/jquery.cookie.js\ |
27 | 27 | js/plugins/jquery.delayedBind.js\ |
28 | 28 | js/plugins/jquery.namespaceSelect.js\ |
29 | 29 | js/plugins/jquery.suggestions.js\ |
30 | | - js/js2stopgap/jquery.textSelection.js\ |
| 30 | + js/plugins/jquery.textSelection.js\ |
31 | 31 | js/plugins/jquery.wikiEditor.js\ |
32 | 32 | js/plugins/jquery.wikiEditor.dialogs.js\ |
33 | 33 | js/plugins/jquery.wikiEditor.highlight.js\ |