Delete extensions nodes which have been made empty

If they have allowedEmpty=false.

Also remove unnecessary instanceof check.

Change-Id: I388202c9da5673534486b1d9d345296feeec53c3
This commit is contained in:
Ed Sanders 2014-04-25 16:13:31 -07:00
parent df31603932
commit 9beb92a102

View file

@ -122,7 +122,7 @@ ve.ui.MWExtensionInspector.prototype.teardown = function ( data ) {
surfaceModel = this.getFragment().getSurface(); surfaceModel = this.getFragment().getSurface();
if ( this.constructor.static.allowedEmpty || this.input.getValue() !== '' ) { if ( this.constructor.static.allowedEmpty || this.input.getValue() !== '' ) {
if ( this.node instanceof this.constructor.static.nodeModel ) { if ( this.node ) {
mwData = ve.copy( this.node.getAttribute( 'mw' ) ); mwData = ve.copy( this.node.getAttribute( 'mw' ) );
this.updateMwData( mwData ); this.updateMwData( mwData );
surfaceModel.change( surfaceModel.change(
@ -147,6 +147,10 @@ ve.ui.MWExtensionInspector.prototype.teardown = function ( data ) {
{ 'type': '/' + this.constructor.static.nodeModel.static.name } { 'type': '/' + this.constructor.static.nodeModel.static.name }
] ); ] );
} }
} else if ( this.node && !this.constructor.static.allowedEmpty ) {
// Content has been emptied on a node which isn't allowed to
// be empty, so delete it.
surfaceModel.getFragment().removeContent();
} }
// Parent method // Parent method