This commit is contained in:
Dannon Baker
2015-01-29 16:22:59 -05:00
6 changed files with 38 additions and 14 deletions
@@ -75,13 +75,17 @@ var HistoryPanelEdit = _super.extend(
/** Override to handle history as drag-drop target */
_setUpListeners : function(){
_super.prototype._setUpListeners.call( this );
var panel = this;
_super.prototype._setUpListeners.call( panel );
this.on( 'drop', function( ev, data ){
this.dataDropped( data );
panel.on( 'drop', function( ev, data ){
panel.dataDropped( data );
// remove the drop target
this.dropTargetOff();
panel.dropTargetOff();
});
panel.on( 'view:attached view:removed', function(){
panel._renderCounts();
}, panel );
},
// ------------------------------------------------------------------------ listeners
@@ -332,7 +336,10 @@ var HistoryPanelEdit = _super.extend(
// override to control where the view is added, how/whether it's rendered
panel.views.unshift( view );
panel.$list().prepend( view.render( 0 ).$el.hide() );
view.$el.slideDown( panel.fxSpeed );
panel.trigger( 'view:attached', view );
view.$el.slideDown( panel.fxSpeed, function(){
panel.trigger( 'view:attached:rendered' );
});
},
/** In this override, add purgeAllowed and whether tags/annotation editors should be shown */
+6 -1
View File
@@ -477,7 +477,10 @@ var ListPanel = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend(
// override to control where the view is added, how/whether it's rendered
panel.views.push( view );
panel.$list().append( view.render( 0 ).$el.hide() );
view.$el.slideDown( panel.fxSpeed );
panel.trigger( 'view:attached', view );
view.$el.slideDown( panel.fxSpeed, function(){
panel.trigger( 'view:attached:rendered' );
});
},
/** Remove a view from the panel (if found) */
@@ -487,6 +490,7 @@ var ListPanel = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend(
view = panel.viewFromModel( model );
if( !view ){ return undefined; }
panel.views = _.without( panel.views, view );
panel.trigger( 'view:removed', view );
// potentially show the empty message if no views left
// use anonymous queue here - since remove can happen multiple times
@@ -494,6 +498,7 @@ var ListPanel = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend(
function( next ){ view.$el.fadeOut( panel.fxSpeed, next ); },
function( next ){
view.remove();
panel.trigger( 'view:removed:rendered' );
if( !panel.views.length ){
panel._renderEmptyMessage().fadeIn( panel.fxSpeed, next );
} else {
@@ -75,13 +75,17 @@ var HistoryPanelEdit = _super.extend(
/** Override to handle history as drag-drop target */
_setUpListeners : function(){
_super.prototype._setUpListeners.call( this );
var panel = this;
_super.prototype._setUpListeners.call( panel );
this.on( 'drop', function( ev, data ){
this.dataDropped( data );
panel.on( 'drop', function( ev, data ){
panel.dataDropped( data );
// remove the drop target
this.dropTargetOff();
panel.dropTargetOff();
});
panel.on( 'view:attached view:removed', function(){
panel._renderCounts();
}, panel );
},
// ------------------------------------------------------------------------ listeners
@@ -332,7 +336,10 @@ var HistoryPanelEdit = _super.extend(
// override to control where the view is added, how/whether it's rendered
panel.views.unshift( view );
panel.$list().prepend( view.render( 0 ).$el.hide() );
view.$el.slideDown( panel.fxSpeed );
panel.trigger( 'view:attached', view );
view.$el.slideDown( panel.fxSpeed, function(){
panel.trigger( 'view:attached:rendered' );
});
},
/** In this override, add purgeAllowed and whether tags/annotation editors should be shown */
+6 -1
View File
@@ -477,7 +477,10 @@ var ListPanel = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend(
// override to control where the view is added, how/whether it's rendered
panel.views.push( view );
panel.$list().append( view.render( 0 ).$el.hide() );
view.$el.slideDown( panel.fxSpeed );
panel.trigger( 'view:attached', view );
view.$el.slideDown( panel.fxSpeed, function(){
panel.trigger( 'view:attached:rendered' );
});
},
/** Remove a view from the panel (if found) */
@@ -487,6 +490,7 @@ var ListPanel = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend(
view = panel.viewFromModel( model );
if( !view ){ return undefined; }
panel.views = _.without( panel.views, view );
panel.trigger( 'view:removed', view );
// potentially show the empty message if no views left
// use anonymous queue here - since remove can happen multiple times
@@ -494,6 +498,7 @@ var ListPanel = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend(
function( next ){ view.$el.fadeOut( panel.fxSpeed, next ); },
function( next ){
view.remove();
panel.trigger( 'view:removed:rendered' );
if( !panel.views.length ){
panel._renderEmptyMessage().fadeIn( panel.fxSpeed, next );
} else {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long