Index: trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php |
— | — | @@ -76,16 +76,16 @@ |
77 | 77 | array( 'src' => 'js/plugins/jquery.wikiEditor.highlight.js', 'version' => 29 ), |
78 | 78 | array( 'src' => 'js/plugins/jquery.wikiEditor.toolbar.js', 'version' => 47 ), |
79 | 79 | array( 'src' => 'js/plugins/jquery.wikiEditor.dialogs.js', 'version' => 12 ), |
80 | | - array( 'src' => 'js/plugins/jquery.wikiEditor.toc.js', 'version' => 79 ), |
| 80 | + array( 'src' => 'js/plugins/jquery.wikiEditor.toc.js', 'version' => 80 ), |
81 | 81 | array( 'src' => 'js/plugins/jquery.wikiEditor.preview.js', 'version' => 10 ), |
82 | 82 | array( 'src' => 'js/plugins/jquery.wikiEditor.templateEditor.js', 'version' => 17 ), |
83 | 83 | array( 'src' => 'js/plugins/jquery.wikiEditor.publish.js', 'version' => 2 ), |
84 | 84 | ), |
85 | 85 | 'combined' => array( |
86 | | - array( 'src' => 'js/plugins.combined.js', 'version' => 222 ), |
| 86 | + array( 'src' => 'js/plugins.combined.js', 'version' => 223 ), |
87 | 87 | ), |
88 | 88 | 'minified' => array( |
89 | | - array( 'src' => 'js/plugins.combined.min.js', 'version' => 222 ), |
| 89 | + array( 'src' => 'js/plugins.combined.min.js', 'version' => 223 ), |
90 | 90 | ), |
91 | 91 | ), |
92 | 92 | ); |
Index: trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.toc.js |
— | — | @@ -11,6 +11,8 @@ |
12 | 12 | minimumWidth: '70px', |
13 | 13 | // Minimum width of the wikiText area |
14 | 14 | textMinimumWidth: '450px', |
| 15 | + // The style property to be used for positioning the flexible module in regular mode |
| 16 | + flexProperty: 'marginRight', |
15 | 17 | // Boolean var indicating text direction |
16 | 18 | rtl: false |
17 | 19 | }, |
— | — | @@ -143,7 +145,7 @@ |
144 | 146 | return; |
145 | 147 | } |
146 | 148 | $.wikiEditor.modules.toc.cfg.rtl = config.rtl; |
147 | | - |
| 149 | + $.wikiEditor.modules.toc.cfg.flexProperty = config.rtl ? 'marginLeft' : 'marginRight'; |
148 | 150 | var height = context.$ui.find( '.wikiEditor-ui-left' ).height(); |
149 | 151 | context.modules.toc.$toc = $( '<div />' ) |
150 | 152 | .addClass( 'wikiEditor-ui-toc' ) |
— | — | @@ -165,9 +167,9 @@ |
166 | 168 | context.$ui.find( '.wikiEditor-ui-right' ) |
167 | 169 | .css( 'width', fixedWidth + 'px' ); |
168 | 170 | context.$ui.find( '.wikiEditor-ui-left' ) |
169 | | - .css( 'marginRight', ( -1 * fixedWidth ) + 'px' ) |
| 171 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, ( -1 * fixedWidth ) + 'px' ) |
170 | 172 | .children() |
171 | | - .css( 'marginRight', fixedWidth + 'px' ); |
| 173 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, fixedWidth + 'px' ); |
172 | 174 | } else if( context.modules.toc.$toc.data( 'positionMode' ) == 'goofy' ) { |
173 | 175 | context.$ui.find( '.wikiEditor-ui-left' ) |
174 | 176 | .css( 'width', fixedWidth ); |
— | — | @@ -189,11 +191,12 @@ |
190 | 192 | width = $.wikiEditor.modules.toc.cfg.textMinimumWidth; |
191 | 193 | // set our styles for goofy mode |
192 | 194 | context.$ui.find( '.wikiEditor-ui-left' ) |
193 | | - .css( { 'marginRight': '', 'position': 'absolute', 'float': 'none', |
| 195 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '') |
| 196 | + .css( { 'position': 'absolute', 'float': 'none', |
194 | 197 | 'left': $.wikiEditor.modules.toc.cfg.rtl ? 'auto': 0, |
195 | 198 | 'right' : $.wikiEditor.modules.toc.cfg.rtl ? 0 : 'auto' } ) |
196 | 199 | .children() |
197 | | - .css( 'marginRight', '' ); |
| 200 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '' ); |
198 | 201 | context.$ui.find( '.wikiEditor-ui-right' ) |
199 | 202 | .css( { 'width': 'auto', 'position': 'absolute', 'float': 'none', |
200 | 203 | 'right': $.wikiEditor.modules.toc.cfg.rtl ? 'auto': 0, |
— | — | @@ -212,7 +215,8 @@ |
213 | 216 | context.$wikitext |
214 | 217 | .css( { 'position': '', 'height': '' } ); |
215 | 218 | context.$ui.find( '.wikiEditor-ui-right' ) |
216 | | - .css( { 'marginRight': '', 'position': '', 'left': '', 'right': '', 'float': '', 'top': '', 'height': '' } ); |
| 219 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '' ) |
| 220 | + .css( { 'position': '', 'left': '', 'right': '', 'float': '', 'top': '', 'height': '' } ); |
217 | 221 | context.$ui.find( '.wikiEditor-ui-left' ) |
218 | 222 | .css( { 'width': '', 'position': '', 'left': '', 'float': '', 'right': '' } ); |
219 | 223 | } |
— | — | @@ -227,9 +231,9 @@ |
228 | 232 | } |
229 | 233 | context.$ui.find( '.wikiEditor-ui-right' ).hide(); |
230 | 234 | context.$ui.find( '.wikiEditor-ui-left' ) |
231 | | - .css( 'marginRight', '' ) |
| 235 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '' ) |
232 | 236 | .children() |
233 | | - .css( 'marginRight', '' ); |
| 237 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '' ); |
234 | 238 | } |
235 | 239 | context.modules.toc.$toc.data( 'positionMode', 'disabled' ); |
236 | 240 | }, |
— | — | @@ -296,13 +300,16 @@ |
297 | 301 | } |
298 | 302 | var pT = $this.parent().position().top - 1; |
299 | 303 | context.modules.toc.$toc.data( 'collapsed', true ); |
| 304 | + var leftParam = {}, leftChildParam = {}; |
| 305 | + leftParam[ $.wikiEditor.modules.toc.cfg.flexProperty ] = '-1px'; |
| 306 | + leftChildParam[ $.wikiEditor.modules.toc.cfg.flexProperty ] = '1px'; |
300 | 307 | context.$ui.find( '.wikiEditor-ui-left' ) |
301 | | - .animate( { 'marginRight': '-1px' }, 'fast', function() { |
302 | | - $( this ).css( 'marginRight', 0 ); |
| 308 | + .animate( leftParam, 'fast', function() { |
| 309 | + $( this ).css( $.wikiEditor.modules.toc.cfg.flexProperty, 0 ); |
303 | 310 | } ) |
304 | 311 | .children() |
305 | | - .animate( { 'marginRight': '1px' }, 'fast', function() { |
306 | | - $( this ).css( 'marginRight', 0 ); |
| 312 | + .animate( leftChildParam, 'fast', function() { |
| 313 | + $( this ).css( $.wikiEditor.modules.toc.cfg.flexProperty, 0 ); |
307 | 314 | } ); |
308 | 315 | context.$ui.find( '.wikiEditor-ui-right' ) |
309 | 316 | .css( { |
— | — | @@ -339,10 +346,13 @@ |
340 | 347 | // check if we've got enough room to open to our stored width |
341 | 348 | if ( availableSpace < openWidth ) openWidth = availableSpace; |
342 | 349 | context.$ui.find( '.wikiEditor-ui-toc-expandControl' ).hide(); |
| 350 | + var leftParam = {}, leftChildParam = {}; |
| 351 | + leftParam[ $.wikiEditor.modules.toc.cfg.flexProperty ] = parseFloat( openWidth ) * -1; |
| 352 | + leftChildParam[ $.wikiEditor.modules.toc.cfg.flexProperty ] = openWidth; |
343 | 353 | context.$ui.find( '.wikiEditor-ui-left' ) |
344 | | - .animate( { 'marginRight': ( parseFloat( openWidth ) * -1 ) }, 'fast' ) |
| 354 | + .animate( leftParam, 'fast' ) |
345 | 355 | .children() |
346 | | - .animate( { 'marginRight': openWidth }, 'fast' ); |
| 356 | + .animate( leftChildParam, 'fast' ); |
347 | 357 | context.$ui.find( '.wikiEditor-ui-right' ) |
348 | 358 | .show() |
349 | 359 | .css( 'marginTop', '1px' ) |
— | — | @@ -492,8 +502,9 @@ |
493 | 503 | // for some odd reason, ui.size.width seems a step ahead of what the *actual* width of |
494 | 504 | // the resizable is |
495 | 505 | $( this ).css( { 'width': ui.size.width, 'top': 'auto', 'height': 'auto' } ) |
496 | | - .data( 'wikiEditor-ui-left' ).css( 'marginRight', ( -1 * ui.size.width ) ) |
497 | | - .children().css( 'marginRight', ui.size.width ); |
| 506 | + .data( 'wikiEditor-ui-left' ) |
| 507 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, ( -1 * ui.size.width ) ) |
| 508 | + .children().css( $.wikiEditor.modules.toc.cfg.flexProperty, ui.size.width ); |
498 | 509 | // Let the UI know things have moved around |
499 | 510 | context.fn.trigger( 'resize' ); |
500 | 511 | }, |
Index: trunk/extensions/UsabilityInitiative/js/plugins.combined.js |
— | — | @@ -9119,6 +9119,8 @@ |
9120 | 9120 | minimumWidth: '70px', |
9121 | 9121 | // Minimum width of the wikiText area |
9122 | 9122 | textMinimumWidth: '450px', |
| 9123 | + // The style property to be used for positioning the flexible module in regular mode |
| 9124 | + flexProperty: 'marginRight', |
9123 | 9125 | // Boolean var indicating text direction |
9124 | 9126 | rtl: false |
9125 | 9127 | }, |
— | — | @@ -9251,7 +9253,7 @@ |
9252 | 9254 | return; |
9253 | 9255 | } |
9254 | 9256 | $.wikiEditor.modules.toc.cfg.rtl = config.rtl; |
9255 | | - |
| 9257 | + $.wikiEditor.modules.toc.cfg.flexProperty = config.rtl ? 'marginLeft' : 'marginRight'; |
9256 | 9258 | var height = context.$ui.find( '.wikiEditor-ui-left' ).height(); |
9257 | 9259 | context.modules.toc.$toc = $( '<div />' ) |
9258 | 9260 | .addClass( 'wikiEditor-ui-toc' ) |
— | — | @@ -9273,9 +9275,9 @@ |
9274 | 9276 | context.$ui.find( '.wikiEditor-ui-right' ) |
9275 | 9277 | .css( 'width', fixedWidth + 'px' ); |
9276 | 9278 | context.$ui.find( '.wikiEditor-ui-left' ) |
9277 | | - .css( 'marginRight', ( -1 * fixedWidth ) + 'px' ) |
| 9279 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, ( -1 * fixedWidth ) + 'px' ) |
9278 | 9280 | .children() |
9279 | | - .css( 'marginRight', fixedWidth + 'px' ); |
| 9281 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, fixedWidth + 'px' ); |
9280 | 9282 | } else if( context.modules.toc.$toc.data( 'positionMode' ) == 'goofy' ) { |
9281 | 9283 | context.$ui.find( '.wikiEditor-ui-left' ) |
9282 | 9284 | .css( 'width', fixedWidth ); |
— | — | @@ -9297,11 +9299,12 @@ |
9298 | 9300 | width = $.wikiEditor.modules.toc.cfg.textMinimumWidth; |
9299 | 9301 | // set our styles for goofy mode |
9300 | 9302 | context.$ui.find( '.wikiEditor-ui-left' ) |
9301 | | - .css( { 'marginRight': '', 'position': 'absolute', 'float': 'none', |
| 9303 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '') |
| 9304 | + .css( { 'position': 'absolute', 'float': 'none', |
9302 | 9305 | 'left': $.wikiEditor.modules.toc.cfg.rtl ? 'auto': 0, |
9303 | 9306 | 'right' : $.wikiEditor.modules.toc.cfg.rtl ? 0 : 'auto' } ) |
9304 | 9307 | .children() |
9305 | | - .css( 'marginRight', '' ); |
| 9308 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '' ); |
9306 | 9309 | context.$ui.find( '.wikiEditor-ui-right' ) |
9307 | 9310 | .css( { 'width': 'auto', 'position': 'absolute', 'float': 'none', |
9308 | 9311 | 'right': $.wikiEditor.modules.toc.cfg.rtl ? 'auto': 0, |
— | — | @@ -9320,7 +9323,8 @@ |
9321 | 9324 | context.$wikitext |
9322 | 9325 | .css( { 'position': '', 'height': '' } ); |
9323 | 9326 | context.$ui.find( '.wikiEditor-ui-right' ) |
9324 | | - .css( { 'marginRight': '', 'position': '', 'left': '', 'right': '', 'float': '', 'top': '', 'height': '' } ); |
| 9327 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '' ) |
| 9328 | + .css( { 'position': '', 'left': '', 'right': '', 'float': '', 'top': '', 'height': '' } ); |
9325 | 9329 | context.$ui.find( '.wikiEditor-ui-left' ) |
9326 | 9330 | .css( { 'width': '', 'position': '', 'left': '', 'float': '', 'right': '' } ); |
9327 | 9331 | } |
— | — | @@ -9335,9 +9339,9 @@ |
9336 | 9340 | } |
9337 | 9341 | context.$ui.find( '.wikiEditor-ui-right' ).hide(); |
9338 | 9342 | context.$ui.find( '.wikiEditor-ui-left' ) |
9339 | | - .css( 'marginRight', '' ) |
| 9343 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '' ) |
9340 | 9344 | .children() |
9341 | | - .css( 'marginRight', '' ); |
| 9345 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, '' ); |
9342 | 9346 | } |
9343 | 9347 | context.modules.toc.$toc.data( 'positionMode', 'disabled' ); |
9344 | 9348 | }, |
— | — | @@ -9404,13 +9408,16 @@ |
9405 | 9409 | } |
9406 | 9410 | var pT = $this.parent().position().top - 1; |
9407 | 9411 | context.modules.toc.$toc.data( 'collapsed', true ); |
| 9412 | + var leftParam = {}, leftChildParam = {}; |
| 9413 | + leftParam[ $.wikiEditor.modules.toc.cfg.flexProperty ] = '-1px'; |
| 9414 | + leftChildParam[ $.wikiEditor.modules.toc.cfg.flexProperty ] = '1px'; |
9408 | 9415 | context.$ui.find( '.wikiEditor-ui-left' ) |
9409 | | - .animate( { 'marginRight': '-1px' }, 'fast', function() { |
9410 | | - $( this ).css( 'marginRight', 0 ); |
| 9416 | + .animate( leftParam, 'fast', function() { |
| 9417 | + $( this ).css( $.wikiEditor.modules.toc.cfg.flexProperty, 0 ); |
9411 | 9418 | } ) |
9412 | 9419 | .children() |
9413 | | - .animate( { 'marginRight': '1px' }, 'fast', function() { |
9414 | | - $( this ).css( 'marginRight', 0 ); |
| 9420 | + .animate( leftChildParam, 'fast', function() { |
| 9421 | + $( this ).css( $.wikiEditor.modules.toc.cfg.flexProperty, 0 ); |
9415 | 9422 | } ); |
9416 | 9423 | context.$ui.find( '.wikiEditor-ui-right' ) |
9417 | 9424 | .css( { |
— | — | @@ -9447,10 +9454,13 @@ |
9448 | 9455 | // check if we've got enough room to open to our stored width |
9449 | 9456 | if ( availableSpace < openWidth ) openWidth = availableSpace; |
9450 | 9457 | context.$ui.find( '.wikiEditor-ui-toc-expandControl' ).hide(); |
| 9458 | + var leftParam = {}, leftChildParam = {}; |
| 9459 | + leftParam[ $.wikiEditor.modules.toc.cfg.flexProperty ] = parseFloat( openWidth ) * -1; |
| 9460 | + leftChildParam[ $.wikiEditor.modules.toc.cfg.flexProperty ] = openWidth; |
9451 | 9461 | context.$ui.find( '.wikiEditor-ui-left' ) |
9452 | | - .animate( { 'marginRight': ( parseFloat( openWidth ) * -1 ) }, 'fast' ) |
| 9462 | + .animate( leftParam, 'fast' ) |
9453 | 9463 | .children() |
9454 | | - .animate( { 'marginRight': openWidth }, 'fast' ); |
| 9464 | + .animate( leftChildParam, 'fast' ); |
9455 | 9465 | context.$ui.find( '.wikiEditor-ui-right' ) |
9456 | 9466 | .show() |
9457 | 9467 | .css( 'marginTop', '1px' ) |
— | — | @@ -9600,8 +9610,9 @@ |
9601 | 9611 | // for some odd reason, ui.size.width seems a step ahead of what the *actual* width of |
9602 | 9612 | // the resizable is |
9603 | 9613 | $( this ).css( { 'width': ui.size.width, 'top': 'auto', 'height': 'auto' } ) |
9604 | | - .data( 'wikiEditor-ui-left' ).css( 'marginRight', ( -1 * ui.size.width ) ) |
9605 | | - .children().css( 'marginRight', ui.size.width ); |
| 9614 | + .data( 'wikiEditor-ui-left' ) |
| 9615 | + .css( $.wikiEditor.modules.toc.cfg.flexProperty, ( -1 * ui.size.width ) ) |
| 9616 | + .children().css( $.wikiEditor.modules.toc.cfg.flexProperty, ui.size.width ); |
9606 | 9617 | // Let the UI know things have moved around |
9607 | 9618 | context.fn.trigger( 'resize' ); |
9608 | 9619 | }, |
Index: trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js |
— | — | @@ -627,7 +627,7 @@ |
628 | 628 | nameEndIndex=nameEnd.index+oldDivider+2;ranges.push(new Range(ranges[ranges.length-1].end,nameBeginIndex));nameIndex=ranges.push(new Range(nameBeginIndex,nameEndIndex))-1;currentValue=currentField.substring(currentField.indexOf('=')+1);oldDivider+=currentField.indexOf('=')+1;valueBegin=currentValue.match(/\S+/);if(valueBegin==null){continue;} |
629 | 629 | valueBeginIndex=valueBegin.index+oldDivider+1;valueEnd=currentValue.match(/[^\s]\s*$/);if(valueEnd==null){continue;} |
630 | 630 | valueEndIndex=valueEnd.index+oldDivider+2;equalsIndex=ranges.push(new Range(ranges[ranges.length-1].end,valueBeginIndex))-1;valueIndex=ranges.push(new Range(valueBeginIndex,valueEndIndex))-1;params.push(new Param(wikitext.substring(nameBeginIndex,nameEndIndex),wikitext.substring(valueBeginIndex,valueEndIndex),currentParamNumber,nameIndex,equalsIndex,valueIndex));paramsByName[wikitext.substring(nameBeginIndex,nameEndIndex)]=currentParamNumber;}} |
631 | | -ranges.push(new Range(valueEndIndex,wikitext.length));this.ranges=ranges;this.wikitext=wikitext;this.params=params;this.paramsByName=paramsByName;this.templateNameIndex=templateNameIndex;}}};})(jQuery);(function($){$.wikiEditor.modules.toc={cfg:{defaultWidth:'166px',minimumWidth:'70px',textMinimumWidth:'450px',rtl:false},api:{},evt:{change:function(context,event){$.wikiEditor.modules.toc.fn.update(context);},ready:function(context,event){$.wikiEditor.modules.toc.fn.build(context);context.$content.parent().blur(function(){var context=event.data.context;$.wikiEditor.modules.toc.fn.unhighlight(context);});$.wikiEditor.modules.toc.evt.resize(context);},resize:function(context,event){var availableWidth=context.$wikitext.width()-parseFloat($.wikiEditor.modules.toc.cfg.textMinimumWidth),totalMinWidth=parseFloat($.wikiEditor.modules.toc.cfg.minimumWidth)+ |
| 631 | +ranges.push(new Range(valueEndIndex,wikitext.length));this.ranges=ranges;this.wikitext=wikitext;this.params=params;this.paramsByName=paramsByName;this.templateNameIndex=templateNameIndex;}}};})(jQuery);(function($){$.wikiEditor.modules.toc={cfg:{defaultWidth:'166px',minimumWidth:'70px',textMinimumWidth:'450px',flexProperty:'marginRight',rtl:false},api:{},evt:{change:function(context,event){$.wikiEditor.modules.toc.fn.update(context);},ready:function(context,event){$.wikiEditor.modules.toc.fn.build(context);context.$content.parent().blur(function(){var context=event.data.context;$.wikiEditor.modules.toc.fn.unhighlight(context);});$.wikiEditor.modules.toc.evt.resize(context);},resize:function(context,event){var availableWidth=context.$wikitext.width()-parseFloat($.wikiEditor.modules.toc.cfg.textMinimumWidth),totalMinWidth=parseFloat($.wikiEditor.modules.toc.cfg.minimumWidth)+ |
632 | 632 | parseFloat($.wikiEditor.modules.toc.cfg.textMinimumWidth);context.$ui.find('.wikiEditor-ui-right').resizable('option','maxWidth',availableWidth);if(context.modules.toc.$toc.data('positionMode')!='disabled'&&context.$wikitext.width()<totalMinWidth){$.wikiEditor.modules.toc.fn.disable(context);}else if(context.modules.toc.$toc.data('positionMode')=='disabled'&&context.$wikitext.width()>totalMinWidth){$.wikiEditor.modules.toc.fn.enable(context);}else if(context.modules.toc.$toc.data('positionMode')=='regular'&&context.$ui.find('.wikiEditor-ui-right').width()>availableWidth){$.wikiEditor.modules.toc.fn.switchLayout(context);}else if(context.modules.toc.$toc.data('positionMode')=='goofy'&&context.modules.toc.$toc.data('previousWidth')<context.$wikitext.width()){$.wikiEditor.modules.toc.fn.switchLayout(context);} |
633 | 633 | if(context.modules.toc.$toc.data('positionMode')=='goofy'){context.modules.toc.$toc.find('div').autoEllipsis({'position':'right','tooltip':true,'restoreText':true});} |
634 | 634 | if(!context.modules.toc.$toc.data('collapsed')){context.modules.toc.$toc.height(context.$ui.find('.wikiEditor-ui-left').height()- |
— | — | @@ -635,15 +635,15 @@ |
636 | 636 | context.modules.toc.$toc.data('previousWidth',context.$wikitext.width());},mark:function(context,event){var hash='';var markers=context.modules.highlight.markers;var tokenArray=context.modules.highlight.tokenArray;var outline=context.data.outline=[];var h=0;for(var i=0;i<tokenArray.length;i++){if(tokenArray[i].label!='TOC_HEADER'){continue;} |
637 | 637 | h++;markers.push({index:h,start:tokenArray[i].tokenStart,end:tokenArray[i].offset,type:'toc',anchor:'before',afterWrap:function(node){var marker=$(node).data('marker');$(node).addClass('wikiEditor-toc-header').addClass('wikiEditor-toc-section-'+marker.index).data('section',marker.index);},onSkip:function(node){var marker=$(node).data('marker');if($(node).data('section')!=marker.index){$(node).removeClass('wikiEditor-toc-section-'+$(node).data('section')).addClass('wikiEditor-toc-section-'+marker.index).data('section',marker.index);}},getAnchor:function(ca1,ca2){return $(ca1.parentNode.previousSibling).is('div.wikiEditor-toc-header')?ca1.parentNode.previousSibling:null;}});hash+=tokenArray[i].match[2]+'\n';outline.push({'text':tokenArray[i].match[2],'level':tokenArray[i].match[1].length,'index':h});} |
638 | 638 | if(typeof context.modules.toc.lastHash=='undefined'||context.modules.toc.lastHash!==hash){$.wikiEditor.modules.toc.fn.build(context);$.wikiEditor.modules.toc.fn.update(context);context.modules.toc.lastHash=hash;}}},exp:[{'regex':/^(={1,6})([^\r\n]+?)\1\s*$/m,'label':'TOC_HEADER','markAfter':true}],fn:{create:function(context,config){if('$toc'in context.modules.toc){return;} |
639 | | -$.wikiEditor.modules.toc.cfg.rtl=config.rtl;var height=context.$ui.find('.wikiEditor-ui-left').height();context.modules.toc.$toc=$('<div />').addClass('wikiEditor-ui-toc').data('context',context).data('positionMode','regular').data('collapsed',false);context.$ui.find('.wikiEditor-ui-right').append(context.modules.toc.$toc);context.modules.toc.$toc.height(context.$ui.find('.wikiEditor-ui-left').height());$.wikiEditor.modules.toc.fn.redraw(context,$.wikiEditor.modules.toc.cfg.defaultWidth);},redraw:function(context,fixedWidth){var fixedWidth=parseFloat(fixedWidth);if(context.modules.toc.$toc.data('positionMode')=='regular'){context.$ui.find('.wikiEditor-ui-right').css('width',fixedWidth+'px');context.$ui.find('.wikiEditor-ui-left').css('marginRight',(-1*fixedWidth)+'px').children().css('marginRight',fixedWidth+'px');}else if(context.modules.toc.$toc.data('positionMode')=='goofy'){context.$ui.find('.wikiEditor-ui-left').css('width',fixedWidth);context.$ui.find('.wikiEditor-ui-right').css($.wikiEditor.modules.toc.cfg.rtl?'right':'left',fixedWidth);context.$wikitext.css('height',context.$ui.find('.wikiEditor-ui-right').height());}},switchLayout:function(context){var width,height=context.$ui.find('.wikiEditor-ui-right').height();if(context.modules.toc.$toc.data('positionMode')=='regular'&&!context.modules.toc.$toc.data('collapsed')){context.modules.toc.$toc.data('positionMode','goofy');context.modules.toc.$toc.data('positionModeChangeAt',context.$ui.find('.wikiEditor-ui-right').width());width=$.wikiEditor.modules.toc.cfg.textMinimumWidth;context.$ui.find('.wikiEditor-ui-left').css({'marginRight':'','position':'absolute','float':'none','left':$.wikiEditor.modules.toc.cfg.rtl?'auto':0,'right':$.wikiEditor.modules.toc.cfg.rtl?0:'auto'}).children().css('marginRight','');context.$ui.find('.wikiEditor-ui-right').css({'width':'auto','position':'absolute','float':'none','right':$.wikiEditor.modules.toc.cfg.rtl?'auto':0,'left':$.wikiEditor.modules.toc.cfg.rtl?0:'auto'});context.$wikitext.css('position','relative');}else if(context.modules.toc.$toc.data('positionMode')=='goofy'){context.modules.toc.$toc.data('positionMode','regular');width=context.$wikitext.width()-context.$ui.find('.wikiEditor-ui-left').width();if(width>context.modules.toc.$toc.data('positionModeChangeAt')){width=context.modules.toc.$toc.data('positionModeChangeAt');} |
640 | | -context.$wikitext.css({'position':'','height':''});context.$ui.find('.wikiEditor-ui-right').css({'marginRight':'','position':'','left':'','right':'','float':'','top':'','height':''});context.$ui.find('.wikiEditor-ui-left').css({'width':'','position':'','left':'','float':'','right':''});} |
| 639 | +$.wikiEditor.modules.toc.cfg.rtl=config.rtl;$.wikiEditor.modules.toc.cfg.flexProperty=config.rtl?'marginLeft':'marginRight';var height=context.$ui.find('.wikiEditor-ui-left').height();context.modules.toc.$toc=$('<div />').addClass('wikiEditor-ui-toc').data('context',context).data('positionMode','regular').data('collapsed',false);context.$ui.find('.wikiEditor-ui-right').append(context.modules.toc.$toc);context.modules.toc.$toc.height(context.$ui.find('.wikiEditor-ui-left').height());$.wikiEditor.modules.toc.fn.redraw(context,$.wikiEditor.modules.toc.cfg.defaultWidth);},redraw:function(context,fixedWidth){var fixedWidth=parseFloat(fixedWidth);if(context.modules.toc.$toc.data('positionMode')=='regular'){context.$ui.find('.wikiEditor-ui-right').css('width',fixedWidth+'px');context.$ui.find('.wikiEditor-ui-left').css($.wikiEditor.modules.toc.cfg.flexProperty,(-1*fixedWidth)+'px').children().css($.wikiEditor.modules.toc.cfg.flexProperty,fixedWidth+'px');}else if(context.modules.toc.$toc.data('positionMode')=='goofy'){context.$ui.find('.wikiEditor-ui-left').css('width',fixedWidth);context.$ui.find('.wikiEditor-ui-right').css($.wikiEditor.modules.toc.cfg.rtl?'right':'left',fixedWidth);context.$wikitext.css('height',context.$ui.find('.wikiEditor-ui-right').height());}},switchLayout:function(context){var width,height=context.$ui.find('.wikiEditor-ui-right').height();if(context.modules.toc.$toc.data('positionMode')=='regular'&&!context.modules.toc.$toc.data('collapsed')){context.modules.toc.$toc.data('positionMode','goofy');context.modules.toc.$toc.data('positionModeChangeAt',context.$ui.find('.wikiEditor-ui-right').width());width=$.wikiEditor.modules.toc.cfg.textMinimumWidth;context.$ui.find('.wikiEditor-ui-left').css($.wikiEditor.modules.toc.cfg.flexProperty,'').css({'position':'absolute','float':'none','left':$.wikiEditor.modules.toc.cfg.rtl?'auto':0,'right':$.wikiEditor.modules.toc.cfg.rtl?0:'auto'}).children().css($.wikiEditor.modules.toc.cfg.flexProperty,'');context.$ui.find('.wikiEditor-ui-right').css({'width':'auto','position':'absolute','float':'none','right':$.wikiEditor.modules.toc.cfg.rtl?'auto':0,'left':$.wikiEditor.modules.toc.cfg.rtl?0:'auto'});context.$wikitext.css('position','relative');}else if(context.modules.toc.$toc.data('positionMode')=='goofy'){context.modules.toc.$toc.data('positionMode','regular');width=context.$wikitext.width()-context.$ui.find('.wikiEditor-ui-left').width();if(width>context.modules.toc.$toc.data('positionModeChangeAt')){width=context.modules.toc.$toc.data('positionModeChangeAt');} |
| 640 | +context.$wikitext.css({'position':'','height':''});context.$ui.find('.wikiEditor-ui-right').css($.wikiEditor.modules.toc.cfg.flexProperty,'').css({'position':'','left':'','right':'','float':'','top':'','height':''});context.$ui.find('.wikiEditor-ui-left').css({'width':'','position':'','left':'','float':'','right':''});} |
641 | 641 | $.wikiEditor.modules.toc.fn.redraw(context,width);},disable:function(context){if(context.modules.toc.$toc.data('collapsed')){context.$ui.find('.wikiEditor-ui-toc-expandControl').hide();}else{if(context.modules.toc.$toc.data('positionMode')=='goofy'){$.wikiEditor.modules.toc.fn.switchLayout(context);} |
642 | | -context.$ui.find('.wikiEditor-ui-right').hide();context.$ui.find('.wikiEditor-ui-left').css('marginRight','').children().css('marginRight','');} |
| 642 | +context.$ui.find('.wikiEditor-ui-right').hide();context.$ui.find('.wikiEditor-ui-left').css($.wikiEditor.modules.toc.cfg.flexProperty,'').children().css($.wikiEditor.modules.toc.cfg.flexProperty,'');} |
643 | 643 | context.modules.toc.$toc.data('positionMode','disabled');},enable:function(context){context.modules.toc.$toc.data('positionMode','regular');if(context.modules.toc.$toc.data('collapsed')){context.$ui.find('.wikiEditor-ui-toc-expandControl').show();}else{context.$ui.find('.wikiEditor-ui-right').show();$.wikiEditor.modules.toc.fn.redraw(context,$.wikiEditor.modules.toc.cfg.minimumWidth);context.modules.toc.$toc.find('div').autoEllipsis({'position':'right','tooltip':true,'restoreText':true});}},unhighlight:function(context){if(context){context.modules.toc.$toc.find('div').removeClass('current');}},update:function(context){var div=context.fn.beforeSelection('wikiEditor-toc-header');if(div===null){return;} |
644 | 644 | $.wikiEditor.modules.toc.fn.unhighlight(context);var section=div.data('section')||0;if(context.data.outline.length>0){var sectionLink=context.modules.toc.$toc.find('div.section-'+section);sectionLink.addClass('current');var relTop=sectionLink.offset().top-context.modules.toc.$toc.offset().top;var scrollTop=context.modules.toc.$toc.scrollTop();var divHeight=context.modules.toc.$toc.height();var sectionHeight=sectionLink.height();if(relTop<0) |
645 | 645 | context.modules.toc.$toc.scrollTop(scrollTop+relTop);else if(relTop+sectionHeight>divHeight) |
646 | 646 | context.modules.toc.$toc.scrollTop(scrollTop+relTop+sectionHeight-divHeight);}},collapse:function(event){var $this=$(this),context=$this.data('context');if(context.modules.toc.$toc.data('positionMode')=='goofy'){$.wikiEditor.modules.toc.fn.switchLayout(context);} |
647 | | -var pT=$this.parent().position().top-1;context.modules.toc.$toc.data('collapsed',true);context.$ui.find('.wikiEditor-ui-left').animate({'marginRight':'-1px'},'fast',function(){$(this).css('marginRight',0);}).children().animate({'marginRight':'1px'},'fast',function(){$(this).css('marginRight',0);});context.$ui.find('.wikiEditor-ui-right').css({'marginTop':'1px','position':'absolute','left':$.wikiEditor.modules.toc.cfg.rtl?0:'auto','right':$.wikiEditor.modules.toc.cfg.rtl?'auto':0,'top':pT}).fadeOut('fast',function(){$(this).hide().css({'marginTop':'0','width':'1px'});context.$ui.find('.wikiEditor-ui-toc-expandControl').fadeIn('fast');context.fn.trigger('tocCollapse');context.fn.trigger('resize');});$.cookie('wikiEditor-'+context.instance+'-toc-width',0);return false;},expand:function(event){var $this=$(this),context=$this.data('context'),openWidth=parseFloat(context.modules.toc.$toc.data('openWidth')),availableSpace=context.$wikitext.width()-parseFloat($.wikiEditor.modules.toc.cfg.textMinimumWidth);if(availableSpace<$.wikiEditor.modules.toc.cfg.textMinmumWidth)return false;context.modules.toc.$toc.data('collapsed',false);if(availableSpace<openWidth)openWidth=availableSpace;context.$ui.find('.wikiEditor-ui-toc-expandControl').hide();context.$ui.find('.wikiEditor-ui-left').animate({'marginRight':(parseFloat(openWidth)*-1)},'fast').children().animate({'marginRight':openWidth},'fast');context.$ui.find('.wikiEditor-ui-right').show().css('marginTop','1px').animate({'width':openWidth},'fast',function(){context.$content.trigger('mouseup');$(this).css({'marginTop':'0','position':'relative','right':'auto','left':'auto','top':'auto'});context.fn.trigger('tocExpand');context.fn.trigger('resize');});$.cookie('wikiEditor-'+context.instance+'-toc-width',context.modules.toc.$toc.data('openWidth'));return false;},build:function(context){function buildStructure(outline,offset,level){if(offset==undefined)offset=0;if(level==undefined)level=1;var sections=[];for(var i=offset;i<outline.length;i++){if(outline[i].nLevel==level){var sub=buildStructure(outline,i+1,level+1);if(sub.length){outline[i].sections=sub;} |
| 647 | +var pT=$this.parent().position().top-1;context.modules.toc.$toc.data('collapsed',true);var leftParam={},leftChildParam={};leftParam[$.wikiEditor.modules.toc.cfg.flexProperty]='-1px';leftChildParam[$.wikiEditor.modules.toc.cfg.flexProperty]='1px';context.$ui.find('.wikiEditor-ui-left').animate(leftParam,'fast',function(){$(this).css($.wikiEditor.modules.toc.cfg.flexProperty,0);}).children().animate(leftChildParam,'fast',function(){$(this).css($.wikiEditor.modules.toc.cfg.flexProperty,0);});context.$ui.find('.wikiEditor-ui-right').css({'marginTop':'1px','position':'absolute','left':$.wikiEditor.modules.toc.cfg.rtl?0:'auto','right':$.wikiEditor.modules.toc.cfg.rtl?'auto':0,'top':pT}).fadeOut('fast',function(){$(this).hide().css({'marginTop':'0','width':'1px'});context.$ui.find('.wikiEditor-ui-toc-expandControl').fadeIn('fast');context.fn.trigger('tocCollapse');context.fn.trigger('resize');});$.cookie('wikiEditor-'+context.instance+'-toc-width',0);return false;},expand:function(event){var $this=$(this),context=$this.data('context'),openWidth=parseFloat(context.modules.toc.$toc.data('openWidth')),availableSpace=context.$wikitext.width()-parseFloat($.wikiEditor.modules.toc.cfg.textMinimumWidth);if(availableSpace<$.wikiEditor.modules.toc.cfg.textMinmumWidth)return false;context.modules.toc.$toc.data('collapsed',false);if(availableSpace<openWidth)openWidth=availableSpace;context.$ui.find('.wikiEditor-ui-toc-expandControl').hide();var leftParam={},leftChildParam={};leftParam[$.wikiEditor.modules.toc.cfg.flexProperty]=parseFloat(openWidth)*-1;leftChildParam[$.wikiEditor.modules.toc.cfg.flexProperty]=openWidth;context.$ui.find('.wikiEditor-ui-left').animate(leftParam,'fast').children().animate(leftChildParam,'fast');context.$ui.find('.wikiEditor-ui-right').show().css('marginTop','1px').animate({'width':openWidth},'fast',function(){context.$content.trigger('mouseup');$(this).css({'marginTop':'0','position':'relative','right':'auto','left':'auto','top':'auto'});context.fn.trigger('tocExpand');context.fn.trigger('resize');});$.cookie('wikiEditor-'+context.instance+'-toc-width',context.modules.toc.$toc.data('openWidth'));return false;},build:function(context){function buildStructure(outline,offset,level){if(offset==undefined)offset=0;if(level==undefined)level=1;var sections=[];for(var i=offset;i<outline.length;i++){if(outline[i].nLevel==level){var sub=buildStructure(outline,i+1,level+1);if(sub.length){outline[i].sections=sub;} |
648 | 648 | sections[sections.length]=outline[i];}else if(outline[i].nLevel<level){break;}} |
649 | 649 | return sections;} |
650 | 650 | function buildList(structure){var list=$('<ul />');for(i in structure){var div=$('<div />').addClass('section-'+structure[i].index).data('index',structure[i].index).click(function(event){var wrapper=context.$content.find('.wikiEditor-toc-section-'+$(this).data('index'));if(wrapper.size()==0) |
— | — | @@ -654,7 +654,7 @@ |
655 | 655 | return list;} |
656 | 656 | function buildCollapseControls(){var $collapseControl=$('<div />'),$expandControl=$('<div />');$collapseControl.addClass('tab').addClass('tab-toc').append('<a href="#" />').bind('click.wikiEditor-toc',function(){context.modules.toc.$toc.trigger('collapse.wikiEditor-toc');return false;}).find('a').text(mw.usability.getMsg('wikieditor-toc-hide'));$expandControl.addClass('wikiEditor-ui-toc-expandControl').append('<a href="#" />').bind('click.wikiEditor-toc',function(){context.modules.toc.$toc.trigger('expand.wikiEditor-toc');return false;}).hide().find('a').text(mw.usability.getMsg('wikieditor-toc-show'));$collapseControl.insertBefore(context.modules.toc.$toc);context.$ui.find('.wikiEditor-ui-left .wikiEditor-ui-top').append($expandControl);} |
657 | 657 | function buildResizeControls(){context.$ui.data('resizableDone',true).find('.wikiEditor-ui-right').data('wikiEditor-ui-left',context.$ui.find('.wikiEditor-ui-left')).resizable({handles:'w,e',preventPositionLeftChange:true,minWidth:parseFloat($.wikiEditor.modules.toc.cfg.minimumWidth),start:function(e,ui){var $this=$(this);$('<div />').addClass('wikiEditor-ui-resize-mask').css({'position':'absolute','z-index':2,'left':0,'top':0,'bottom':0,'right':0}).appendTo(context.$ui.find('.wikiEditor-ui-left'));$this.resizable('option','maxWidth',$this.parent().width()- |
658 | | -parseFloat($.wikiEditor.modules.toc.cfg.textMinimumWidth));if(context.modules.toc.$toc.data('positionMode')=='goofy'){$.wikiEditor.modules.toc.fn.switchLayout(context);}},resize:function(e,ui){$(this).css({'width':ui.size.width,'top':'auto','height':'auto'}).data('wikiEditor-ui-left').css('marginRight',(-1*ui.size.width)).children().css('marginRight',ui.size.width);context.fn.trigger('resize');},stop:function(e,ui){context.$ui.find('.wikiEditor-ui-resize-mask').remove();context.$content.trigger('mouseup');if(ui.size.width<=parseFloat($.wikiEditor.modules.toc.cfg.minimumWidth)){context.modules.toc.$toc.trigger('collapse.wikiEditor-toc');}else{context.modules.toc.$toc.find('div').autoEllipsis({'position':'right','tooltip':true,'restoreText':true});context.modules.toc.$toc.data('openWidth',ui.size.width);$.cookie('wikiEditor-'+context.instance+'-toc-width',ui.size.width);} |
| 658 | +parseFloat($.wikiEditor.modules.toc.cfg.textMinimumWidth));if(context.modules.toc.$toc.data('positionMode')=='goofy'){$.wikiEditor.modules.toc.fn.switchLayout(context);}},resize:function(e,ui){$(this).css({'width':ui.size.width,'top':'auto','height':'auto'}).data('wikiEditor-ui-left').css($.wikiEditor.modules.toc.cfg.flexProperty,(-1*ui.size.width)).children().css($.wikiEditor.modules.toc.cfg.flexProperty,ui.size.width);context.fn.trigger('resize');},stop:function(e,ui){context.$ui.find('.wikiEditor-ui-resize-mask').remove();context.$content.trigger('mouseup');if(ui.size.width<=parseFloat($.wikiEditor.modules.toc.cfg.minimumWidth)){context.modules.toc.$toc.trigger('collapse.wikiEditor-toc');}else{context.modules.toc.$toc.find('div').autoEllipsis({'position':'right','tooltip':true,'restoreText':true});context.modules.toc.$toc.data('openWidth',ui.size.width);$.cookie('wikiEditor-'+context.instance+'-toc-width',ui.size.width);} |
659 | 659 | context.fn.trigger('resize');}});var handle=$.wikiEditor.modules.toc.cfg.rtl?'w':'e';context.$ui.find('.ui-resizable-'+handle).removeClass('ui-resizable-'+handle).addClass('ui-resizable-'+(handle=='w'?'e':'w')).addClass('wikiEditor-ui-toc-resize-grip');context.modules.toc.$toc.bind('collapse.wikiEditor-toc',$.wikiEditor.modules.toc.fn.collapse).bind('expand.wikiEditor-toc',$.wikiEditor.modules.toc.fn.expand);context.modules.toc.$toc.data('openWidth',$.wikiEditor.modules.toc.cfg.defaultWidth);if($.cookie('wikiEditor-'+context.instance+'-toc-width')==0){context.modules.toc.$toc.trigger('collapse.wikiEditor-toc',{data:context});}else if($.cookie('wikiEditor-'+context.instance+'-toc-width')>0){var initialWidth=$.cookie('wikiEditor-'+context.instance+'-toc-width');if(initialWidth<parseFloat($.wikiEditor.modules.toc.cfg.minimumWidth)) |
660 | 660 | initialWidth=parseFloat($.wikiEditor.modules.toc.cfg.minimumWidth)+1;context.modules.toc.$toc.data('openWidth',initialWidth+'px');$.wikiEditor.modules.toc.fn.redraw(context,initialWidth);}} |
661 | 661 | if(context.data.outline){var outline=context.data.outline;var lastLevel=0;var nLevel=0;for(var i=0;i<outline.length;i++){if(outline[i].level>lastLevel){nLevel++;} |