http://www.mediawiki.org/wiki/Special:Code/MediaWiki/96572
Revision: 96572
Author: tparscal
Date: 2011-09-08 14:59:51 +0000 (Thu, 08 Sep 2011)
Log Message:
-----------
Moved some repetitive code into the cleanup method, renamed it recycleItemView
Modified Paths:
--------------
trunk/parsers/wikidom/lib/synth/bases/es.ViewContainer.js
Modified: trunk/parsers/wikidom/lib/synth/bases/es.ViewContainer.js
===================================================================
--- trunk/parsers/wikidom/lib/synth/bases/es.ViewContainer.js 2011-09-08
14:56:55 UTC (rev 96571)
+++ trunk/parsers/wikidom/lib/synth/bases/es.ViewContainer.js 2011-09-08
14:59:51 UTC (rev 96572)
@@ -27,29 +27,26 @@
.addClass( 'editSurface-' + typeName )
.data( typeName, this );
var container = this;
- function cleanupItemView( itemModel ) {
+ function recycleItemView( itemModel, autoCreate ) {
var itemView = container.lookupItemView( itemModel );
if ( itemView ) {
container.views.splice( container.views.indexOf(
itemView ), 1 );
itemView.$.detach();
}
+ if ( autoCreate && itemView === null ) {
+ itemView = itemModel.createView();
+ }
return itemView;
}
this.containerModel.on( 'prepend', function( itemModel ) {
- var itemView = cleanupItemView( itemModel );
- if ( itemView === null ) {
- itemView = itemModel.createView();
- }
+ var itemView = recycleItemView( itemModel, true );
container.views.unshift( itemView );
container.$.prepend( itemView.$ );
container.emit( 'prepend', itemView );
container.emit( 'update' );
} );
this.containerModel.on( 'append', function( itemModel ) {
- var itemView = cleanupItemView( itemModel );
- if ( itemView === null ) {
- itemView = itemModel.createView();
- }
+ var itemView = recycleItemView( itemModel, true );
container.views.push( itemView );
container.$.append( itemView.$ );
container.emit( 'append', itemView );
@@ -57,10 +54,7 @@
} );
this.containerModel.on( 'insertBefore', function( itemModel,
beforeModel ) {
var beforeView = container.lookupItemView( beforeModel ),
- itemView = cleanupItemView( itemModel );
- if ( itemView === null ) {
- itemView = itemModel.createView();
- }
+ itemView = recycleItemView( itemModel, true );
if ( beforeView ) {
container.views.splice( container.views.indexOf(
beforeView ), 0, itemView );
itemView.$.insertBefore( beforeView.$ );
@@ -73,10 +67,7 @@
} );
this.containerModel.on( 'insertAfter', function( itemModel, afterModel
) {
var afterView = container.lookupItemView( afterModel ),
- itemView = cleanupItemView( itemModel );
- if ( itemView === null ) {
- itemView = itemModel.createView();
- }
+ itemView = recycleItemView( itemModel, true );
if ( afterView ) {
container.views.splice( container.views.indexOf(
afterView ) + 1, 0, itemView );
itemView.$.insertAfter( afterView.$ );
@@ -88,7 +79,7 @@
container.emit( 'update' );
} );
this.containerModel.on( 'remove', function( itemModel ) {
- var itemView = cleanupItemView( itemModel );
+ var itemView = recycleItemView( itemModel );
container.emit( 'remove', itemView );
container.emit( 'update' );
} );
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs