https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114418

Revision: 114418
Author:   christian
Date:     2012-03-22 00:32:21 +0000 (Thu, 22 Mar 2012)
Log Message:
-----------
adding clearState function for tools and using clearState if no selection exists

Modified Paths:
--------------
    trunk/extensions/VisualEditor/modules/ve/ui/ve.ui.Tool.js
    trunk/extensions/VisualEditor/modules/ve/ui/ve.ui.Toolbar.js

Modified: trunk/extensions/VisualEditor/modules/ve/ui/ve.ui.Tool.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ui/ve.ui.Tool.js   2012-03-21 
23:47:14 UTC (rev 114417)
+++ trunk/extensions/VisualEditor/modules/ve/ui/ve.ui.Tool.js   2012-03-22 
00:32:21 UTC (rev 114418)
@@ -22,3 +22,7 @@
 ve.ui.Tool.prototype.updateState = function() {
        throw 'Tool.updateState not implemented in this subclass:' + 
this.constructor;
 };
+
+ve.ui.Tool.prototype.clearState = function() {
+       this.$.removeClass( 'es-toolbarButtonTool-down' );
+}
\ No newline at end of file

Modified: trunk/extensions/VisualEditor/modules/ve/ui/ve.ui.Toolbar.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ui/ve.ui.Toolbar.js        
2012-03-21 23:47:14 UTC (rev 114417)
+++ trunk/extensions/VisualEditor/modules/ve/ui/ve.ui.Toolbar.js        
2012-03-22 00:32:21 UTC (rev 114418)
@@ -17,31 +17,35 @@
        this.tools = [];
 
        this.surfaceView.surfaceObserver.on( 'select', function ( selection ) {
-               var     annotations = _this.surfaceView.getAnnotations(),
-                       nodes = [],
-                       model = _this.surfaceView.documentView.model;
+               if ( selection !== null ) {
+                       var     annotations = 
_this.surfaceView.getAnnotations(),
+                               nodes = [],
+                               model = _this.surfaceView.documentView.model;
        
-               if ( selection.from === selection.to ) {
-                       nodes.push( model.getNodeFromOffset( selection.from ) );
-               } else {
-                       var     startNode = model.getNodeFromOffset( 
selection.start ),
-                               endNode = model.getNodeFromOffset( 
selection.end );
-                       if ( startNode === endNode ) {
-                               nodes.push( startNode );
+                       if ( selection.from === selection.to ) {
+                               nodes.push( model.getNodeFromOffset( 
selection.from ) );
                        } else {
-                               model.traverseLeafNodes( function( node ) {
-                                       nodes.push( node );
-                                       if( node === endNode ) {
-                                               return false;
-                                       }
-                               }, startNode );
+                               var     startNode = model.getNodeFromOffset( 
selection.start ),
+                                       endNode = model.getNodeFromOffset( 
selection.end );
+                               if ( startNode === endNode ) {
+                                       nodes.push( startNode );
+                               } else {
+                                       model.traverseLeafNodes( function( node 
) {
+                                               nodes.push( node );
+                                               if( node === endNode ) {
+                                                       return false;
+                                               }
+                                       }, startNode );
+                               }
                        }
-               }
 
-               if ( selection !== null ) {
                        for( var i = 0; i < _this.tools.length; i++ ) {
                                _this.tools[i].updateState( annotations, nodes 
);
                        }
+               } else {
+                       for( var i = 0; i < _this.tools.length; i++ ) {
+                               _this.tools[i].clearState();
+                       }               
                }
                
        });


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to