move responsibility for providing menu context
This commit is contained in:
@@ -1,9 +1,16 @@
|
||||
import { Observable, ReplaySubject } from 'rxjs';
|
||||
import { UmbContextProviderController } from 'src/core/context-api/provide/context-provider.controller';
|
||||
import { UmbControllerHostInterface } from 'src/core/controller/controller-host.mixin';
|
||||
|
||||
export class UmbPropertyActionMenuContext {
|
||||
|
||||
private _isOpen: ReplaySubject<boolean> = new ReplaySubject(1);
|
||||
public readonly isOpen: Observable<boolean> = this._isOpen.asObservable();
|
||||
|
||||
constructor(host: UmbControllerHostInterface) {
|
||||
new UmbContextProviderController(host, 'umbPropertyActionMenu', this);
|
||||
}
|
||||
|
||||
open() {
|
||||
this._isOpen.next(true);
|
||||
}
|
||||
|
||||
@@ -53,15 +53,13 @@ export class UmbPropertyActionMenuElement extends UmbLitElement {
|
||||
@state()
|
||||
private _open = false;
|
||||
|
||||
private _propertyActionMenuContext = new UmbPropertyActionMenuContext();
|
||||
private _propertyActionMenuContext = new UmbPropertyActionMenuContext(this);
|
||||
|
||||
connectedCallback(): void {
|
||||
super.connectedCallback();
|
||||
|
||||
this._observePropertyActions();
|
||||
this._observePropertyActionMenuOpenState();
|
||||
|
||||
this.provideContext('umbPropertyActionMenu', this._propertyActionMenuContext);
|
||||
}
|
||||
|
||||
private _observePropertyActions() {
|
||||
|
||||
Reference in New Issue
Block a user