Skip to content

Commit

Permalink
Merge pull request #9954 from loichuder/optional-disposable
Browse files Browse the repository at this point in the history
Made disposable optional for widget extensions
  • Loading branch information
blink1073 committed Mar 18, 2021
2 parents d057c86 + 0fb6394 commit 74d26df
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
5 changes: 4 additions & 1 deletion packages/docmanager/src/widgetmanager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,10 @@ export class DocumentWidgetManager implements IDisposable {
// Handle widget extensions.
const disposables = new DisposableSet();
each(this._registry.widgetExtensions(factory.name), extender => {
disposables.add(extender.createNew(widget, context));
const disposable = extender.createNew(widget, context);
if (disposable) {
disposables.add(disposable);
}
});
Private.disposablesProperty.set(widget, disposables);
widget.disposed.connect(this._onWidgetDisposed, this);
Expand Down
6 changes: 3 additions & 3 deletions packages/docregistry/src/registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ export class DocumentRegistry implements IDisposable {
}

/**
* Dispose of the resources held by the document registery.
* Dispose of the resources held by the document registry.
*/
dispose(): void {
if (this.isDisposed) {
Expand Down Expand Up @@ -1113,7 +1113,7 @@ export namespace DocumentRegistry {
/**
* Create a new extension for a given widget.
*/
createNew(widget: T, context: IContext<U>): IDisposable;
createNew(widget: T, context: IContext<U>): IDisposable | void;
}

/**
Expand Down Expand Up @@ -1516,7 +1516,7 @@ namespace Private {
/**
* A no-op function.
*/
export function noOp() {
export function noOp(): void {
/* no-op */
}
}

0 comments on commit 74d26df

Please sign in to comment.