Files
Umbraco-CMS/src/Umbraco.Web.UI.Client/libs/observable-api/observer.controller.ts
Niels Lyngsø 3dfaa27d57 comment
2023-03-16 09:22:07 +01:00

27 lines
840 B
TypeScript

import { Observable } from 'rxjs';
import { UmbObserver } from './observer';
import { UmbControllerInterface, UmbControllerHostInterface } from '@umbraco-cms/controller';
export class UmbObserverController<T = unknown> extends UmbObserver<T> implements UmbControllerInterface {
_alias?: string;
public get unique() {
return this._alias;
}
constructor(host: UmbControllerHostInterface, source: Observable<T>, callback: (_value: T) => void, alias?: string) {
super(source, callback);
this._alias = alias;
// Lets check if controller is already here:
// No we don't want this, as multiple different controllers might be looking at the same source.
/*
if (this._subscriptions.has(source)) {
const subscription = this._subscriptions.get(source);
subscription?.unsubscribe();
}
*/
host.addController(this);
}
}