move responsibility for providing menu context

This commit is contained in:
Niels Lyngsø
2023-01-06 19:14:49 +01:00
parent d951d40720
commit e1d85df27c
2 changed files with 8 additions and 3 deletions

View File

@@ -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);
}

View File

@@ -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() {