r61566 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r61565‎ | r61566 | r61567 >
Date:07:56, 27 January 2010
Author:tstarling
Status:ok
Tags:
Comment:
Reverted the UsabilityInitiative part of r61137 and associated changes in r61184, r61182, r61137. We need to stabilise the UsabilityInitiative extension for deployment and don't need this sort of thing right now. Perhaps it can be developed in a branch.

r61137 makes almost-certainly incorrect assumptions about what the MW core API will look like when $wgVersion is changed to 1.17.x. I'm not sure if we will have English messages copied from *.i18n.php into checked-in JS files in 1.17. I really hope that we don't. The interfaces for mw.loadDone(), mw.addMessages(), mw.ready(), etc. have not been reviewed and might not be implemented with the same set of parameters when they are eventually added in trunk.

Rebuilt minified files and incremented version numbers of altered JS files.
Modified paths:
  • /trunk/extensions/UsabilityInitiative/InlineSectionEdit (deleted) (history)
  • /trunk/extensions/UsabilityInitiative/Makefile (modified) (history)
  • /trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php (modified) (history)
  • /trunk/extensions/UsabilityInitiative/UsabilityInitiative.php (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Highlight/Highlight.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Preview/Preview.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Publish/Publish.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/Modules/TemplateEditor/TemplateEditor.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Toc/Toc.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Toolbar/Toolbar.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.combined.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.combined.min.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.hooks.php (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.php (modified) (history)
  • /trunk/extensions/UsabilityInitiative/WikiEditor/loader.js (deleted) (history)
  • /trunk/extensions/UsabilityInitiative/js/js2stopgap/jquery.cookie.js (deleted) (history)
  • /trunk/extensions/UsabilityInitiative/js/js2stopgap/jquery.textSelection.js (deleted) (history)
  • /trunk/extensions/UsabilityInitiative/js/loader.js (deleted) (history)
  • /trunk/extensions/UsabilityInitiative/js/plugins.combined.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js (modified) (history)
  • /trunk/extensions/UsabilityInitiative/js/plugins/jquery.cookie.js (added) (history)
  • /trunk/extensions/UsabilityInitiative/js/plugins/jquery.textSelection.js (added) (history)
  • /trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.js (modified) (history)

Diff [purge]

Index: trunk/extensions/UsabilityInitiative/UsabilityInitiative.php
@@ -43,9 +43,6 @@
4444 $wgExtensionMessagesFiles['UsabilityInitiative'] =
4545 dirname( __FILE__ ) . "/UsabilityInitiative.i18n.php";
4646
47 -// Adds the loader.js:
48 -$wgExtensionJavascriptLoader[] = "UsabilityInitiative/js/loader.js";
49 -
5047 // Registers Hooks
5148 $wgHooks['BeforePageDisplay'][] = 'UsabilityInitiativeHooks::addResources';
5249 $wgHooks['MakeGlobalVariablesScript'][] = 'UsabilityInitiativeHooks::addJSVars';
\ No newline at end of file
Index: trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php
@@ -53,135 +53,43 @@
5454 'raw' => array(
5555
5656 // 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 ),
9963
10064 // 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 ),
17582 ),
17683 'combined' => array(
177 - array( 'src' => 'js/plugins.combined.js', 'version' => 181 ),
 84+ array( 'src' => 'js/plugins.combined.js', 'version' => 183 ),
17885 ),
17986 'minified' => array(
180 - array( 'src' => 'js/plugins.combined.min.js', 'version' => 181 ),
 87+ array( 'src' => 'js/plugins.combined.min.js', 'version' => 183 ),
18188 ),
18289 ),
18390 );
18491
18592 /* Static Functions */
 93+
18694 public static function initialize() {
18795 self::$doOutput = true;
18896 }
@@ -193,8 +101,8 @@
194102 public static function addResources( $out ) {
195103 global $wgExtensionAssetsPath, $wgJsMimeType;
196104 global $wgUsabilityInitiativeResourceMode;
197 - global $wgEditToolbarRunTests, $wgVersion;
198 - global $wgStyleVersion, $wgEnableScriptLoader;
 105+ global $wgEnableJS2system, $wgEditToolbarRunTests;
 106+ global $wgStyleVersion;
199107
200108 wfRunHooks( 'UsabilityInitiativeLoadModules' );
201109
@@ -212,9 +120,9 @@
213121 self::$scriptFiles['modules'][$mode],
214122 self::$scripts
215123 );
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 ) {
219127 $out->includeJQuery();
220128 }
221129 // Include base-set of styles
@@ -229,46 +137,35 @@
230138 }
231139 // Loops over each script
232140 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']}";
246149 }
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 );
251152 }
252 -
253153 // 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}'";
272159 }
 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+ }
273170 // Loops over each style
274171 foreach ( self::$styles as $style ) {
275172 // 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 @@
22 /* JavaScript for WikiEditor Highlight module */
33
4 -mw.addMessages({
5 - "wikieditor-highlight-preference" : "Enable syntax highlighting when editing"
6 -});
7 -
84 mw.ready( function() {
95 // Check preferences for highlight
106 if ( !wgWikiEditorEnabledModules.highlight ) {
@@ -14,15 +10,8 @@
1511 $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'highlight' );
1612 }
1713 });
 14+/* JavaScript for WikiEditor Preview module */
1815
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 -});
2716 mw.ready( function() {
2817 // Check preferences for preview
2918 if ( !wgWikiEditorEnabledModules.preview ) {
@@ -33,20 +22,8 @@
3423 $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'preview' );
3524 }
3625 });
 26+/* JavaScript for WikiEditor Publish module */
3727
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 -});
5128 mw.ready( function() {
5229 // Check preferences for publish
5330 if ( !wgWikiEditorEnabledModules.publish ) {
@@ -57,16 +34,8 @@
5835 $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'publish' );
5936 }
6037 });
61 -
62 -mw.loadDone( 'wikiEditor.config.publish' );
6338 /* JavaScript for WikiEditor Toc module */
6439
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 -
7140 mw.ready( function() {
7241 // Check preferences for toolbar
7342 if ( !wgWikiEditorPreferences || !( wgWikiEditorPreferences.toc && wgWikiEditorPreferences.toc.enable ) ) {
@@ -78,194 +47,8 @@
7948 { 'toc' : { 'rtl' : ( $j( 'body' ).is( '.rtl' ) ) } } );
8049 }
8150 });
 51+/* JavaScript for WikiEditor Toolbar module */
8252
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 &amp; italic",
218 - "wikieditor-toolbar-help-content-bolditalic-syntax" : "'''''Bold &amp; italic text'''''",
219 - "wikieditor-toolbar-help-content-bolditalic-result" : "<strong><em>Bold &amp; 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.&lt;ref name=\"test\"&gt;[http://www.example.org Link text], additional text.&lt;/ref&gt;",
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" : "&lt;ref name=\"test\" /&gt;",
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" : "&lt;references /&gt;",
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 -
27053 mw.ready( function() {
27154 // Check preferences for toolbar
27255 if ( !wgWikiEditorEnabledModules.toolbar ) {
@@ -1960,12 +1743,8 @@
19611744
19621745 } } );
19631746
1964 -mw.loadDone( 'wikiEditor.config.toolbar' );/* JavaScript for WikiEditor Template Editor module */
 1747+/* JavaScript for WikiEditor Template Editor module */
19651748
1966 -mw.addMessages({
1967 - "wikieditor-template-editor-preference": "Enable form-based editing of wiki templates"
1968 -});
1969 -
19701749 mw.ready( function() {
19711750 // Check preferences for templateEditor
19721751 if ( !wgWikiEditorEnabledModules.templateEditor ) {
@@ -1976,5 +1755,3 @@
19771756 $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'templateEditor' );
19781757 }
19791758 });
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 @@
22
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 &amp; italic","wikieditor-toolbar-help-content-bolditalic-syntax":"'''''Bold &amp; italic text'''''","wikieditor-toolbar-help-content-bolditalic-result":"<strong><em>Bold &amp; 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.&lt;ref name=\"test\"&gt;[http://www.example.org Link text], additional text.&lt;/ref&gt;","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":"&lt;ref name=\"test\" /&gt;","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":"&lt;references /&gt;","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;}
88 if(wgWikiEditorPreferences.toolbar.dialogs){$j('#wpTextbox1').addClass('toolbar-dialogs');}
99 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:'\
1010 <fieldset>\
@@ -175,5 +175,5 @@
176176 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;}
177177 $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});}
178178 $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 @@
22 /* JavaScript for WikiEditor Toc module */
33
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 -
104 mw.ready( function() {
115 // Check preferences for toolbar
126 if ( !wgWikiEditorPreferences || !( wgWikiEditorPreferences.toc && wgWikiEditorPreferences.toc.enable ) ) {
@@ -17,5 +11,3 @@
1812 { 'toc' : { 'rtl' : ( $j( 'body' ).is( '.rtl' ) ) } } );
1913 }
2014 });
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 @@
22 /* JavaScript for WikiEditor Publish module */
33
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 -});
154 mw.ready( function() {
165 // Check preferences for publish
176 if ( !wgWikiEditorEnabledModules.publish ) {
@@ -21,5 +10,3 @@
2211 $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'publish' );
2312 }
2413 });
25 -
26 -mw.loadDone( 'wikiEditor.config.publish' );
Index: trunk/extensions/UsabilityInitiative/WikiEditor/Modules/Highlight/Highlight.js
@@ -1,9 +1,5 @@
22 /* JavaScript for WikiEditor Highlight module */
33
4 -mw.addMessages({
5 - "wikieditor-highlight-preference" : "Enable syntax highlighting when editing"
6 -});
7 -
84 mw.ready( function() {
95 // Check preferences for highlight
106 if ( !wgWikiEditorEnabledModules.highlight ) {
@@ -14,5 +10,3 @@
1511 $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'highlight' );
1612 }
1713 });
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 @@
22 /* JavaScript for WikiEditor Preview module */
33
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 -});
104 mw.ready( function() {
115 // Check preferences for preview
126 if ( !wgWikiEditorEnabledModules.preview ) {
@@ -16,5 +10,3 @@
1711 $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'preview' );
1812 }
1913 });
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 @@
22 /* JavaScript for WikiEditor Template Editor module */
33
4 -mw.addMessages({
5 - "wikieditor-template-editor-preference": "Enable form-based editing of wiki templates"
6 -});
7 -
84 mw.ready( function() {
95 // Check preferences for templateEditor
106 if ( !wgWikiEditorEnabledModules.templateEditor ) {
@@ -14,5 +10,3 @@
1511 $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'templateEditor' );
1612 }
1713 });
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 @@
22 /* JavaScript for WikiEditor Toolbar module */
33
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 &amp; italic",
137 - "wikieditor-toolbar-help-content-bolditalic-syntax" : "'''''Bold &amp; italic text'''''",
138 - "wikieditor-toolbar-help-content-bolditalic-result" : "<strong><em>Bold &amp; 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.&lt;ref name=\"test\"&gt;[http://www.example.org Link text], additional text.&lt;/ref&gt;",
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" : "&lt;ref name=\"test\" /&gt;",
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" : "&lt;references /&gt;",
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 -
1894 mw.ready( function() {
1905 // Check preferences for toolbar
1916 if ( !wgWikiEditorEnabledModules.toolbar ) {
@@ -1879,4 +1694,3 @@
18801695
18811696 } } );
18821697
1883 -mw.loadDone( 'wikiEditor.config.toolbar' );
\ No newline at end of file
Index: trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.php
@@ -49,9 +49,6 @@
5050 // Add Autoload Classes
5151 $wgAutoloadClasses['WikiEditorHooks'] = dirname( __FILE__ ) . '/WikiEditor.hooks.php';
5252
53 -// Add javascript loader
54 -$wgExtensionJavascriptLoader[] = "UsabilityInitiative/WikiEditor/loader.js";
55 -
5653 // Add Internationalized Messages
5754 $wgExtensionMessagesFiles['WikiEditor'] = dirname( __FILE__ ) . '/WikiEditor.i18n.php';
5855 $wgExtensionMessagesFiles['WikiEditorHighlight'] = dirname( __FILE__ ) . '/Modules/Highlight/Highlight.i18n.php';
Index: trunk/extensions/UsabilityInitiative/WikiEditor/WikiEditor.hooks.php
@@ -7,47 +7,23 @@
88 */
99
1010 class WikiEditorHooks {
11 -
 11+
1212 /* Static Members */
13 -
 13+
1414 static $scripts = array(
1515 '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 ),
4622 ),
4723 'combined' => array(
48 - array( 'src' => 'WikiEditor.combined.js', 'version' => 37 ),
 24+ array( 'src' => 'WikiEditor.combined.js', 'version' => 38 ),
4925 ),
5026 'minified' => array(
51 - array( 'src' => 'WikiEditor.combined.min.js', 'version' => 37 ),
 27+ array( 'src' => 'WikiEditor.combined.min.js', 'version' => 38 ),
5228 ),
5329 );
5430 static $messages = array(
@@ -357,22 +333,22 @@
358334 ),
359335 ),
360336 );
361 -
 337+
362338 /* Static Functions */
363 -
 339+
364340 /**
365341 * From here down, with very little modification is a copy of what's found in Vector/Vector.hooks.php.
366342 * Perhaps we could find a clean way of eliminating this redundancy.
367343 */
368 -
 344+
369345 /**
370346 * EditPage::showEditForm:initial hook
371347 * Adds the modules to the edit form
372348 */
373349 public static function addModules( &$toolbar ) {
374 - global $wgOut, $wgUser, $wgJsMimeType, $wgVersion;
 350+ global $wgOut, $wgUser, $wgJsMimeType;
375351 global $wgWikiEditorModules, $wgUsabilityInitiativeResourceMode;
376 -
 352+
377353 // Modules
378354 $preferences = array();
379355 $enabledModules = array();
@@ -420,15 +396,9 @@
421397 UsabilityInitiativeHooks::addMessages( self::$messages );
422398 // Add all scripts
423399 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+ );
433403 }
434404 // Preferences (maybe the UsabilityInitiative class could do most of this for us?)
435405 $wgOut->addScript(
@@ -441,14 +411,14 @@
442412 );
443413 return true;
444414 }
445 -
 415+
446416 /**
447417 * GetPreferences hook
448418 * Add module-releated items to the preferences
449419 */
450420 public static function addPreferences( $user, &$defaultPreferences ) {
451421 global $wgWikiEditorModules;
452 -
 422+
453423 foreach ( $wgWikiEditorModules as $module => $enable ) {
454424 if ( ( $enable['global'] || $enable['user'] ) &&
455425 isset( self::$modules[$module]['i18n'] ) &&
@@ -458,7 +428,7 @@
459429 if ( $key == 'enable' && !$enable['user'] ) {
460430 continue;
461431 }
462 -
 432+
463433 // The preference with the key 'enable' determines if the rest are even relevant, so in the future
464434 // setting up some dependencies on that might make sense
465435 $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 @@
63886388 * $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'toolbar', { ... config ... } );
63896389 *
63906390 */
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 -
63986391 ( function( $ ) {
63996392
64006393 /**
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 @@
430430 $(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)
431431 options.end=options.start;if(options.endContainer==undefined)
432432 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;}
434434 if(!($.browser.name in $.wikiEditor.browsers[$('body').is('.rtl')?'rtl':'ltr'])){return $.wikiEditor.supported=true;}
435435 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;}}}
436436 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
199 + native
Index: trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.js
@@ -8,13 +8,6 @@
99 * $j( 'textarea#wpTextbox1' ).wikiEditor( 'addModule', 'toolbar', { ... config ... } );
1010 *
1111 */
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 -
1912 ( function( $ ) {
2013
2114 /**
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
1378 + native
Index: trunk/extensions/UsabilityInitiative/Makefile
@@ -22,11 +22,11 @@
2323 js/plugins/jquery.autoEllipsis.js\
2424 js/plugins/jquery.browser.js\
2525 js/plugins/jquery.collapsibleTabs.js\
26 - js/js2stopgap/jquery.cookie.js\
 26+ js/plugins/jquery.cookie.js\
2727 js/plugins/jquery.delayedBind.js\
2828 js/plugins/jquery.namespaceSelect.js\
2929 js/plugins/jquery.suggestions.js\
30 - js/js2stopgap/jquery.textSelection.js\
 30+ js/plugins/jquery.textSelection.js\
3131 js/plugins/jquery.wikiEditor.js\
3232 js/plugins/jquery.wikiEditor.dialogs.js\
3333 js/plugins/jquery.wikiEditor.highlight.js\

Follow-up revisions

RevisionCommit summaryAuthorDate
r61608wmf-deployment: Merge (parts of) r59780, r61431, r61489, r61557, r61558, r615...catrope21:59, 27 January 2010

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r61137* added inline section edit to wikiEditor ( using js2 / mwEmbed conventions )...dale17:42, 16 January 2010
r61182UsabilityInitiative: (bug 2124) Fix for r61137: use <1.17 instead of >1.17 in...catrope23:36, 17 January 2010
r61184UsabilityInitiative: Fix for r61137: remove trailing tabcatrope23:48, 17 January 2010

Status & tagging log