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